Class: Viberroo::Callback

Inherits:
Object
  • Object
show all
Defined in:
lib/viberroo/callback.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(params) ⇒ Callback

Returns a new instance of Callback.



7
8
9
# File 'lib/viberroo/callback.rb', line 7

def initialize(params)
  @params = RecursiveOpenStruct.new params.to_h
end

Instance Attribute Details

#paramsObject (readonly)

Returns the value of attribute params.



5
6
7
# File 'lib/viberroo/callback.rb', line 5

def params
  @params
end

Instance Method Details

#user_idObject



11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/viberroo/callback.rb', line 11

def user_id
  case @params.event
  when 'conversation_started', 'subscribed'
    @params.user.id
  when 'unsubscribed', 'delivered', 'seen', 'failed'
    @params.user_id
  when 'message'
    @params.sender.id
  else
    @params.dig(:user, :id)
  end
end