Class: Opensteam::Money::Tax::ProductTaxGroup

Inherits:
TaxGroup
  • Object
show all
Defined in:
lib/opensteam/money.rb

Overview

Tax Groups for a Product (Inventory)

Instance Method Summary collapse

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_rulesObject



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