Sha256: 31ffcb1cc704e2b124379edf3391c7f668eee51b48dde5e0348b54c2c357ac38

Contents?: true

Size: 746 Bytes

Versions: 161

Compression:

Stored size: 746 Bytes

Contents

require 'active_support/core_ext/hash/deep_merge'

module ActiveSupport
  class OptionMerger #:nodoc:
    instance_methods.each do |method|
      undef_method(method) if method !~ /^(__|instance_eval|class|object_id)/
    end

    def initialize(context, options)
      @context, @options = context, options
    end

    private
      def method_missing(method, *arguments, &block)
        if arguments.first.is_a?(Proc)
          proc = arguments.pop
          arguments << lambda { |*args| @options.deep_merge(proc.call(*args)) }
        else
          arguments << (arguments.last.respond_to?(:to_hash) ? @options.deep_merge(arguments.pop) : @options.dup)
        end

        @context.__send__(method, *arguments, &block)
      end
  end
end

Version data entries

161 entries across 153 versions & 16 rubygems

Version Path
files.com-1.0.55 docs/vendor/bundle/ruby/2.5.0/gems/activesupport-5.0.7.1/lib/active_support/option_merger.rb
activesupport-4.2.11.3 lib/active_support/option_merger.rb
activesupport-4.2.11.2 lib/active_support/option_merger.rb
cocoapods-dependency-html-0.0.2 vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/option_merger.rb
cocoapods-dependency-html-0.0.1 vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/option_merger.rb
activesupport-5.0.7.2 lib/active_support/option_merger.rb
activesupport-4.2.11.1 lib/active_support/option_merger.rb
activesupport-5.0.7.1 lib/active_support/option_merger.rb
activesupport-4.2.11 lib/active_support/option_merger.rb
activesupport-5.0.7 lib/active_support/option_merger.rb
activesupport-4.2.10 lib/active_support/option_merger.rb
activesupport-4.2.10.rc1 lib/active_support/option_merger.rb
activesupport-5.0.6 lib/active_support/option_merger.rb
activesupport-5.0.6.rc1 lib/active_support/option_merger.rb
activesupport-5.0.5 lib/active_support/option_merger.rb
activesupport-5.0.5.rc2 lib/active_support/option_merger.rb
activesupport-5.0.5.rc1 lib/active_support/option_merger.rb
tdiary-5.0.5 vendor/bundle/gems/tdiary-5.0.4/vendor/bundle/gems/activesupport-5.0.2/lib/active_support/option_merger.rb
tdiary-5.0.5 vendor/bundle/gems/activesupport-5.0.2/lib/active_support/option_merger.rb
activesupport-4.2.9 lib/active_support/option_merger.rb