Module: Caliper::Request::Jsonable

Included in:
Envelope
Defined in:
lib/caliper/request/jsonable.rb

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



27
28
29
# File 'lib/caliper/request/jsonable.rb', line 27

def self.included(base)
  base.extend ClassMethods
end

Instance Method Details

#eql?(other) ⇒ Boolean

Returns:

  • (Boolean)


62
63
64
# File 'lib/caliper/request/jsonable.rb', line 62

def eql?(other)
  @sensor == other.sensor && @sendTime == other.sendTime && @data == other.data
end

#from_json(json_hash) ⇒ Object



49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/caliper/request/jsonable.rb', line 49

def from_json json_hash
  data = json_hash
  # puts "Jsonable: from_json: json_hash = #{json_hash}"
  #self.context = data['@context']
  #self.type = data['@type']
  json_hash.each do | key, value |
    next if (key[1..-1] == 'context' || key[1..-1] == 'type')
    # puts "Jsonable - adding #{key} : #{value}"
    self.instance_variable_set "@#{key}", value
  end
  return self
end

#to_json(*a) ⇒ Object



34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/caliper/request/jsonable.rb', line 34

def to_json(*a)
  # puts 'Jsonable: to_json invoked'
  result = {}
  #result['@context'] = self.context
  #result['@type'] = self.type
  self.instance_variables.each do |key|
    # puts "got key = #{key}"
    next if (key[1..-1] == 'context' || key[1..-1] == 'type')
    value = self.instance_variable_get key
    # puts "setting #{key}: #{value}"
    result[key[1..-1]] = value
  end
  result.to_json(*a)
end