Class: Spree::Price

Inherits:
Base
  • Object
show all
Extended by:
DisplayMoney
Includes:
Discard::Model, ParanoiaDeprecations
Defined in:
app/models/spree/price.rb

Constant Summary collapse

MAXIMUM_AMOUNT =
BigDecimal('99_999_999.99')

Instance Method Summary collapse

Methods included from DisplayMoney

money_methods

Methods included from ParanoiaDeprecations

#paranoia_delete, #paranoia_destroy

Methods inherited from Base

display_includes, #initialize_preference_defaults, page, preference

Methods included from Spree::Preferences::Preferable

#admin_form_preference_names, #default_preferences, #defined_preferences, #get_preference, #has_preference!, #has_preference?, #preference_default, #preference_type, #set_preference

Instance Method Details

#country_iso=(country_iso) ⇒ Object



68
69
70
# File 'app/models/spree/price.rb', line 68

def country_iso=(country_iso)
  self[:country_iso] = country_iso.presence
end

#display_countryObject



60
61
62
63
64
65
66
# File 'app/models/spree/price.rb', line 60

def display_country
  if country_iso
    "#{country_iso} (#{country.name})"
  else
    I18n.t(:any_country, scope: [:spree, :admin, :prices])
  end
end

#for_any_country?Boolean

Returns:

  • (Boolean)


56
57
58
# File 'app/models/spree/price.rb', line 56

def for_any_country?
  country_iso.nil?
end

#net_amountObject



52
53
54
# File 'app/models/spree/price.rb', line 52

def net_amount
  amount / (1 + sum_of_vat_amounts)
end

#priceObject

An alias for #amount



40
41
42
# File 'app/models/spree/price.rb', line 40

def price
  amount
end

#price=(price) ⇒ Object

Sets this price’s amount to a new value, parsing it if the new value is a string.

Parameters:

  • price (String, #to_d)

    a new amount



48
49
50
# File 'app/models/spree/price.rb', line 48

def price=(price)
  self[:amount] = Spree::LocalizedNumber.parse(price)
end