class LiffService

Attributes

id[RW]

liff id

path[RW]

rails routes path

size[RW]

size COMPACT TALL FULL

url[RW]

Public Class Methods

new(options) click to toggle source
# File lib/kamiliff/services/liff_service.rb, line 17
def initialize(options)
  self.path = options[:path] || "/"
  self.size = options[:liff_size] || :compact
  self.size = size.to_s.upcase
  raise "liff_size should be compact, tall or full." unless size.in? %w[COMPACT TALL FULL]
  self.url = ENV["LIFF_#{size}"]
  raise "LIFF_#{size} should be in the env variables" if url.blank?
  self.id = url[(url.rindex('/')+1)..-1]
end

Public Instance Methods

full_url() click to toggle source
# File lib/kamiliff/services/liff_service.rb, line 27
def full_url
  # liff mode is Concatenate
  base64_string = Base64EncodeService.new({
    path: path,
    liff_size: size
  }).run
  "#{url}/#{base64_string}"
end