class HG::Finance::Taxes

Attributes

cdi[RW]

Public: ISO code

daily_factor[RW]

Public: Price to buy

date[RW]

Public: Date

selic[RW]

Public: Source currency

Public Class Methods

new(options = {}) click to toggle source
# File lib/hg/finance/taxes.rb, line 19
def initialize(options = {})
  if options.count != 0
    @date         = process_datetime(options[:date]) if options[:date]
    @cdi          = options[:cdi] if options[:cdi]
    @selic        = options[:selic] if options[:selic]
    @daily_factor = options[:daily_factor] if options[:daily_factor]
  end
end

Public Instance Methods

inspect() click to toggle source
# File lib/hg/finance/taxes.rb, line 40
def inspect
  self.to_s
end
to_s(separator = ' - ') click to toggle source
# File lib/hg/finance/taxes.rb, line 28
def to_s separator = ' - '
  to_return = []

  to_return << self.date.strftime(Locale.get_format(:short_date)) if self.date && self.date.kind_of?(Time)

  to_return << 'CDI: ' + self.cdi.to_s if self.cdi
  to_return << 'SELIC: ' + self.selic.to_s if self.selic
  to_return << "#{Locale.get_format(:daily_factor).to_s.capitalize}: " + self.daily_factor.to_s if self.daily_factor

  return to_return.join(separator)
end

Protected Instance Methods

process_datetime(date, time = nil) click to toggle source
# File lib/hg/finance/taxes.rb, line 45
def process_datetime date, time = nil
  return Time.now if date.nil?

  return Time.strptime((date + ' ' + (time ? time : '00:00')), Locale.get_format(:datetime))
end