class BusinessCatalyst::CSV::CurrencyTransformer
Constants
- BC_CURRENCY_REGEX
Attributes
currency[RW]
Public Class Methods
default_currency()
click to toggle source
# File lib/business_catalyst/csv/transformers/currency_transformer.rb, line 10 def self.default_currency @default_currency || "US" end
default_currency=(currency)
click to toggle source
# File lib/business_catalyst/csv/transformers/currency_transformer.rb, line 14 def self.default_currency=(currency) @default_currency = currency end
new(input, currency = nil)
click to toggle source
Calls superclass method
# File lib/business_catalyst/csv/transformers/currency_transformer.rb, line 20 def initialize(input, currency = nil) @currency = currency || self.class.default_currency super(input) end
Public Instance Methods
is_bc_currency_string?(input)
click to toggle source
# File lib/business_catalyst/csv/transformers/currency_transformer.rb, line 47 def is_bc_currency_string?(input) !!(input =~ BC_CURRENCY_REGEX) end
number_to_currency(input)
click to toggle source
# File lib/business_catalyst/csv/transformers/currency_transformer.rb, line 34 def number_to_currency(input) if input input_s = input.kind_of?(BigDecimal) ? input.to_s('F') : input.to_s.strip if input_s != "" if is_bc_currency_string?(input_s) input_s else "#{currency}/#{input_s}" end end end end
transform()
click to toggle source
# File lib/business_catalyst/csv/transformers/currency_transformer.rb, line 25 def transform if input inputs = Array(input).map {|n| number_to_currency(n) }.compact if inputs.any? inputs.join(";") end end end