class Sumac::Message::Object::Integer

Public Class Methods

new(connection) click to toggle source
Calls superclass method Sumac::Message::new
# File lib/sumac/message/object/integer.rb, line 6
def initialize(connection)
  super
  @value = nil
end

Public Instance Methods

parse_json_structure(json_structure) click to toggle source
# File lib/sumac/message/object/integer.rb, line 11
def parse_json_structure(json_structure)
  raise MessageError unless json_structure.is_a?(::Hash) &&
    json_structure['message_type'] == 'object' &&
    json_structure['object_type'] == 'integer'
  raise MessageError unless json_structure['value'].is_a?(::Numeric)
  @value = json_structure['value'].to_i
  nil
end
parse_native_object(native_object) click to toggle source
# File lib/sumac/message/object/integer.rb, line 20
def parse_native_object(native_object)
  raise MessageError unless native_object.is_a?(::Integer)
  @value = native_object
  nil
end
to_json_structure() click to toggle source
# File lib/sumac/message/object/integer.rb, line 26
def to_json_structure
  raise MessageError unless setup?
  {'message_type' => 'object', 'object_type' => 'integer', 'value' => @value}
end
to_native_object() click to toggle source
# File lib/sumac/message/object/integer.rb, line 31
def to_native_object
  raise MessageError unless setup?
  @value
end

Private Instance Methods

setup?() click to toggle source
# File lib/sumac/message/object/integer.rb, line 38
def setup?
  @value != nil
end