Method: Featureflow::Client#initialize
- Defined in:
- lib/featureflow/client.rb
#initialize(configuration = nil) ⇒ Client
Returns a new instance of Client.
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/featureflow/client.rb', line 7 def initialize(configuration = nil) @configuration = configuration || Featureflow.configuration @configuration.validate! @features = {} Featureflow.logger.info 'initializing client' @failover_variants = {} @configuration.with_features.each do |feature| Featureflow.logger.info "Registering feature with key #{feature[:key]}" failover = feature[:failover_variant]; @failover_variants[feature[:key]] = failover if failover.is_a?(String) && !failover.empty? end unless @configuration.disable_events @events_client = EventsClient.new @configuration.event_endpoint, @configuration.api_key @events_client.register_features @configuration.with_features end reload Featureflow.logger.info 'client initialized' end |