class ActiveTax::Tax
Attributes
address[RW]
api_class[RW]
state[RW]
Public Class Methods
new(address)
click to toggle source
# File lib/active_tax/tax.rb, line 10 def initialize(address) self.state = address[:state] self.address = address determine_state_api end
rate(address={})
click to toggle source
# File lib/active_tax/tax.rb, line 5 def self.rate(address={}) raise StandardError, "You must provide a state to use ActiveTax::Tax.rate" unless address[:state] self.new(address).rate end
Public Instance Methods
location_code()
click to toggle source
# File lib/active_tax/tax.rb, line 29 def location_code tax && tax.location_code end
rate()
click to toggle source
# File lib/active_tax/tax.rb, line 25 def rate tax && tax.rate end
rate_from_address(address={})
click to toggle source
# File lib/active_tax/tax.rb, line 17 def rate_from_address(address={}) raise "#rate_from_address is deprecated. Use #rate instead." end
result_code()
click to toggle source
# File lib/active_tax/tax.rb, line 33 def result_code tax && tax.result_code end
tax()
click to toggle source
# File lib/active_tax/tax.rb, line 21 def tax @tax ||= self.api_class.tax(address) end
Private Instance Methods
determine_state_api()
click to toggle source
# File lib/active_tax/tax.rb, line 39 def determine_state_api case self.state.upcase when "WA", "WASHINGTON" then self.api_class = States::WA else raise StandardError, "API for #{self.state.upcase} not yet implemented in ActiveTax." end end