class Aceitafacil::Card

Attributes

card_brand[RW]
customer_id[RW]
exp_date[RW]
last_digits[RW]
name[RW]
number[RW]
status[RW]
token[RW]

Public Class Methods

find_by_customer_id(customer_id) click to toggle source
# File lib/aceitafacil/card.rb, line 14
def self.find_by_customer_id(customer_id)
    return nil if customer_id.nil?

    @connection = Aceitafacil::Connection.new

    cards = []

    connection_params = {}
    connection_params["customer[id]"] = customer_id
    response = @connection.get("card", connection_params)

    json = JSON.parse(response.body)
    
    return [] if json["card"].nil?

    json["card"].each do |remote_card|
        card = Card.new(token: remote_card["token"], card_brand: remote_card["card_brand"], last_digits: remote_card["last_digits"])
        cards << card
    end

    return cards
end
new(params = {}) click to toggle source
# File lib/aceitafacil/card.rb, line 56
def initialize(params = {})
    @connection = Aceitafacil::Connection.new

    self.customer_id = params[:customer_id]
    self.number = params[:number]
    self.name = params[:name]
    self.exp_date = params[:exp_date]
    self.status = params[:status]
    self.token = params[:token]
    self.last_digits = params[:last_digits]
    self.card_brand = params[:card_brand]
end
remove(card) click to toggle source
# File lib/aceitafacil/card.rb, line 37
def self.remove(card)
    return nil  if card.nil?

    delete_params = {}

    delete_params["customer[id]"] = card.customer_id
    delete_params["card[token]"] = card.token

    @connection = Aceitafacil::Connection.new

    response = @connection.delete("card", delete_params)

    json = JSON.parse(response.body)

    card = Card.new(token: json["card"][0]["token"], status: json["card"][0]["status"])

    return card
end

Public Instance Methods

params() click to toggle source
# File lib/aceitafacil/card.rb, line 69
def params
    params = {}

    params["customer[id]"] = self.customer_id
    params["card[name]"] = self.name
    params["card[number]"] = self.number
    params["card[exp_date]"] = self.exp_date

    return params
end
save() click to toggle source
# File lib/aceitafacil/card.rb, line 80
def save
    return false if not self.valid?

    response = @connection.post("card", params)

    json = JSON.parse(response.body)
    
    self.token = json["card"][0]["token"]
    self.card_brand = json["card"][0]["card_brand"]
    self.last_digits = json["card"][0]["last_digits"]

    return response
end