Sha256: cd7fa3623bfc66b79107f093ab9b8a812adaf36bff83b544fa1d1dedb66da185

Contents?: true

Size: 707 Bytes

Versions: 24

Compression:

Stored size: 707 Bytes

Contents

module Mack 
  module Utils
    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)
        merge_argument_options! arguments
        @context.send(method, *arguments, &block)
      end

      def merge_argument_options!(arguments)
        arguments << if arguments.last.respond_to? :to_hash
          @options.merge(arguments.pop)
        else
          @options.dup
        end
      end
    end # OptionMerger
  end # Utils
end # Mack

Version data entries

24 entries across 24 versions & 2 rubygems

Version Path
mack-facets-0.6.0.1 lib/utils/options_merger.rb
mack-facets-0.6.1.1 lib/mack-facets/utils/options_merger.rb
mack-facets-0.6.0 lib/utils/options_merger.rb
mack-facets-0.7.0.1 lib/mack-facets/utils/options_merger.rb
mack-facets-0.7.1.1 lib/mack-facets/utils/options_merger.rb
mack-facets-0.8.0.3 lib/mack-facets/utils/options_merger.rb
mack-facets-0.6.1 lib/mack-facets/utils/options_merger.rb
mack-facets-0.6.1.2 lib/mack-facets/utils/options_merger.rb
mack-facets-0.8.0.1 lib/mack-facets/utils/options_merger.rb
mack-facets-0.7.1 lib/mack-facets/utils/options_merger.rb
mack-facets-0.7.0 lib/mack-facets/utils/options_merger.rb
mack-facets-0.8.0.2 lib/mack-facets/utils/options_merger.rb
mack-facets-0.8.0.101 lib/mack-facets/utils/options_merger.rb
mack-facets-0.8.1 lib/mack-facets/utils/options_merger.rb
mack-facets-0.8.2 lib/mack-facets/utils/options_merger.rb
mack-facets-0.8.3 lib/mack-facets/utils/options_merger.rb
mack-facets-0.8.3.1 lib/mack-facets/utils/options_merger.rb
mack-facets-0.8.0 lib/mack-facets/utils/options_merger.rb
mack_ruby_core_extensions-0.1.26 lib/utils/options_merger.rb
mack_ruby_core_extensions-0.1.24 lib/utils/options_merger.rb