Module: Featuring::Delegatable

Defined in:
lib/featuring/delegatable.rb

Overview

Internal concerns related to delegating feature flag checks to parent context, like this:

module Features
extend Featuring::Declarable

feature :some_enabled_feature do |value|
  value == internal_value
end

def internal_value
  true
end

module_function :internal_value
end

Defined Under Namespace

Modules: ClassMethods, InstanceMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.extended(object) ⇒ Object



23
24
25
26
27
# File 'lib/featuring/delegatable.rb', line 23

def self.extended(object)
  super

  object.extend ClassMethods
end

.included(object) ⇒ Object



29
30
31
32
33
34
# File 'lib/featuring/delegatable.rb', line 29

def self.included(object)
  super

  object.extend ClassMethods
  object.include InstanceMethods
end

Instance Method Details

#fetch_feature_flag_value(name, *args) ⇒ Object



46
47
48
# File 'lib/featuring/delegatable.rb', line 46

def fetch_feature_flag_value(name, *args)
  !!internal_feature_delegator.public_send(name, *args)
end