Class: CfClient
- Includes:
- Singleton
- Defined in:
- lib/ff/ruby/server/sdk/api/cf_client.rb
Constant Summary collapse
- @@instance_mutex =
Mutex.new
Instance Method Summary collapse
- #bool_variation(identifier, target, default_value) ⇒ Object
- #close ⇒ Object
- #destroy ⇒ Object
- #init(api_key, config, connector = nil) ⇒ Object
- #initialized ⇒ Object
- #json_variation(identifier, target, default_value) ⇒ Object
- #number_variation(identifier, target, default_value) ⇒ Object
- #string_variation(identifier, target, default_value) ⇒ Object
- #wait_for_initialization(timeout_ms: nil) ⇒ Object
Instance Method Details
#bool_variation(identifier, target, default_value) ⇒ Object
30 31 32 33 |
# File 'lib/ff/ruby/server/sdk/api/cf_client.rb', line 30 def bool_variation(identifier, target, default_value) @client.bool_variation(identifier, target, default_value) end |
#close ⇒ Object
59 60 61 62 63 64 65 |
# File 'lib/ff/ruby/server/sdk/api/cf_client.rb', line 59 def close if @client != nil @client.close end end |
#destroy ⇒ Object
54 55 56 57 |
# File 'lib/ff/ruby/server/sdk/api/cf_client.rb', line 54 def destroy close end |
#init(api_key, config, connector = nil) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/ff/ruby/server/sdk/api/cf_client.rb', line 10 def init(api_key, config, connector = nil) # Only initialize if @client is nil to avoid reinitialization @@instance_mutex.synchronize do unless @client @config = config || ConfigBuilder.new.build @client = InnerClient.new(api_key, @config, connector) @config.logger.debug "Client initialized with API key: #{api_key}" end end @client end |
#initialized ⇒ Object
50 51 52 |
# File 'lib/ff/ruby/server/sdk/api/cf_client.rb', line 50 def initialized @client.initialized end |
#json_variation(identifier, target, default_value) ⇒ Object
45 46 47 48 |
# File 'lib/ff/ruby/server/sdk/api/cf_client.rb', line 45 def json_variation(identifier, target, default_value) @client.json_variation(identifier, target, default_value) end |
#number_variation(identifier, target, default_value) ⇒ Object
40 41 42 43 |
# File 'lib/ff/ruby/server/sdk/api/cf_client.rb', line 40 def number_variation(identifier, target, default_value) @client.number_variation(identifier, target, default_value) end |
#string_variation(identifier, target, default_value) ⇒ Object
35 36 37 38 |
# File 'lib/ff/ruby/server/sdk/api/cf_client.rb', line 35 def string_variation(identifier, target, default_value) @client.string_variation(identifier, target, default_value) end |
#wait_for_initialization(timeout_ms: nil) ⇒ Object
24 25 26 27 28 |
# File 'lib/ff/ruby/server/sdk/api/cf_client.rb', line 24 def wait_for_initialization(timeout_ms: nil) if @client != nil @client.wait_for_initialization(timeout: timeout_ms) end end |