Sha256: ac64672c2b79afe0e7b96f5548d4d3cc4a37342aff2d88829c4384d1db8d64a7

Contents?: true

Size: 1.44 KB

Versions: 10

Compression:

Stored size: 1.44 KB

Contents

require 'singleton'
require 'rails_base/configuration/active_job'
require 'rails_base/configuration/admin'
require 'rails_base/configuration/app'
require 'rails_base/configuration/appearance'
require 'rails_base/configuration/authentication'
require 'rails_base/configuration/exceptions_app'
require 'rails_base/configuration/login_behavior'
require 'rails_base/configuration/mailer'
require 'rails_base/configuration/mfa'
require 'rails_base/configuration/owner'
require 'rails_base/configuration/redis'
require 'rails_base/configuration/templates'
require 'rails_base/configuration/user'

module RailsBase
  class Config
    include Singleton

    VARIABLES = {
      admin: nil,
      mfa: nil,
      auth: :authentication,
      redis: nil,
      owner: nil,
      mailer: nil,
      exceptions_app: nil,
      app: nil,
      appearance: nil,
      user: nil,
      active_job: nil,
      login_behavior: nil,
      templates: nil,
    }
    attr_reader *VARIABLES.keys

    def initialize
      VARIABLES.each do |variable, override|
        klass_name = (override || variable).to_s.camelize
        klass = "RailsBase::Configuration::#{klass_name}".constantize
        instance_variable_set(:"@#{variable}", klass.new)
      end
    end

    def validate_configs!
      VARIABLES.keys.each do |var|
        send(var).validate!
      end
    end

    def reset_config!
      VARIABLES.keys.each do |var|
        send(var).assign_default_values!
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
rails_base-0.75.6 lib/rails_base/config.rb
rails_base-0.75.5 lib/rails_base/config.rb
rails_base-0.75.4 lib/rails_base/config.rb
rails_base-0.75.3 lib/rails_base/config.rb
rails_base-0.75.2 lib/rails_base/config.rb
rails_base-0.75.1 lib/rails_base/config.rb
rails_base-0.75.0 lib/rails_base/config.rb
rails_base-0.74.0 lib/rails_base/config.rb
rails_base-0.73.1 lib/rails_base/config.rb
rails_base-0.73.0 lib/rails_base/config.rb