class Sumac::Message::Exchange::CallRequest
Public Class Methods
new(connection)
click to toggle source
Calls superclass method
Sumac::Message::Exchange::ID::new
# File lib/sumac/message/exchange/call_request.rb, line 7 def initialize(connection) super @exposed_object = nil @child = nil @method_name = nil @arguments = nil end
Public Instance Methods
arguments()
click to toggle source
# File lib/sumac/message/exchange/call_request.rb, line 68 def arguments raise MessageError unless setup? @arguments.map(&:to_native_object) end
arguments=(new_arguments)
click to toggle source
# File lib/sumac/message/exchange/call_request.rb, line 73 def arguments=(new_arguments) raise MessageError unless new_arguments.is_a?(Array) @arguments = new_arguments.map do |native_argument| Object.from_native_object(@connection, native_argument) end end
exposed_object()
click to toggle source
# File lib/sumac/message/exchange/call_request.rb, line 45 def exposed_object raise MessageError unless setup? @exposed_object.to_native_object end
exposed_object=(new_exposed_object)
click to toggle source
# File lib/sumac/message/exchange/call_request.rb, line 50 def exposed_object=(new_exposed_object) unless new_exposed_object.is_a?(RemoteObject) || new_exposed_object.is_a?(RemoteObjectChild) || new_exposed_object.respond_to?(:__sumac_exposed_object__) raise MessageError end @exposed_object = Object.from_native_object(@connection, new_exposed_object) end
invert_orgin()
click to toggle source
# File lib/sumac/message/exchange/call_request.rb, line 80 def invert_orgin raise MessageError unless setup? @exposed_object.invert_orgin @arguments.each { |argument| argument.invert_orgin if argument.respond_to?(:invert_orgin) } nil end
method_name()
click to toggle source
# File lib/sumac/message/exchange/call_request.rb, line 58 def method_name raise MessageError unless setup? @method_name end
method_name=(new_method_name)
click to toggle source
# File lib/sumac/message/exchange/call_request.rb, line 63 def method_name=(new_method_name) raise MessageError unless new_method_name.is_a?(String) @method_name = new_method_name end
parse_json_structure(json_structure)
click to toggle source
# File lib/sumac/message/exchange/call_request.rb, line 15 def parse_json_structure(json_structure) raise MessageError unless json_structure.is_a?(Hash) && json_structure['message_type'] == 'exchange' && json_structure['exchange_type'] == 'call_request' raise MessageError unless json_structure['id'].is_a?(Integer) @id = json_structure['id'] exposed_object = Object.from_json_structure(@connection, json_structure['exposed_object']) raise MessageError unless exposed_object.is_a?(Object::Exposed) || exposed_object.is_a?(Object::ExposedChild) @exposed_object = exposed_object raise MessageError unless json_structure['method_name'].is_a?(String) @method_name = json_structure['method_name'] raise MessageError unless json_structure['arguments'].is_a?(Array) @arguments = json_structure['arguments'].map do |argument_json_structure| Object.from_json_structure(@connection, argument_json_structure) end nil end
to_json_structure()
click to toggle source
# File lib/sumac/message/exchange/call_request.rb, line 33 def to_json_structure raise unless setup? { 'message_type' => 'exchange', 'exchange_type' => 'call_request', 'id' => @id, 'exposed_object' => @exposed_object.to_json_structure, 'method_name' => @method_name, 'arguments' => @arguments.map(&:to_json_structure) } end
Private Instance Methods
setup?()
click to toggle source
Calls superclass method
Sumac::Message::Exchange::ID#setup?
# File lib/sumac/message/exchange/call_request.rb, line 89 def setup? super && @exposed_object != nil && @method_name != nil && @arguments != nil end