Sha256: 469763b2efd07c0cfbd8ffcbed68ee8dd872e31155754d1847bb5895b51cc023

Contents?: true

Size: 787 Bytes

Versions: 8

Compression:

Stored size: 787 Bytes

Contents

module ShopifyAPI
  class Product < Base
    include Events
    include Metafields

    early_july_pagination_release!

    # compute the price range
    def price_range
      prices = variants.collect(&:price).collect(&:to_f)
      format =  "%0.2f"
      if prices.min != prices.max
        "#{format % prices.min} - #{format % prices.max}"
      else
        format % prices.min
      end
    end

    def collections
      CustomCollection.find(:all, :params => {:product_id => self.id})
    end

    def smart_collections
      SmartCollection.find(:all, :params => {:product_id => self.id})
    end

    def add_to_collection(collection)
      collection.add_product(self)
    end

    def remove_from_collection(collection)
      collection.remove_product(self)
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
shopify_api-9.1.0 lib/shopify_api/resources/product.rb
shopify_api-9.0.4 lib/shopify_api/resources/product.rb
shopify_api-9.0.2 lib/shopify_api/resources/product.rb
shopify_api-9.0.1 lib/shopify_api/resources/product.rb
shopify_api-9.0.0 lib/shopify_api/resources/product.rb
shopify_api-8.1.0 lib/shopify_api/resources/product.rb
shopify_api-8.0.0 lib/shopify_api/resources/product.rb
shopify_api-7.1.0 lib/shopify_api/resources/product.rb