Class: WEEL::ReadHash

Inherits:
Object
  • Object
show all
Defined in:
lib/weel.rb

Overview

}}}

Instance Method Summary collapse

Constructor Details

#initialize(values, sim = false) ⇒ ReadHash

{{{



243
244
245
246
# File 'lib/weel.rb', line 243

def initialize(values,sim=false)
  @__weel_values = values
  @__weel_sim = sim
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(name, *args) ⇒ Object



252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
# File 'lib/weel.rb', line 252

def method_missing(name,*args)
  if @__weel_sim
    "#{name}"
  else
    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
end

Instance Method Details

#to_json(*args) ⇒ Object



248
249
250
# File 'lib/weel.rb', line 248

def to_json(*args)
  @__weel_values.to_json(*args)
end