Class: CoinSync::Builder

Inherits:
Object
  • Object
show all
Defined in:
lib/coinsync/builder.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ Builder

Returns a new instance of Builder.



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

def initialize(config)
  @config = config
end

Instance Attribute Details

#transactionsObject (readonly)

Returns the value of attribute transactions.



5
6
7
# File 'lib/coinsync/builder.rb', line 5

def transactions
  @transactions
end

Instance Method Details

#build_transaction_listObject



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/coinsync/builder.rb', line 11

def build_transaction_list
  transactions = []

  @config.sources.each do |key, source|
    if source.importer.can_build?
      if source.filename.nil?
        raise "No filename specified for '#{key}', please add a 'file' parameter."
      end

      File.open(source.filename, 'r') do |file|
        transactions.concat(source.importer.read_transaction_list(file))
      end
    end
  end

  transactions.each_with_index { |tx, i| tx.number = i + 1 }

  @transactions = transactions.sort_by { |tx| [tx.time, tx.number] }
  @transactions.each_with_index { |tx, i| tx.number = i + 1 }
end