Class: Mixpanel::OpenFeature::Provider
- Inherits:
-
Object
- Object
- Mixpanel::OpenFeature::Provider
- Defined in:
- lib/mixpanel/openfeature/provider.rb
Instance Attribute Summary collapse
-
#metadata ⇒ Object
readonly
Returns the value of attribute metadata.
-
#mixpanel ⇒ Object
readonly
Returns the value of attribute mixpanel.
Class Method Summary collapse
- .from_local(token, config, error_handler: nil) ⇒ Object
- .from_remote(token, config, error_handler: nil) ⇒ Object
Instance Method Summary collapse
- #fetch_boolean_value(flag_key:, default_value:, evaluation_context: nil) ⇒ Object
- #fetch_float_value(flag_key:, default_value:, evaluation_context: nil) ⇒ Object
- #fetch_integer_value(flag_key:, default_value:, evaluation_context: nil) ⇒ Object
- #fetch_number_value(flag_key:, default_value:, evaluation_context: nil) ⇒ Object
- #fetch_object_value(flag_key:, default_value:, evaluation_context: nil) ⇒ Object
- #fetch_string_value(flag_key:, default_value:, evaluation_context: nil) ⇒ Object
-
#initialize(flags_provider) ⇒ Provider
constructor
A new instance of Provider.
- #shutdown ⇒ Object
Constructor Details
#initialize(flags_provider) ⇒ Provider
Returns a new instance of Provider.
27 28 29 30 |
# File 'lib/mixpanel/openfeature/provider.rb', line 27 def initialize(flags_provider) @flags_provider = flags_provider @metadata = ::OpenFeature::SDK::Provider::ProviderMetadata.new(name: 'mixpanel-provider').freeze end |
Instance Attribute Details
#metadata ⇒ Object (readonly)
Returns the value of attribute metadata.
8 9 10 |
# File 'lib/mixpanel/openfeature/provider.rb', line 8 def @metadata end |
#mixpanel ⇒ Object (readonly)
Returns the value of attribute mixpanel.
8 9 10 |
# File 'lib/mixpanel/openfeature/provider.rb', line 8 def mixpanel @mixpanel end |
Class Method Details
.from_local(token, config, error_handler: nil) ⇒ Object
10 11 12 13 14 15 16 17 |
# File 'lib/mixpanel/openfeature/provider.rb', line 10 def self.from_local(token, config, error_handler: nil) tracker = ::Mixpanel::Tracker.new(token, error_handler, local_flags_config: config) flags_provider = tracker.local_flags flags_provider.start_polling_for_definitions! provider = new(flags_provider) provider.instance_variable_set(:@mixpanel, tracker) provider end |
.from_remote(token, config, error_handler: nil) ⇒ Object
19 20 21 22 23 24 25 |
# File 'lib/mixpanel/openfeature/provider.rb', line 19 def self.from_remote(token, config, error_handler: nil) tracker = ::Mixpanel::Tracker.new(token, error_handler, remote_flags_config: config) flags_provider = tracker.remote_flags provider = new(flags_provider) provider.instance_variable_set(:@mixpanel, tracker) provider end |
Instance Method Details
#fetch_boolean_value(flag_key:, default_value:, evaluation_context: nil) ⇒ Object
36 37 38 |
# File 'lib/mixpanel/openfeature/provider.rb', line 36 def fetch_boolean_value(flag_key:, default_value:, evaluation_context: nil) resolve(flag_key, default_value, :boolean, evaluation_context) end |
#fetch_float_value(flag_key:, default_value:, evaluation_context: nil) ⇒ Object
52 53 54 |
# File 'lib/mixpanel/openfeature/provider.rb', line 52 def fetch_float_value(flag_key:, default_value:, evaluation_context: nil) resolve(flag_key, default_value, :float, evaluation_context) end |
#fetch_integer_value(flag_key:, default_value:, evaluation_context: nil) ⇒ Object
48 49 50 |
# File 'lib/mixpanel/openfeature/provider.rb', line 48 def fetch_integer_value(flag_key:, default_value:, evaluation_context: nil) resolve(flag_key, default_value, :integer, evaluation_context) end |
#fetch_number_value(flag_key:, default_value:, evaluation_context: nil) ⇒ Object
44 45 46 |
# File 'lib/mixpanel/openfeature/provider.rb', line 44 def fetch_number_value(flag_key:, default_value:, evaluation_context: nil) resolve(flag_key, default_value, :number, evaluation_context) end |
#fetch_object_value(flag_key:, default_value:, evaluation_context: nil) ⇒ Object
56 57 58 |
# File 'lib/mixpanel/openfeature/provider.rb', line 56 def fetch_object_value(flag_key:, default_value:, evaluation_context: nil) resolve(flag_key, default_value, :object, evaluation_context) end |
#fetch_string_value(flag_key:, default_value:, evaluation_context: nil) ⇒ Object
40 41 42 |
# File 'lib/mixpanel/openfeature/provider.rb', line 40 def fetch_string_value(flag_key:, default_value:, evaluation_context: nil) resolve(flag_key, default_value, :string, evaluation_context) end |
#shutdown ⇒ Object
32 33 34 |
# File 'lib/mixpanel/openfeature/provider.rb', line 32 def shutdown @flags_provider.shutdown if @flags_provider.respond_to?(:shutdown) end |