Sha256: 42edeb89018aee5682c80a3d643f97a9df0c763974079c4ea5c69fa48cc7ead0

Contents?: true

Size: 700 Bytes

Versions: 117

Compression:

Stored size: 700 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

117 entries across 111 versions & 9 rubygems

Version Path
railties-6.1.6.1 lib/rails/railtie/configurable.rb
railties-6.0.5.1 lib/rails/railtie/configurable.rb
railties-6.0.5 lib/rails/railtie/configurable.rb
railties-6.1.6 lib/rails/railtie/configurable.rb
railties-7.0.3 lib/rails/railtie/configurable.rb
railties-7.0.2.4 lib/rails/railtie/configurable.rb
railties-6.1.5.1 lib/rails/railtie/configurable.rb
railties-6.0.4.8 lib/rails/railtie/configurable.rb
railties-6.1.5 lib/rails/railtie/configurable.rb
railties-7.0.2.3 lib/rails/railtie/configurable.rb
railties-6.1.4.7 lib/rails/railtie/configurable.rb
railties-6.0.4.7 lib/rails/railtie/configurable.rb
railties-7.0.2.2 lib/rails/railtie/configurable.rb
railties-6.1.4.6 lib/rails/railtie/configurable.rb
railties-6.0.4.6 lib/rails/railtie/configurable.rb
railties-6.0.4.5 lib/rails/railtie/configurable.rb
railties-6.1.4.5 lib/rails/railtie/configurable.rb
railties-7.0.2.1 lib/rails/railtie/configurable.rb
railties-7.0.2 lib/rails/railtie/configurable.rb
railties-7.0.1 lib/rails/railtie/configurable.rb