class EurekaBot::Tg::Webhook

Attributes

params[R]
resolver_class[R]

Public Class Methods

new(params:, resolver_class:) click to toggle source
# File lib/eureka_bot/tg/webhook.rb, line 9
def initialize(params:, resolver_class:)
  @params         = params
  @resolver_class = resolver_class
end

Public Instance Methods

check_token(valid_token, token_path: [:token]) click to toggle source
# File lib/eureka_bot/tg/webhook.rb, line 20
def check_token(valid_token, token_path: [:token])
  token = params.dig(*token_path)
  token.to_s == valid_token.to_s
end
check_token!(valid_token, token_path: [:token]) click to toggle source
# File lib/eureka_bot/tg/webhook.rb, line 25
def check_token!(valid_token, token_path: [:token])
  check_token(valid_token, token_path: token_path) || (raise TokenVerificationFailed.new({
                                                                                             expected_token: valid_token,
                                                                                             token_path:     token_path,
                                                                                             params:         params
                                                                                         }.to_json))
end
process() click to toggle source
# File lib/eureka_bot/tg/webhook.rb, line 14
def process
  instrument 'eureka-bot.tg.webhook', params: params do
    EurekaBot::Job::Input.perform_later(resolver_class.to_s, params)
  end
end