Class: Rails::Application::Configuration::Custom

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

Overview

:nodoc:

Instance Method Summary collapse

Constructor Details

#initializeCustom

Returns a new instance of Custom.



597
598
599
# File 'lib/rails/application/configuration.rb', line 597

def initialize
  @configurations = Hash.new
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method, *args) ⇒ Object



601
602
603
604
605
606
607
608
609
610
611
# File 'lib/rails/application/configuration.rb', line 601

def method_missing(method, *args)
  if method.end_with?("=")
    @configurations[:"#{method[0..-2]}"] = args.first
  elsif args.empty?
    @configurations.fetch(method) {
      @configurations[method] = ActiveSupport::OrderedOptions.new
    }
  else
    raise ArgumentError, "wrong number of arguments (given #{args.length}, expected 0) when reading configuration `#{method}`"
  end
end

Instance Method Details

#respond_to_missing?(symbol, _) ⇒ Boolean

Returns:

  • (Boolean)


613
614
615
# File 'lib/rails/application/configuration.rb', line 613

def respond_to_missing?(symbol, _)
  true
end