Module: Sendbird::RequestHandler

Included in:
GroupChannel, User
Defined in:
lib/sendbird/request_handler.rb,
lib/sendbird/request_handler/request.rb,
lib/sendbird/request_handler/request_merger.rb

Defined Under Namespace

Modules: ClassMethods Classes: Request, RequestMerger

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



6
7
8
# File 'lib/sendbird/request_handler.rb', line 6

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

Instance Method Details

#api_classObject



27
28
29
# File 'lib/sendbird/request_handler.rb', line 27

def api_class
  self.class.instance_variable_get(:@api_class)
end

#default_argObject



23
24
25
# File 'lib/sendbird/request_handler.rb', line 23

def default_arg
  self.send(self.class.instance_variable_get(:@default_arg))
end

#merge_arguments(method, args, callback = nil) ⇒ Object



19
20
21
# File 'lib/sendbird/request_handler.rb', line 19

def merge_arguments(method, args, callback=nil)
  self.pending_requests = RequestMerger.call(pending_requests, method, args, callback)
end

#request!Object



10
11
12
13
14
15
16
17
# File 'lib/sendbird/request_handler.rb', line 10

def request!
    Request.new(pending_requests, api_class, default_arg).execute
  rescue InvalidRequest => e
    raise e
  ensure
    self.pending_requests = {}
  self
end