class Bsale::Tax

Attributes

limit[RW]
offset[RW]
version[RW]

Public Class Methods

new(opts = {}) click to toggle source
# File lib/bsale/tax.rb, line 4
def initialize(opts = {})
  set_values(attrs.merge(opts))
  @connection = Faraday.new("#{BASE_URL}#{Bsale.config.version}/")
  @connection.headers = Bsale.config.headers
end

Public Instance Methods

all(opts = {}) click to toggle source
# File lib/bsale/tax.rb, line 16
def all(opts = {})
  response = @connection.get "taxes#{Bsale.config.extension}"
  JSON.parse(response.body)
end
attrs() click to toggle source
# File lib/bsale/tax.rb, line 21
def attrs
  { id: nil, name: nil, percentage: nil, forAllProducts: nil,
    ledgerAccount: nil, code: nil, state: nil }
end
find(opts = {}) click to toggle source
# File lib/bsale/tax.rb, line 10
def find(opts = {})
  raise "You must need to pass an ID" if opts[:id].nil?
  response = @connection.get "taxes/#{opts[:id]}#{Bsale.config.extension}"
  JSON.parse(response.body)
end
set_values(opts = {}) click to toggle source
# File lib/bsale/tax.rb, line 26
def set_values(opts = {})
  opts.each do |k,v|
    singleton_class.send(:attr_accessor, k)
    instance_variable_set("@#{k}", v)
  end
end