Class: Opensteam::Money::Tax::ProductTaxGroup
- Inherits:
-
TaxGroup
- Object
- ActiveRecord::Base
- TaxGroup
- Opensteam::Money::Tax::ProductTaxGroup
- Defined in:
- lib/opensteam/money.rb
Overview
Tax Groups for a Product (Inventory)
Instance Method Summary collapse
- #existing_tax_rule_attributes=(rule_attributes) ⇒ Object
- #new_tax_rule_attributes=(rule_attributes) ⇒ Object
- #save_tax_rules ⇒ Object
- #tax_rules=(rules) ⇒ Object
Instance Method Details
#existing_tax_rule_attributes=(rule_attributes) ⇒ Object
151 152 153 154 155 156 157 158 159 160 |
# File 'lib/opensteam/money.rb', line 151 def existing_tax_rule_attributes=( rule_attributes ) tax_rules.reject(&:new_record?).each do |tax_rule| attributes = rule_attributes[tax_rule.id.to_s] if attributes tax_rule.attributes = attributes else tax_rules.delete( tax_rule ) end end end |
#new_tax_rule_attributes=(rule_attributes) ⇒ Object
143 144 145 146 147 148 149 |
# File 'lib/opensteam/money.rb', line 143 def new_tax_rule_attributes=( rule_attributes ) rules = [] rule_attributes.each do |attributes| tax_rules.build( attributes ) unless rules.include?( attributes["tax_zone_id"] ) rules << attributes["tax_zone_id"] end end |
#save_tax_rules ⇒ Object
162 163 164 |
# File 'lib/opensteam/money.rb', line 162 def save_tax_rules tax_rules.each { |rule| rule.save(false) } end |
#tax_rules=(rules) ⇒ Object
167 168 169 170 171 |
# File 'lib/opensteam/money.rb', line 167 def tax_rules=( rules ) return false unless save self.tax_rules.delete_all rules.each { |r| self.tax_rules.create( r ) } end |