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 ||= initialize_feature_store
end

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



52
53
54
55
56
57
58
# File 'lib/abstract_feature_branch/configuration.rb', line 52

def feature_store=(feature_store)
  if feature_store.nil?
    @feature_store = nil
  else
    @feature_store = feature_store.is_a?(::ConnectionPool) ? AbstractFeatureBranch::Redis::ConnectionPoolToRedisAdapter.new(feature_store) : feature_store
  end
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_storeObject Also known as: initialize_user_features_storage



61
62
63
64
65
66
67
# File 'lib/abstract_feature_branch/configuration.rb', line 61

def initialize_feature_store
  self.feature_store = ::Redis.new
rescue => e
  logger.debug { "Redis is not enabled!" }
  logger.debug { e.full_message }
  nil
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