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