class ThisFeature::Adapters::Flipper
Attributes
client[R]
Public Class Methods
new(client: nil)
click to toggle source
# File lib/this_feature/adapters/flipper.rb, line 9 def initialize(client: nil) @client = client || default_flipper_adapter end
Public Instance Methods
control?(flag_name, **kwargs)
click to toggle source
# File lib/this_feature/adapters/flipper.rb, line 17 def control?(flag_name, **kwargs) !present?(flag_name) end
off?(flag_name, context: nil, data: {})
click to toggle source
# File lib/this_feature/adapters/flipper.rb, line 25 def off?(flag_name, context: nil, data: {}) !on?(flag_name, context: context) end
on?(flag_name, context: nil, data: {})
click to toggle source
# File lib/this_feature/adapters/flipper.rb, line 21 def on?(flag_name, context: nil, data: {}) client[flag_name].enabled?(*[context].compact) end
present?(flag_name)
click to toggle source
# File lib/this_feature/adapters/flipper.rb, line 13 def present?(flag_name) client[flag_name].exist? end
Private Instance Methods
default_flipper_adapter()
click to toggle source
# File lib/this_feature/adapters/flipper.rb, line 31 def default_flipper_adapter ::Flipper.configure do |config| config.default do adapter = ::Flipper::Adapters::ActiveRecord.new ::Flipper.new(adapter) end end ::Flipper end