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