Sha256: afd497f1b24baba4bc167eb083e9a3a08301f9994d14780d107efc429e7654b5

Contents?: true

Size: 712 Bytes

Versions: 25

Compression:

Stored size: 712 Bytes

Contents

class Hash

  # Allows for reverse merging where its the keys in the
  # calling hash that wins over those in the <tt>other_hash</tt>.
  # This is particularly useful for initializing an incoming
  # option hash with default values:
  #
  #   def setup(options = {})
  #     options.reverse_merge! :size => 25, :velocity => 10
  #   end
  #
  # The default :size and :velocity is only set if the +options+
  # passed in doesn't already have those keys set.

  def reverse_merge(other)
    other.merge(self)
  end

  # Inplace form of #reverse_merge.

  def reverse_merge!(other)
    replace(reverse_merge(other))
  end

  # Obvious alias for reverse_merge!

  alias_method :reverse_update, :reverse_merge!

end

Version data entries

25 entries across 24 versions & 3 rubygems

Version Path
facets-glimmer-3.2.0 lib/core/facets/hash/reverse_merge.rb
facets-3.1.0 lib/core/facets/hash/reverse_merge.rb
facets-3.0.0 lib/core/facets/hash/reverse_merge.rb
facets-2.9.3 lib/core/facets/hash/reverse_merge.rb
facets-2.9.2 src/core/facets/hash/reverse_merge.rb
facets-2.9.2 lib/core/facets/hash/reverse_merge.rb
facets-2.9.1 lib/core/facets/hash/reverse_merge.rb
facets-2.9.0 lib/core/facets/hash/reverse_merge.rb
facets-2.9.0.pre.2 lib/core/facets/hash/reverse_merge.rb
facets-2.9.0.pre.1 lib/core/facets/hash/reverse_merge.rb
facets-2.8.4 lib/core/facets/hash/merge.rb
facets-2.8.3 lib/core/facets/hash/merge.rb
facets-2.8.2 lib/core/facets/hash/merge.rb
facets-2.8.1 lib/core/facets/hash/merge.rb
facets-2.8.0 lib/core/facets/hash/merge.rb
facets-2.7.0 lib/core/facets/hash/merge.rb
facets-2.6.0 lib/core/facets/hash/merge.rb
facets-2.4.4 lib/core/facets/hash/merge.rb
facets-2.4.3 lib/core/facets/hash/merge.rb
facets-2.4.2 lib/core/facets/hash/merge.rb