class Hash
Public Class Methods
zip(keys, values, default=nil, &block)
click to toggle source
# File lib/ignition/core/hash.rb, line 40 def self.zip(keys, values, default=nil, &block) hsh = block_given? ? Hash.new(&block) : Hash.new(default) keys.zip(values) { |k,v| hsh[k]=v } hsh end
Public Instance Methods
except(*keys)
click to toggle source
def empty?
(count == 0)
end
# File lib/ignition/core/hash.rb, line 65 def except(*keys) dup.except!(*keys) end
except!(*keys)
click to toggle source
Replaces the hash without the given keys.
# File lib/ignition/core/hash.rb, line 70 def except!(*keys) keys.each { |key| delete(key) } self end
method_missing(key,value = nil)
click to toggle source
def accessed
@accessed.uniq
end
Calls superclass method
# File lib/ignition/core/hash.rb, line 14 def method_missing(key,value = nil) # puts "method_missing" # puts key # puts value if self.has_key?(key) self[key] elsif self.has_key?(key.to_s) # if @record_access # puts "here #{key.to_s }" # puts @accessed.nil? # @accessed << key.to_s # end self[key.to_s] elsif key.to_s.include?("=") self[key.to_s.gsub("=","")] = value else super end end
remove_empty()
click to toggle source
# File lib/ignition/core/hash.rb, line 34 def remove_empty delete_if do |k, v| v.nil? end end