class Paid::Customer

Attributes

address_city[RW]
address_country[RW]
address_line1[RW]
address_line2[RW]
address_state[RW]
address_zip[RW]
allow_ach[RW]
allow_check[RW]
allow_credit_card[RW]
allow_wire[RW]
auto_generate[RW]
auto_issue[RW]
billing_cycle[RW]
billing_type[RW]
description[RW]
email[RW]
external_id[RW]
id[R]
name[RW]
object[R]
phone[RW]
stripe_customer_id[RW]
terms[RW]

Public Class Methods

all(params={}, headers={}) click to toggle source
# File lib/paid/customer.rb, line 27
def self.all(params={}, headers={})
  method = APIMethod.new(:get, "/customers", params, headers, self)
  APIList.new(self, method.execute, method)
end
by_external_id(external_id, params={}, headers={}) click to toggle source
# File lib/paid/customer.rb, line 40
def self.by_external_id(external_id, params={}, headers={})
  params = ParamsBuilder.merge(params, {
    :external_id => external_id
  })
  method = APIMethod.new(:get, "/customers/by_external_id", params, headers, self)
  self.new(method.execute, method)
end
create(params={}, headers={}) click to toggle source
# File lib/paid/customer.rb, line 48
def self.create(params={}, headers={})
  method = APIMethod.new(:post, "/customers", params, headers, self)
  self.new(method.execute, method)
end
retrieve(id, params={}, headers={}) click to toggle source
# File lib/paid/customer.rb, line 32
def self.retrieve(id, params={}, headers={})
  params = ParamsBuilder.merge(params, {
    :id => id
  })
  method = APIMethod.new(:get, "/customers/:id", params, headers, self)
  self.new(method.execute, method)
end

Public Instance Methods

generate_invoice(params={}, headers={}) click to toggle source
# File lib/paid/customer.rb, line 64
def generate_invoice(params={}, headers={})
  method = APIMethod.new(:post, "/customers/:id/generate_invoice", params, headers, self)
  Util.constantize(:Invoice).new(method.execute, method)
end
generate_invoices(params={}, headers={}) click to toggle source
# File lib/paid/customer.rb, line 69
def generate_invoices(params={}, headers={})
  method = APIMethod.new(:post, "/customers/:id/generate_invoices", params, headers, self)
  APIList.new(:Invoice, method.execute, method)
end
invoices(params={}, headers={}) click to toggle source
# File lib/paid/customer.rb, line 74
def invoices(params={}, headers={})
  params = ParamsBuilder.merge(params, {
    :customer => self.id,
  })
  method = APIMethod.new(:get, "/invoices", params, headers, self)
  APIList.new(:Invoice, method.execute, method)
end
refresh(params={}, headers={}) click to toggle source
# File lib/paid/customer.rb, line 53
def refresh(params={}, headers={})
  method = APIMethod.new(:get, "/customers/:id", params, headers, self)
  self.refresh_from(method.execute, method)
end
save(params={}, headers={}) click to toggle source
# File lib/paid/customer.rb, line 58
def save(params={}, headers={})
  params = ParamsBuilder.merge(params, changed_api_attributes)
  method = APIMethod.new(:put, "/customers/:id", params, headers, self)
  self.refresh_from(method.execute, method)
end
transactions(params={}, headers={}) click to toggle source
# File lib/paid/customer.rb, line 82
def transactions(params={}, headers={})
  params = ParamsBuilder.merge(params, {
    :customer => self.id,
  })
  method = APIMethod.new(:get, "/transactions", params, headers, self)
  APIList.new(:Transaction, method.execute, method)
end