Class: Flagsmith::Config

Inherits:
Object
  • Object
show all
Defined in:
lib/flagsmith/sdk/config.rb

Overview

Config options shared around Engine

Constant Summary collapse

DEFAULT_API_URL =
'https://edge.api.flagsmith.com/api/v1/'
DEFAULT_REALTIME_API_URL =
'https://realtime.flagsmith.com/'
OPTIONS =
%i[
  environment_key api_url custom_headers request_timeout_seconds enable_local_evaluation
  environment_refresh_interval_seconds retries enable_analytics default_flag_handler
  offline_mode offline_handler polling_manager_failure_limit
  realtime_api_url enable_realtime_updates logger
].freeze

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ Config

Returns a new instance of Config.



53
54
55
56
57
# File 'lib/flagsmith/sdk/config.rb', line 53

def initialize(options)
  build_config(options)

  freeze
end

Class Method Details

.environment_keyObject



113
114
115
# File 'lib/flagsmith/sdk/config.rb', line 113

def environment_key
  ENV.fetch('FLAGSMITH_ENVIRONMENT_KEY', nil)
end

Instance Method Details

#enable_analytics?Boolean

Returns:

  • (Boolean)


63
64
65
# File 'lib/flagsmith/sdk/config.rb', line 63

def enable_analytics?
  @enable_analytics
end

#environment_flags_urlObject



75
76
77
# File 'lib/flagsmith/sdk/config.rb', line 75

def environment_flags_url
  'flags/'
end

#environment_urlObject



83
84
85
# File 'lib/flagsmith/sdk/config.rb', line 83

def environment_url
  'environment-document/'
end

#identities_urlObject



79
80
81
# File 'lib/flagsmith/sdk/config.rb', line 79

def identities_url
  'identities/'
end

#local_evaluation?Boolean

Returns:

  • (Boolean)


59
60
61
# File 'lib/flagsmith/sdk/config.rb', line 59

def local_evaluation?
  @enable_local_evaluation
end

#offline_mode?Boolean

Returns:

  • (Boolean)


67
68
69
# File 'lib/flagsmith/sdk/config.rb', line 67

def offline_mode?
  @offline_mode
end

#realtime_mode?Boolean

Returns:

  • (Boolean)


71
72
73
# File 'lib/flagsmith/sdk/config.rb', line 71

def realtime_mode?
  @enable_realtime_updates
end