Sha256: 9e255e30058fcec189208359baaca3f740ff7ba64af4c3b52570b4f105791778

Contents?: true

Size: 1.54 KB

Versions: 1

Compression:

Stored size: 1.54 KB

Contents

module AbstractFeatureBranch
  class Configuration
    def application_root
      @application_root ||= initialize_application_root
    end
    def application_root=(path)
      @application_root = path
    end
    def initialize_application_root
      self.application_root = defined?(Rails) ? Rails.root : '.'
    end
    def application_environment
      @application_environment ||= initialize_application_environment
    end
    def application_environment=(environment)
      @application_environment = environment
    end
    def initialize_application_environment
      self.application_environment = defined?(Rails) ? Rails.env.to_s : ENV['APP_ENV'] || 'development'
    end
    def logger
      @logger ||= initialize_logger
    end
    def logger=(logger)
      @logger = logger
    end
    def initialize_logger
      self.logger = defined?(Rails) && Rails.logger ? Rails.logger : Logger.new(STDOUT)
    end
    def cacheable
      @cacheable ||= initialize_cacheable
    end
    def cacheable=(cacheable)
      @cacheable = cacheable
    end
    def initialize_cacheable
      self.cacheable = {
        :development => false,
        :test => true,
        :staging => true,
        :production => true
      }
    end
    def user_features_storage
      @user_features_storage ||= initialize_user_features_storage
    end
    def user_features_storage=(user_features_storage)
      @user_features_storage = user_features_storage
    end
    def initialize_user_features_storage
      require 'redis'
      self.user_features_storage = Redis.new
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
abstract_feature_branch-1.2.2 lib/abstract_feature_branch/configuration.rb