Sha256: 0f7640c9727d30261548e38b4715946331ffc4e303cf20f06594ec8dc1479861

Contents?: true

Size: 1 KB

Versions: 26

Compression:

Stored size: 1 KB

Contents

require 'ostruct'

module Padrino
  ##
  # Padrino simple configuration module
  #
  module Configuration
    ##
    # Returns the configuration structure allowing to get and set it's values.
    # Padrino.config is a simple Ruby OpenStruct object with no additional magic.
    #
    # Example:
    #
    #   Padrino.config.value1 = 42
    #   exit if Padrino.config.exiting
    #
    def config
      @config ||= OpenStruct.new
    end

    ##
    # Allows to configure different environments differently. Requires a block.
    #
    # Example:
    #
    #   Padrino.configure :development do |config|
    #     config.value2 = 'only development'
    #   end
    #   Padrino.configure :development, :production do |config|
    #     config.value2 = 'both development and production'
    #   end
    #   Padrino.configure do |config|
    #     config.value2 = 'any environment'
    #   end
    #
    def configure(*environments)
      yield(config) if environments.empty? || environments.include?(Padrino.env)
    end
  end
end

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
padrino-core-0.13.3.1 lib/padrino-core/configuration.rb
padrino-core-0.13.3 lib/padrino-core/configuration.rb
padrino-core-0.13.2 lib/padrino-core/configuration.rb
padrino-core-0.13.1 lib/padrino-core/configuration.rb
padrino-core-0.13.1.beta1 lib/padrino-core/configuration.rb
padrino-core-0.13.0 lib/padrino-core/configuration.rb