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.



600
601
602
# File 'lib/rails/application/configuration.rb', line 600

def initialize
  @configurations = Hash.new
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method, *args) ⇒ Object



604
605
606
607
608
609
610
611
612
613
614
# File 'lib/rails/application/configuration.rb', line 604

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)


616
617
618
# File 'lib/rails/application/configuration.rb', line 616

def respond_to_missing?(symbol, _)
  true
end