Module: ProductsHelper
- Defined in:
- app/helpers/products_helper.rb
Instance Method Summary collapse
-
#product_description(product) ⇒ Object
converts line breaks in product description into <p> tags (for html display purposes).
-
#product_price(product_or_variant, options = {}) ⇒ Object
returns the price of the product to show for display purposes.
-
#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).
Instance Method Details
#product_description(product) ⇒ Object
converts line breaks in product description into <p> tags (for html display purposes)
26 27 28 |
# File 'app/helpers/products_helper.rb', line 26 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 20 21 22 23 |
# File 'app/helpers/products_helper.rb', line 16 def product_price(product_or_variant, ={}) .assert_valid_keys(:format_as_currency, :show_vat_text) .reverse_merge! :format_as_currency => true, :show_vat_text => Spree::Config[:show_price_inc_vat] amount = product_or_variant.price amount += Calculator::Vat.calculate_tax_on(product_or_variant) if Spree::Config[:show_price_inc_vat] .delete(:format_as_currency) ? format_price(amount, ) : amount 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)
4 5 6 7 8 9 10 11 12 13 |
# File 'app/helpers/products_helper.rb', line 4 def variant_price_diff(variant) return product_price(variant) unless variant.product.master.price diff = product_price(variant, :format_as_currency => false) - product_price(variant.product, :format_as_currency => false) return nil if diff == 0 if diff > 0 "(#{t("add")}: #{format_price diff.abs})" else "(#{t("subtract")}: #{format_price diff.abs})" end end |