Class: RosettaCoin

Inherits:
Object
  • Object
show all
Defined in:
lib/rosetta_coin.rb,
lib/rosetta_coin/version.rb,
lib/rosetta_coin/transaction.rb,
lib/rosetta_coin/output_format/ledger.rb,
lib/rosetta_coin/input_format/rabobank_csv.rb

Defined Under Namespace

Classes: InputFormat, OutputFormat, Transaction

Constant Summary collapse

VERSION =
"0.0.1"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ RosettaCoin

Returns a new instance of RosettaCoin.



9
10
11
12
13
14
# File 'lib/rosetta_coin.rb', line 9

def initialize(options)
  @input_format  = options[:input_format]
  @output_format = options[:output_format]
  @input_formatter  = RosettaCoin::InputFormat.const_get(@input_format)
  @output_formatter = RosettaCoin::OutputFormat.const_get(@output_format) if @output_format
end

Instance Attribute Details

#input_formatObject

Returns the value of attribute input_format.



7
8
9
# File 'lib/rosetta_coin.rb', line 7

def input_format
  @input_format
end

#output_formatObject

Returns the value of attribute output_format.



7
8
9
# File 'lib/rosetta_coin.rb', line 7

def output_format
  @output_format
end

Instance Method Details

#convert(text, options = {}) ⇒ Object



16
17
18
19
20
21
22
23
# File 'lib/rosetta_coin.rb', line 16

def convert(text, options = {})
  transaction = Transaction.new(@input_formatter.convert(text, options[:input_formatter_options]))
  if @output_formatter
    return @output_formatter.convert(transaction, options[:output_formatter_options])
  else
    return transaction
  end
end