class WEEL::ReadStructure
Attributes
additional[R]
Public Class Methods
new(data,endpoints,local,additional)
click to toggle source
# File lib/weel.rb, line 47 def initialize(data,endpoints,local,additional) @__weel_data = data.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 @__weel_endpoints = endpoints.transform_values{ |v| v.dup } @__weel_local = local @additional = additional end
Public Instance Methods
data()
click to toggle source
# File lib/weel.rb, line 94 def data ReadHash.new(@__weel_data) end
endpoints()
click to toggle source
# File lib/weel.rb, line 97 def endpoints ReadHash.new(@__weel_endpoints) end
local()
click to toggle source
# File lib/weel.rb, line 100 def local @__weel_local&.first end
method_missing(m,*args,&block)
click to toggle source
# File lib/weel.rb, line 72 def method_missing(m,*args,&block) if @additional.include?(m) begin tmp = Marshal.load(Marshal.dump(@additional[m])) if tmp.is_a? Hash ReadHash.new(tmp) else tmp end rescue m.to_s rescue nil end end end
to_json(*a)
click to toggle source
# File lib/weel.rb, line 64 def to_json(*a) { 'data' => @__weel_data, 'endpoints' => @__weel_endpoints, 'additional' => @additional, }.to_json(*a) end
update(d,e,s)
click to toggle source
# File lib/weel.rb, line 86 def update(d,e,s) d.each do |k,v| data.send(k+'=',v) end if d e.each do |k,v| endpoints.send(k+'=',v) end if e end