Class: Drugbank::Import

Inherits:
Object
  • Object
show all
Includes:
ObjectSpace
Defined in:
lib/drugbank/import.rb

Instance Method Summary collapse

Constructor Details

#initialize(url, batch_size = 500) ⇒ Import

Returns a new instance of Import.



16
17
18
19
# File 'lib/drugbank/import.rb', line 16

def initialize(url, batch_size = 500)
  @batch_size = batch_size
  @url = url
end

Instance Method Details

#collectorObject



25
26
27
# File 'lib/drugbank/import.rb', line 25

def collector
  @collector ||= Drugbank::Collector.new(@batch_size)
end

#import(&block) ⇒ Object



29
30
31
32
33
# File 'lib/drugbank/import.rb', line 29

def import(&block)
  set_collector_block(block)
  parser.parse_stream(fetch_url(@url))
  collector.collect_batch
end

#parserObject



21
22
23
# File 'lib/drugbank/import.rb', line 21

def parser
  @parser ||= SaxStream::Parser.new(collector, [Drugbank::Drugs])
end