Class: CoinSync::ImportTask

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

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ ImportTask

Returns a new instance of ImportTask.



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

def initialize(config)
  @config = config
end

Instance Method Details

#run(selected = nil, except = nil) ⇒ Object



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

def run(selected = nil, except = nil)
  @config.filtered_sources(selected, except).each do |key, source|
    importer = source.importer
    filename = source.filename

    if importer.respond_to?(:can_import?)
      if importer.can_import?(:transactions)
        if filename.nil?
          raise "No filename specified for '#{key}', please add a 'file' parameter."
        end

        print "[#{key}] Importing transactions... "

        FileUtils.mkdir_p(File.dirname(filename))
        importer.import_transactions(filename)

        puts ""
      else
        puts "[#{key}] Skipping import"
      end
    end
  end

  puts "Done."
end