Module: Spree::ProductsHelper

Defined in:
app/helpers/spree/products_helper.rb

Instance Method Summary collapse

Instance Method Details

#product_description(product) ⇒ Object

converts line breaks in product description into <p> tags (for html display purposes)



22
23
24
# File 'app/helpers/spree/products_helper.rb', line 22

def product_description(product)
  raw(product.description.gsub(/^(.*)$/, '<p>\1</p>'))
end

#product_price(product_or_variant, options = {}) ⇒ Object

returns the price of the product to show for display purposes



16
17
18
19
# File 'app/helpers/spree/products_helper.rb', line 16

def product_price(product_or_variant, options={})
   ActiveSupport::Deprecation.warn('product_price is deprecated and no longer calculates
                                    tax.  Use number_to_currency instead.', caller)
end

#variant_images_hash(product) ⇒ Object



26
27
28
# File 'app/helpers/spree/products_helper.rb', line 26

def variant_images_hash(product)
  product.variant_images.inject({}) { |h, img| (h[img.viewable_id] ||= []) << img; h }
end

#variant_price_diff(variant) ⇒ Object

returns the formatted change in price (from the master price) for the specified variant (or simply return the variant price if no master price was supplied)



5
6
7
8
9
10
11
12
13
# File 'app/helpers/spree/products_helper.rb', line 5

def variant_price_diff(variant)
  diff = variant.price - variant.product.price
  return nil if diff == 0
  if diff > 0
    "(#{t(:add)}: #{number_to_currency diff.abs})"
  else
    "(#{t(:subtract)}: #{number_to_currency diff.abs})"
  end
end