Module: Fino::Library::FeatureTogglesSupport

Included in:
Fino::Library
Defined in:
lib/fino/library/feature_toggles_support.rb

Instance Method Summary collapse

Instance Method Details

#disable(setting_name, at: nil, for: nil) ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/fino/library/feature_toggles_support.rb', line 31

def disable(setting_name, at: nil, for: nil)
  setting_definition = build_setting_definition(setting_name, at: at)
  ensure_setting_is_boolean!(setting_definition)

  scope = binding.local_variable_get(:for)

  if scope
    add_override(setting_name, at: at, scope => false)
  else
    set(setting_name => false, at: at)
  end
end

#disabled?(setting_name, at: nil, **context) ⇒ Boolean

Returns:

  • (Boolean)


11
12
13
14
15
16
# File 'lib/fino/library/feature_toggles_support.rb', line 11

def disabled?(setting_name, at: nil, **context)
  setting = setting(setting_name, at: at)
  ensure_setting_is_boolean!(setting.definition)

  setting.disabled?(**context)
end

#enable(setting_name, at: nil, for: nil) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/fino/library/feature_toggles_support.rb', line 18

def enable(setting_name, at: nil, for: nil)
  setting_definition = build_setting_definition(setting_name, at: at)
  ensure_setting_is_boolean!(setting_definition)

  scope = binding.local_variable_get(:for)

  if scope
    add_override(setting_name, at: at, scope => true)
  else
    set(setting_name => true, at: at)
  end
end

#enabled?(setting_name, at: nil, **context) ⇒ Boolean

Returns:

  • (Boolean)


4
5
6
7
8
9
# File 'lib/fino/library/feature_toggles_support.rb', line 4

def enabled?(setting_name, at: nil, **context)
  setting = setting(setting_name, at: at)
  ensure_setting_is_boolean!(setting.definition)

  setting.enabled?(**context)
end