Class: Spree::Tax::TaxLocation
- Inherits:
-
Object
- Object
- Spree::Tax::TaxLocation
- Defined in:
- app/models/spree/tax/tax_location.rb
Overview
A class exclusively used as a drop-in replacement for a default tax address. It responds to ‘:country_id` and `:state_id`.
Instance Attribute Summary collapse
-
#country_id ⇒ Integer
readonly
the ID of a Spree::Country object.
-
#state_id ⇒ Integer
readonly
the ID of a Spree::State object.
Instance Method Summary collapse
- #==(other) ⇒ Object
- #country ⇒ Object
- #empty? ⇒ Boolean
-
#initialize(country: nil, state: nil) ⇒ Spree::Tax::TaxLocation
constructor
Create a new TaxLocation object.
Constructor Details
#initialize(country: nil, state: nil) ⇒ Spree::Tax::TaxLocation
Create a new TaxLocation object
19 20 21 22 |
# File 'app/models/spree/tax/tax_location.rb', line 19 def initialize(country: nil, state: nil) @country_id = country && country.id @state_id = state && state.id end |
Instance Attribute Details
#country_id ⇒ Integer (readonly)
the ID of a Spree::Country object
8 9 10 |
# File 'app/models/spree/tax/tax_location.rb', line 8 def country_id @country_id end |
#state_id ⇒ Integer (readonly)
the ID of a Spree::State object
8 9 10 |
# File 'app/models/spree/tax/tax_location.rb', line 8 def state_id @state_id end |
Instance Method Details
#==(other) ⇒ Object
24 25 26 |
# File 'app/models/spree/tax/tax_location.rb', line 24 def ==(other) state_id == other.state_id && country_id == other.country_id end |
#country ⇒ Object
28 29 30 |
# File 'app/models/spree/tax/tax_location.rb', line 28 def country Spree::Country.find_by(id: country_id) end |
#empty? ⇒ Boolean
32 33 34 |
# File 'app/models/spree/tax/tax_location.rb', line 32 def empty? country_id.nil? && state_id.nil? end |