Class: Hash

Inherits:
Object
  • Object
show all
Defined in:
lib/hash_plus.rb

Instance Method Summary collapse

Instance Method Details

#missing(*cols) ⇒ Object



4
# File 'lib/hash_plus.rb', line 4

def missing(*cols);  missing_fields(cols);  end

#missing_fields(*cols) ⇒ Object

Return the missing columns



15
16
17
# File 'lib/hash_plus.rb', line 15

def missing_fields(*cols)
  cols.select { |required_key| self[required_key].nil? }
end

#requires(*cols) ⇒ Object

Short hand methods



3
# File 'lib/hash_plus.rb', line 3

def requires(*cols); requires_fields(cols); end

#requires_fields(*cols) ⇒ Object

Raise an ArgumentError if there are missing columns



7
8
9
10
11
12
# File 'lib/hash_plus.rb', line 7

def requires_fields(*cols)
  missing = missing_fields(cols)
  unless missing.empty?
    raise ArgumentError, "Missing value for keys=#{missing.join(',')} in opts=#{self.inspect}" 
  end
end