Class: ThisFeature::Adapters::Flipper

Inherits:
Base
  • Object
show all
Defined in:
lib/this_feature/adapters/flipper.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(client: nil) ⇒ Flipper

Returns a new instance of Flipper.



9
10
11
# File 'lib/this_feature/adapters/flipper.rb', line 9

def initialize(client: nil)
  @client = client || default_flipper_adapter
end

Instance Attribute Details

#clientObject (readonly)

Returns the value of attribute client.



7
8
9
# File 'lib/this_feature/adapters/flipper.rb', line 7

def client
  @client
end

Instance Method Details

#control?(flag_name, **kwargs) ⇒ Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/this_feature/adapters/flipper.rb', line 17

def control?(flag_name, **kwargs)
  !present?(flag_name)
end

#off?(flag_name, context: nil, data: {}, record: nil) ⇒ Boolean

Returns:

  • (Boolean)


25
26
27
# File 'lib/this_feature/adapters/flipper.rb', line 25

def off?(flag_name, context: nil, data: {}, record: nil)
  !on?(flag_name, context: context)
end

#on?(flag_name, context: nil, data: {}, record: nil) ⇒ Boolean

Returns:

  • (Boolean)


21
22
23
# File 'lib/this_feature/adapters/flipper.rb', line 21

def on?(flag_name, context: nil, data: {}, record: nil)
  client[flag_name].enabled?(*[context].compact)
end

#present?(flag_name) ⇒ Boolean

Returns:

  • (Boolean)


13
14
15
# File 'lib/this_feature/adapters/flipper.rb', line 13

def present?(flag_name)
  client[flag_name].exist?
end