class Besepa::Subscription
Constants
- FIELDS
Attributes
customer[RW]
debtor_bank_account[RW]
product[RW]
Public Class Methods
api_path(filters={})
click to toggle source
# File lib/besepa/subscription.rb, line 29 def self.api_path(filters={}) customer_id = filters[:customer_id] if customer_id "#{Customer.api_path}/#{CGI.escape(customer_id)}/subscriptions" else "/subscriptions" end end
query_params(filters = {})
click to toggle source
# File lib/besepa/subscription.rb, line 38 def self.query_params(filters = {}) filters = filters.dup filters.delete(:customer_id) filters end
Public Instance Methods
api_path(filters={})
click to toggle source
# File lib/besepa/subscription.rb, line 49 def api_path(filters={}) "#{self.class.api_path(filters)}/#{CGI.escape(id)}" end
process_attributes(attrs)
click to toggle source
# File lib/besepa/subscription.rb, line 53 def process_attributes(attrs) self.class::FIELDS.each do |key| self.send("#{key.to_s}=", attrs[key.to_s] || attrs[key.to_sym]) end self.debtor_bank_account = Besepa::BankAccount.new(attrs['debtor_bank_account']) if attrs['debtor_bank_account'] self.product = Besepa::Product.new(attrs['product']) if attrs['product'] self.customer = Besepa::Customer.new(attrs['customer']) if attrs['customer'] process_activities(attrs) self end
stats()
click to toggle source
# File lib/besepa/subscription.rb, line 44 def stats response = get "#{api_path}/stats" response['response'] end
to_hash()
click to toggle source
# File lib/besepa/subscription.rb, line 18 def to_hash values = {} self.class::FIELDS.each do |key| values[key] = self.send("#{key.to_s}") end values[:debtor_bank_account] = debtor_bank_account.to_hash if debtor_bank_account values[:product] = product.to_hash if product values[:customer] = customer.to_hash if customer values end