Sha256: 74851e72947f07411d91af997e8a8ca6541c456ba7f01287d1209262e77d47e4

Contents?: true

Size: 860 Bytes

Versions: 1

Compression:

Stored size: 860 Bytes

Contents

module Chargify
  class Invoice < Base

    def self.find_by_invoice_id(id)
      find(:first, {:params => {:id => id}})
    end

    def self.find_by_subscription_id(id)
      find(:all, {:params => {:subscription_id => id}})
    end

    def self.unpaid_from_subscription(subscription_id)
      find(:all, {:params => {:subscription_id => subscription_id, :state => "unpaid"}})
    end

    def self.unpaid
      find(:all, {:params => {:state => "unpaid"}})
    end

    # Returns raw PDF data. Usage example:
    # File.open(file_path, 'wb+'){ |f| f.write Chargify::Invoice.find_pdf(invoice.id) }
    def self.find_pdf(scope, options = {})
      prefix_options, query_options = split_options(options[:params])
      path = element_path(scope, prefix_options, query_options).gsub(/\.\w+$/, ".pdf")
      connection.get(path, headers).body
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
chargify_api_ares-1.4.5 lib/chargify_api_ares/resources/invoice.rb