class WEEL::ReadOnlyHash

Public Class Methods

new(values) click to toggle source
# File lib/weel.rb, line 294
def initialize(values)
  @__weel_values = values.transform_values do |v|
    if Object.const_defined?(:XML) && XML.const_defined?(:Smart) && v.is_a?(XML::Smart::Dom)
      v.root.to_doc
    else
      begin
        Marshal.load(Marshal.dump(v))
      rescue
        v.to_s rescue nil
      end
    end
  end
end

Public Instance Methods

method_missing(name,*args) click to toggle source
# File lib/weel.rb, line 312
def method_missing(name,*args)
  if args.empty? && @__weel_values.key?(name)
    @__weel_values[name]
  elsif args.empty? && @__weel_values.key?(name.to_s)
    @__weel_values[name.to_s]
  elsif name.to_s[-1..-1] == "=" && args.length == 1
    temp = name.to_s[0..-2]
    @__weel_values[temp.to_sym] = args[0]
  elsif name.to_s == "[]=" && args.length == 2
    @__weel_values[args[0]] = args[1]
  elsif name.to_s == "[]" && args.length == 1
    @__weel_values[args[0]]
  else
    nil
  end
end
to_json(*args) click to toggle source
# File lib/weel.rb, line 308
def to_json(*args)
  @__weel_values.to_json(*args)
end