Class: Lightrail::Card

Inherits:
LightrailObject show all
Defined in:
lib/lightrail_client/card.rb

Class Method Summary collapse

Methods inherited from LightrailObject

#initialize

Constructor Details

This class inherits a constructor from Lightrail::LightrailObject

Class Method Details

.charge(charge_params) ⇒ Object



10
11
12
# File 'lib/lightrail_client/card.rb', line 10

def self.charge(charge_params)
  Lightrail::Transaction.charge_card(charge_params, false)
end

.create(create_params) ⇒ Object



4
5
6
7
8
# File 'lib/lightrail_client/card.rb', line 4

def self.create(create_params)
  params_for_create = Lightrail::Validator.set_params_for_card_create!(create_params)
  response = Lightrail::Connection.send :make_post_request_and_parse_response, "cards", params_for_create
  response['card']
end

.fund(fund_params) ⇒ Object



19
20
21
# File 'lib/lightrail_client/card.rb', line 19

def self.fund(fund_params)
  Lightrail::Transaction.fund_card(fund_params)
end

.get_details(card_id) ⇒ Object



34
35
36
37
# File 'lib/lightrail_client/card.rb', line 34

def self.get_details(card_id)
  response = Lightrail::Connection.make_get_request_and_parse_response("cards/#{CGI::escape(card_id)}/details")
  response['details']
end

.get_maximum_value(card_id) ⇒ Object



23
24
25
26
27
28
29
30
31
32
# File 'lib/lightrail_client/card.rb', line 23

def self.get_maximum_value(card_id)
  card_details = self.get_details(card_id)
  maximum_value = 0
  card_details['valueStores'].each do |valueStore|
    if valueStore['state'] == 'ACTIVE'
      maximum_value += valueStore['value']
    end
  end
  maximum_value
end

.simulate_charge(charge_params) ⇒ Object



14
15
16
17
# File 'lib/lightrail_client/card.rb', line 14

def self.simulate_charge(charge_params)
  params_for_simulation = Lightrail::Validator.set_nsf_for_simulate!(charge_params)
  Lightrail::Transaction.charge_card(params_for_simulation, true)
end