Class: LaunchDarkly::DataSystem::ConfigBuilder
- Inherits:
-
Object
- Object
- LaunchDarkly::DataSystem::ConfigBuilder
- Defined in:
- lib/ldclient-rb/data_system.rb
Overview
Builder for the data system configuration.
Instance Method Summary collapse
-
#build ⇒ DataSystemConfig
Builds the data system configuration.
-
#data_store(data_store, store_mode) ⇒ ConfigBuilder
Sets the data store configuration for the data system.
-
#fdv1_compatible_synchronizer(fallback) ⇒ ConfigBuilder
Configures the SDK with a fallback synchronizer that is compatible with the Flag Delivery v1 API.
-
#initialize ⇒ ConfigBuilder
constructor
A new instance of ConfigBuilder.
-
#initializers(initializers) ⇒ ConfigBuilder
Sets the initializers for the data system.
-
#synchronizers(primary, secondary = nil) ⇒ ConfigBuilder
Sets the synchronizers for the data system.
Constructor Details
#initialize ⇒ ConfigBuilder
Returns a new instance of ConfigBuilder.
18 19 20 21 22 23 24 25 |
# File 'lib/ldclient-rb/data_system.rb', line 18 def initialize @initializers = nil @primary_synchronizer = nil @secondary_synchronizer = nil @fdv1_fallback_synchronizer = nil @data_store_mode = LaunchDarkly::Interfaces::DataSystem::DataStoreMode::READ_ONLY @data_store = nil end |
Instance Method Details
#build ⇒ DataSystemConfig
Builds the data system configuration.
85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
# File 'lib/ldclient-rb/data_system.rb', line 85 def build if @secondary_synchronizer && @primary_synchronizer.nil? raise ArgumentError, "Primary synchronizer must be set if secondary is set" end DataSystemConfig.new( initializers: @initializers, primary_synchronizer: @primary_synchronizer, secondary_synchronizer: @secondary_synchronizer, data_store_mode: @data_store_mode, data_store: @data_store, fdv1_fallback_synchronizer: @fdv1_fallback_synchronizer ) end |
#data_store(data_store, store_mode) ⇒ ConfigBuilder
Sets the data store configuration for the data system.
73 74 75 76 77 |
# File 'lib/ldclient-rb/data_system.rb', line 73 def data_store(data_store, store_mode) @data_store = data_store @data_store_mode = store_mode self end |
#fdv1_compatible_synchronizer(fallback) ⇒ ConfigBuilder
Configures the SDK with a fallback synchronizer that is compatible with the Flag Delivery v1 API.
61 62 63 64 |
# File 'lib/ldclient-rb/data_system.rb', line 61 def fdv1_compatible_synchronizer(fallback) @fdv1_fallback_synchronizer = fallback self end |
#initializers(initializers) ⇒ ConfigBuilder
Sets the initializers for the data system.
34 35 36 37 |
# File 'lib/ldclient-rb/data_system.rb', line 34 def initializers(initializers) @initializers = initializers self end |
#synchronizers(primary, secondary = nil) ⇒ ConfigBuilder
Sets the synchronizers for the data system.
47 48 49 50 51 |
# File 'lib/ldclient-rb/data_system.rb', line 47 def synchronizers(primary, secondary = nil) @primary_synchronizer = primary @secondary_synchronizer = secondary self end |