Class: ThisFeature::Adapters::SplitIo
- Defined in:
- lib/this_feature/adapters/split_io.rb
Constant Summary collapse
- UNDEFINED_KEY =
used as treatment key when none is given, it’s required by split
'undefined_key'
Instance Method Summary collapse
- #control?(flag_name, context: UNDEFINED_KEY, data: {}) ⇒ Boolean
-
#initialize(client: nil, context_key_method: nil) ⇒ SplitIo
constructor
A new instance of SplitIo.
- #off?(flag_name, context: UNDEFINED_KEY, data: {}) ⇒ Boolean
- #on?(flag_name, context: UNDEFINED_KEY, data: {}) ⇒ Boolean
- #present?(flag_name) ⇒ Boolean
Constructor Details
#initialize(client: nil, context_key_method: nil) ⇒ SplitIo
Returns a new instance of SplitIo.
9 10 11 12 13 14 |
# File 'lib/this_feature/adapters/split_io.rb', line 9 def initialize(client: nil, context_key_method: nil) @client = client || default_split_client @context_key_method = context_key_method @client.block_until_ready end |
Instance Method Details
#control?(flag_name, context: UNDEFINED_KEY, data: {}) ⇒ Boolean
20 21 22 |
# File 'lib/this_feature/adapters/split_io.rb', line 20 def control?(flag_name, context: UNDEFINED_KEY, data: {}) treatment(flag_name, context: context, data: data).include?('control') end |
#off?(flag_name, context: UNDEFINED_KEY, data: {}) ⇒ Boolean
28 29 30 |
# File 'lib/this_feature/adapters/split_io.rb', line 28 def off?(flag_name, context: UNDEFINED_KEY, data: {}) treatment(flag_name, context: context, data: data).eql?('off') end |
#on?(flag_name, context: UNDEFINED_KEY, data: {}) ⇒ Boolean
24 25 26 |
# File 'lib/this_feature/adapters/split_io.rb', line 24 def on?(flag_name, context: UNDEFINED_KEY, data: {}) treatment(flag_name, context: context, data: data).eql?('on') end |
#present?(flag_name) ⇒ Boolean
16 17 18 |
# File 'lib/this_feature/adapters/split_io.rb', line 16 def present?(flag_name) !control?(flag_name) end |