Module: Appfuel::Application::FeatureHelper

Included in:
Validation
Defined in:
lib/appfuel/application/feature_helper.rb

Instance Method Summary collapse

Instance Method Details

#extract_feature_name(key) ⇒ Object



21
22
23
24
25
# File 'lib/appfuel/application/feature_helper.rb', line 21

def extract_feature_name(key)
  return key unless key.include?('.')
  parts = key.split('.')
  parts[0] == 'features' ? parts[1] : parts[0]
end

#feature_initialized?(key) ⇒ Boolean

Returns:

  • (Boolean)


4
5
6
7
8
9
10
11
# File 'lib/appfuel/application/feature_helper.rb', line 4

def feature_initialized?(key)
  key       = extract_feature_name(key)
  flag_key  = "#{key}.initialized"
  container = Appfuel.app_container
  return false unless container.key?(flag_key)

  container[flag_key] == true
end

#initialize_feature(key) ⇒ Object



13
14
15
16
17
18
19
# File 'lib/appfuel/application/feature_helper.rb', line 13

def initialize_feature(key)
  key = extract_feature_name(key)
  container = Appfuel.app_container

  initializer = container[:feature_initializer]
  initializer.call(key, container)
end