Sha256: aa57223dd39d422e0eb74ab91cfed73b71100b4674a96e7ac51d85a34292188a

Contents?: true

Size: 757 Bytes

Versions: 10

Compression:

Stored size: 757 Bytes

Contents

module Chargify
  class Product < Base
    def self.find_by_handle(handle)
      find(:one, :from => :lookup, :params => {:handle => handle})
    end
    
    protected

    # Products are created in the scope of a ProductFamily, i.e. /product_families/nnn/products
    #
    # This alters the collection path such that it uses the product_family_id that is set on the
    # attributes.
    def create
      pfid = begin
        self.product_family_id
      rescue NoMethodError
        0
      end
      connection.post("/product_families/#{pfid}/products.#{self.class.format.extension}", encode, self.class.headers).tap do |response|
        self.id = id_from_response(response)
        load_attributes_from_response(response)
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
chargify_api_ares-1.0.4 lib/chargify_api_ares/resources/product.rb
chargify_api_ares-1.0.3 lib/chargify_api_ares/resources/product.rb
chargify_api_ares-1.0.2 lib/chargify_api_ares/resources/product.rb
chargify_api_ares-1.0.1 lib/chargify_api_ares/resources/product.rb
chargify_api_ares-1.0.0 lib/chargify_api_ares/resources/product.rb
chargify_api_ares-0.6.1 lib/chargify_api_ares/resources/product.rb
chargify_api_ares-0.6.0 lib/chargify_api_ares/resources/product.rb
chargify_api_ares-0.5.4 lib/chargify_api_ares/resources/product.rb
chargify_api_ares-0.5.2 lib/chargify_api_ares/resources/product.rb
chargify_api_ares-0.5.1 lib/chargify_api_ares/resources/product.rb