Module: HashEnhancement

Defined in:
lib/subelsky_enhancements/hash.rb

Overview

Slightly modified from

* https://wincent.com/wiki/Fixtures_considered_harmful%3F

By way of Topfunky’s Peepcode Rspec screencasts

Instance Method Summary collapse

Instance Method Details

#except(*keys) ⇒ Object

Filter keys out of a Hash.

{ :a => 1, :b => 2, :c => 3 }.except(:a)
=> { :b => 2, :c => 3 }


12
13
14
# File 'lib/subelsky_enhancements/hash.rb', line 12

def except(*keys)
  self.reject { |k,v| keys.flatten.include?(k || k.to_sym) }
end

#only(*keys) ⇒ Object

Returns a Hash with only the pairs identified by keys.

{ :a => 1, :b => 2, :c => 3 }.only(:a)
=> { :a => 1 }


21
22
23
# File 'lib/subelsky_enhancements/hash.rb', line 21

def only(*keys)
  self.reject { |k,v| !keys.include?(k || k.to_sym) }
end