Module: Bakong::Khqr::Helpers::DeepLink

Defined in:
lib/bakong/khqr/helpers/deep_link.rb

Overview

Validates and calls the Bakong Open API deep-link generation endpoint.

Constant Summary collapse

EXPECTED_PATH =
"/v1/generate_deeplink_by_qr"

Class Method Summary collapse

Class Method Details

.call(url, payload) ⇒ Object



25
26
27
28
29
30
31
32
# File 'lib/bakong/khqr/helpers/deep_link.rb', line 25

def call(url, payload)
  response = Http.post_json(url, payload)
  error = response[:errorCode]
  raise Error.from(ERROR_CODES[:INVALID_DEEP_LINK_SOURCE_INFO]) if error == 5
  raise Error.from(ERROR_CODES[:INTERNAL_SERVER_ERROR]) if error == 4

  response
end

.valid_link?(link) ⇒ Boolean

Returns:

  • (Boolean)


18
19
20
21
22
23
# File 'lib/bakong/khqr/helpers/deep_link.rb', line 18

def valid_link?(link)
  uri = URI.parse(link)
  uri.path == EXPECTED_PATH
rescue URI::InvalidURIError
  false
end