class Sumac::Message::Object::Array

Public Class Methods

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

Public Instance Methods

invert_orgin() click to toggle source
# File lib/sumac/message/object/array.rb, line 42
def invert_orgin
  raise MessageError unless setup?
  @elements.each { |element| element.invert_orgin if element.respond_to?(:invert_orgin) }
  nil
end
parse_json_structure(json_structure) click to toggle source
# File lib/sumac/message/object/array.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'] == 'array'
  raise MessageError unless json_structure['elements'].is_a?(::Array)
  @elements = json_structure['elements'].map do |element|
    Object.from_json_structure(@connection, element)
  end
  nil
end
parse_native_object(native_object) click to toggle source
# File lib/sumac/message/object/array.rb, line 22
def parse_native_object(native_object)
  raise MessageError unless native_object.is_a?(::Array)
  @elements = native_object.map { |element| Object.from_native_object(@connection, element) }
  nil
end
to_json_structure() click to toggle source
# File lib/sumac/message/object/array.rb, line 28
def to_json_structure
  raise MessageError unless setup?
  {
    'message_type' => 'object',
    'object_type' => 'array',
    'elements' => @elements.map(&:to_json_structure)
  }
end
to_native_object() click to toggle source
# File lib/sumac/message/object/array.rb, line 37
def to_native_object
  raise MessageError unless setup?
  @elements.map(&:to_native_object)
end

Private Instance Methods

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