class Trustly::Data
Attributes
payload[RW]
Public Class Methods
new()
click to toggle source
# File lib/trustly/data.rb, line 5 def initialize self.payload = {} end
Public Instance Methods
get(name=nil)
click to toggle source
# File lib/trustly/data.rb, line 35 def get(name=nil) return name.nil? ? self.payload.dup : self.payload.try(:[],name) end
get_from(sub,name)
click to toggle source
# File lib/trustly/data.rb, line 39 def get_from(sub,name) return nil if sub.nil? || name.nil? || self.payload.try(:[],sub).nil? || self.payload[sub].try(:[],name).nil? return self.payload[sub][name] end
json()
click to toggle source
# File lib/trustly/data.rb, line 61 def json() self.payload.to_json end
pop(name)
click to toggle source
# File lib/trustly/data.rb, line 55 def pop(name) v = self.payload.try(:[],name) delete self.payload[name] unless v.nil? return v end
set(name,value)
click to toggle source
# File lib/trustly/data.rb, line 44 def set(name,value) self.payload[name] = value return value end
set_in(sub,name,value,parent=nil)
click to toggle source
# File lib/trustly/data.rb, line 49 def set_in(sub,name,value,parent=nil) return nil if sub.nil? || name.nil? self.payload[sub] = {} if self.payload.try(:[],sub).nil? self.payload[sub][name] = value end
vacumm(data)
click to toggle source
Vacuum out all keys being set to Nil in the data to be communicated
# File lib/trustly/data.rb, line 9 def vacumm(data) if data.is_a? Array ret = [] data.each do |elem| unless elem.nil? v = self.vacumm elem ret.append(v) unless v.nil? end end return nil if ret.length == 0 return ret elsif data.is_a? Hash ret = {} data.each do |key,elem| unless elem.nil? v = self.vacumm elem ret[key.to_s] = elem unless v.nil? end end return nil if ret.length == 0 return ret else return data end end