class Ribbon::Intercom::Client::SDK
Attributes
adapter[R]
Public Class Methods
new(*args)
click to toggle source
# File lib/ribbon/intercom/client/sdk.rb, line 12 def initialize(*args) case args.first when Adapters::Adapter self.adapter = args.first else self.adapter = Adapters::HttpAdapter.new(*args) end end
Public Instance Methods
begin()
click to toggle source
# File lib/ribbon/intercom/client/sdk.rb, line 21 def begin Utils::MethodChain.begin { |methods| queue = Packet::MethodQueue.new methods.each { |meth, *args| queue.enqueue(meth, *args) } send_packet(method_queue: queue).retval } end
call(method_name, *args)
click to toggle source
Calls the method on the adapter returning the response Packet
# File lib/ribbon/intercom/client/sdk.rb, line 46 def call(method_name, *args) send_packet( method_queue: Packet::MethodQueue.new.enqueue(method_name, *args) ) end
connect(*args)
click to toggle source
# File lib/ribbon/intercom/client/sdk.rb, line 36 def connect(*args) adapter.connect(*args) end
connected?()
click to toggle source
# File lib/ribbon/intercom/client/sdk.rb, line 40 def connected? adapter.connected? end
dup()
click to toggle source
Calls superclass method
# File lib/ribbon/intercom/client/sdk.rb, line 60 def dup super.tap { |sdk| sdk.adapter = adapter.dup } end
headers(new_headers={})
click to toggle source
Returns the headers defined for this SDK
. Optionally, you may also define additional headers you’d like to add/override.
# File lib/ribbon/intercom/client/sdk.rb, line 32 def headers(new_headers={}) adapter.headers(new_headers) end
Protected Instance Methods
adapter=(adapter)
click to toggle source
# File lib/ribbon/intercom/client/sdk.rb, line 68 def adapter=(adapter) @adapter = adapter end
Private Instance Methods
_handle_response_error(packet)
click to toggle source
Raises an error depending on what went wrong.
# File lib/ribbon/intercom/client/sdk.rb, line 93 def _handle_response_error(packet) raise 'packet contains no error' unless packet.error? raise packet.error end
_process_response(packet)
click to toggle source
Process a Packet
object returned by Adapter#send_packet.
# File lib/ribbon/intercom/client/sdk.rb, line 84 def _process_response(packet) _handle_response_error(packet) if packet.error? Package.init_packages(packet.retval, self) packet end
method_missing(meth, *args, &block)
click to toggle source
Simulates calling the remote method as if it were a local method.
Intended to be called by end-users.
# File lib/ribbon/intercom/client/sdk.rb, line 78 def method_missing(meth, *args, &block) call(meth, *args).retval end