Module: TapPay::APIResources

Included in:
Card, Payment, Transaction
Defined in:
lib/tappay/api_resources.rb

Constant Summary collapse

CARD =
[
  'bind',
  'remove'
].freeze
PAYMENT =
[
  'pay_by_prime',
  'pay_by_token'
].freeze
TRANSACTION =
[
  'cap',
  'query',
  'refund',
  'trade_history'
].freeze

Instance Method Summary collapse

Instance Method Details

#base_urlObject



20
21
22
23
24
25
26
# File 'lib/tappay/api_resources.rb', line 20

def base_url
  if TapPay.mode == :production
    'https://prod.tappaysdk.com'.freeze
  else
    'https://sandbox.tappaysdk.com'.freeze
  end
end

#class_nameObject



28
29
30
# File 'lib/tappay/api_resources.rb', line 28

def class_name
  self.name.split("::")[-1]
end

#generate_resourcesObject



36
37
38
39
40
41
42
# File 'lib/tappay/api_resources.rb', line 36

def generate_resources
  TapPay::APIResources.const_get(class_name.upcase).each do |resource|
    define_singleton_method(resource) do |params, &block|
      TapPay::Request.post(resource_url(resource), params, &block)
    end
  end
end

#resource_url(resource_name) ⇒ Object



32
33
34
# File 'lib/tappay/api_resources.rb', line 32

def resource_url(resource_name)
  "#{base_url}/tpc/#{class_name.downcase}/#{resource_name.gsub('_', '-')}"
end