Class: StealthWebhook::Webhook

Inherits:
Object
  • Object
show all
Defined in:
lib/stealth-webhook/webhook.rb

Defined Under Namespace

Classes: StructUser

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeWebhook

Returns a new instance of Webhook.



6
7
8
# File 'lib/stealth-webhook/webhook.rb', line 6

def initialize
  @errors = {}
end

Instance Attribute Details

#errorsObject (readonly)

Returns the value of attribute errors.



3
4
5
# File 'lib/stealth-webhook/webhook.rb', line 3

def errors
  @errors
end

Instance Method Details

#deliver(recipient, message) ⇒ Object



29
30
31
32
# File 'lib/stealth-webhook/webhook.rb', line 29

def deliver(recipient, message)
  Stealth::ScheduledReplyJob.perform_in(0, 'facebook', recipient, 'webhook', 'say_notification', message)
  true
end

#send_message(params) ⇒ Object



10
11
12
13
14
15
16
17
18
# File 'lib/stealth-webhook/webhook.rb', line 10

def send_message(params)
    if validate_and_send_message(params)
       [200, { message: 'Message sent with success' }]
    else
      [@errors[:status], @errors.to_json]
    end
  rescue => e
    [500, { message: e.message }]
end

#validate_and_send_message(params) ⇒ Object



21
22
23
24
25
26
27
# File 'lib/stealth-webhook/webhook.rb', line 21

def validate_and_send_message(params)
  return unless validate(params)
  user = recipient(params)
  return unless user

  deliver(user.fb_id, params[:message])
end