Class: AbstractFeatureBranch::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/abstract_feature_branch/configuration.rb

Instance Method Summary collapse

Instance Method Details

#application_environmentObject



14
15
16
# File 'lib/abstract_feature_branch/configuration.rb', line 14

def application_environment
  @application_environment ||= initialize_application_environment
end

#application_environment=(environment) ⇒ Object



17
18
19
# File 'lib/abstract_feature_branch/configuration.rb', line 17

def application_environment=(environment)
  @application_environment = environment
end

#application_rootObject



5
6
7
# File 'lib/abstract_feature_branch/configuration.rb', line 5

def application_root
  @application_root ||= initialize_application_root
end

#application_root=(path) ⇒ Object



8
9
10
# File 'lib/abstract_feature_branch/configuration.rb', line 8

def application_root=(path)
  @application_root = path
end

#cacheableObject



32
33
34
# File 'lib/abstract_feature_branch/configuration.rb', line 32

def cacheable
  @cacheable ||= initialize_cacheable
end

#cacheable=(cacheable) ⇒ Object



35
36
37
# File 'lib/abstract_feature_branch/configuration.rb', line 35

def cacheable=(cacheable)
  @cacheable = cacheable
end

#feature_storeObject Also known as: user_features_storage



47
48
49
# File 'lib/abstract_feature_branch/configuration.rb', line 47

def feature_store
  @feature_store
end

#feature_store=(feature_store) ⇒ Object Also known as: user_features_storage=



52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/abstract_feature_branch/configuration.rb', line 52

def feature_store=(feature_store)
  if feature_store.nil?
    @feature_store = nil
  else
    begin
      @feature_store = feature_store.is_a?(::ConnectionPool) ? AbstractFeatureBranch::Redis::ConnectionPoolToRedisAdapter.new(feature_store) : feature_store
    rescue NameError => e
      logger.debug { "connection_pool gem is not available" }
      @feature_store = feature_store
    end
  end
end

#feature_store_live_fetchingObject Also known as: feature_store_live_fetching?



66
67
68
69
# File 'lib/abstract_feature_branch/configuration.rb', line 66

def feature_store_live_fetching
  initialize_feature_store_live_fetching if @feature_store_live_fetching.nil?
  @feature_store_live_fetching
end

#feature_store_live_fetching=(value) ⇒ Object



72
73
74
# File 'lib/abstract_feature_branch/configuration.rb', line 72

def feature_store_live_fetching=(value)
  @feature_store_live_fetching = value
end

#initialize_application_environmentObject



20
21
22
# File 'lib/abstract_feature_branch/configuration.rb', line 20

def initialize_application_environment
  self.application_environment = defined?(Rails) ? Rails.env.to_s : ENV['APP_ENV'] || 'development'
end

#initialize_application_rootObject



11
12
13
# File 'lib/abstract_feature_branch/configuration.rb', line 11

def initialize_application_root
  self.application_root = defined?(Rails) ? Rails.root : '.'
end

#initialize_cacheableObject



38
39
40
41
42
43
44
45
# File 'lib/abstract_feature_branch/configuration.rb', line 38

def initialize_cacheable
  self.cacheable = {
    :development => false,
    :test => true,
    :staging => true,
    :production => true
  }
end

#initialize_feature_store_live_fetchingObject



76
77
78
# File 'lib/abstract_feature_branch/configuration.rb', line 76

def initialize_feature_store_live_fetching
  @feature_store_live_fetching = false
end

#initialize_loggerObject



29
30
31
# File 'lib/abstract_feature_branch/configuration.rb', line 29

def initialize_logger
  self.logger = defined?(Rails) && Rails.logger ? Rails.logger : Logger.new(STDOUT)
end

#loggerObject



23
24
25
# File 'lib/abstract_feature_branch/configuration.rb', line 23

def logger
  @logger ||= initialize_logger
end

#logger=(logger) ⇒ Object



26
27
28
# File 'lib/abstract_feature_branch/configuration.rb', line 26

def logger=(logger)
  @logger = logger
end