Sha256: 14ae97413734ee54d46efa645f7276f02d74ca36eb5c04622428817a923d3452

Contents?: true

Size: 785 Bytes

Versions: 12

Compression:

Stored size: 785 Bytes

Contents

module Chargify
  class Product < Base

    class << self

      def all
        result = api_request(:get, "/products.json")
        result.map{|p| Hashie::Mash.new p['product']}
      end

      def find!(id)
        return all if id == :all

        result = api_request(:get, "/products/#{id}.json")
        Hashie::Mash.new(result).product
      end
      
      def find(id)
        find!(id)
      rescue Chargify::Error::Base => e
        return nil
      end
      
      def find_by_handle(handle)
        find_by_handle!(handle)
      rescue Chargify::Error::Base => e
        return nil
      end

      def find_by_handle!(handle)
        result = api_request(:get, "/products/handle/#{handle}.json")
        Hashie::Mash.new(result).product
      end

    end

  end
end

Version data entries

12 entries across 12 versions & 2 rubygems

Version Path
stefl-chargify-0.3.10 lib/chargify/product.rb
stefl-chargify-0.3.6 lib/chargify/product.rb
stefl-chargify-0.3.5 lib/chargify/product.rb
stefl-chargify-0.3.4 lib/chargify/product.rb
stefl-chargify-0.3.3 lib/chargify/product.rb
jsmestad-chargify-0.3.3 lib/chargify/product.rb
jsmestad-chargify-0.3.2.2 lib/chargify/product.rb
jsmestad-chargify-0.3.2.1 lib/chargify/product.rb
jsmestad-chargify-0.3.2 lib/chargify/product.rb
jsmestad-chargify-0.3.1 lib/chargify/product.rb
jsmestad-chargify-0.3.0 lib/chargify/product.rb
jsmestad-chargify-0.3.0.pre6 lib/chargify/product.rb