class WEEL::ManipulateHash

Attributes

__weel_changed[R]
__weel_touched[R]

Public Class Methods

new(values,touched,changed) click to toggle source
# File lib/weel.rb, line 202
def initialize(values,touched,changed)
  @__weel_values = values
  @__weel_touched = touched
  @__weel_changed = changed
end

Public Instance Methods

clear() click to toggle source
# File lib/weel.rb, line 215
def clear
  @__weel_changed += @__weel_values.keys
  @__weel_values.clear
end
delete(value) click to toggle source
# File lib/weel.rb, line 208
def delete(value)
  if @__weel_values.key?(value)
    @__weel_changed << value
    @__weel_values.delete(value)
  end
end
method_missing(name,*args) click to toggle source
# File lib/weel.rb, line 220
def method_missing(name,*args)
  if args.empty? && @__weel_values.key?(name)
    @__weel_touched << name
    @__weel_values[name]
  elsif name.to_s[-1..-1] == "=" && args.length == 1
    temp = name.to_s[0..-2]
    @__weel_changed << temp.to_sym
    @__weel_values[temp.to_sym] = args[0]
  elsif name.to_s == "[]=" && args.length == 2
    @__weel_changed << args[0]
    @__weel_values[args[0]] = args[1]
  elsif name.to_s == "[]" && args.length == 1
    @__weel_touched << args[0]
    @__weel_values[args[0]]
  else
    nil
  end
end