Sha256: 2269835c20d838ce1e036fb3cecf263c8ae38c126f25f07ed99ae26c7951e662

Contents?: true

Size: 701 Bytes

Versions: 67

Compression:

Stored size: 701 Bytes

Contents

# frozen_string_literal: true

require "active_support/concern"

module Rails
  class Railtie
    module Configurable
      extend ActiveSupport::Concern

      module ClassMethods
        delegate :config, to: :instance

        def inherited(base)
          raise "You cannot inherit from a #{superclass.name} child"
        end

        def instance
          @instance ||= new
        end

        def respond_to?(*args)
          super || instance.respond_to?(*args)
        end

        def configure(&block)
          class_eval(&block)
        end

        private

          def method_missing(*args, &block)
            instance.send(*args, &block)
          end
      end
    end
  end
end

Version data entries

67 entries across 59 versions & 6 rubygems

Version Path
railties-5.2.8.1 lib/rails/railtie/configurable.rb
railties-5.2.8 lib/rails/railtie/configurable.rb
railties-5.2.7.1 lib/rails/railtie/configurable.rb
railties-5.2.7 lib/rails/railtie/configurable.rb
railties-5.2.6.3 lib/rails/railtie/configurable.rb
railties-5.2.6.2 lib/rails/railtie/configurable.rb
railties-5.2.6.1 lib/rails/railtie/configurable.rb
railties-5.2.6 lib/rails/railtie/configurable.rb
railties-5.2.4.6 lib/rails/railtie/configurable.rb
railties-5.2.5 lib/rails/railtie/configurable.rb
railties-5.2.4.5 lib/rails/railtie/configurable.rb
railties-5.2.4.4 lib/rails/railtie/configurable.rb
railties-5.2.4.3 lib/rails/railtie/configurable.rb
railties-6.0.2.2 lib/rails/railtie/configurable.rb
railties-5.2.4.2 lib/rails/railtie/configurable.rb
argon-1.3.1 vendor/bundle/ruby/2.7.0/gems/railties-6.0.2.1/lib/rails/railtie/configurable.rb
symbolic_enum-1.1.5 vendor/bundle/ruby/2.7.0/gems/railties-6.0.2.1/lib/rails/railtie/configurable.rb
railties-6.0.2.1 lib/rails/railtie/configurable.rb
railties-5.2.4.1 lib/rails/railtie/configurable.rb
railties-6.0.2 lib/rails/railtie/configurable.rb