class Oddb2xml::EphaExtractor
Public Class Methods
new(str)
click to toggle source
# File lib/oddb2xml/extractor.rb, line 405 def initialize(str) Oddb2xml.log("EphaExtractor #{str.size} bytes") @io = StringIO.new(str) end
Public Instance Methods
to_arry()
click to toggle source
# File lib/oddb2xml/extractor.rb, line 410 def to_arry data = [] ixno = 0 inhalt = @io.read inhalt.split("\n").each do |line| ixno += 1 next if /ATC1.*Name1.*ATC2.*Name2/.match?(line) # line = '"'+line unless /^"/.match(line) begin row = CSV.parse_line(line.gsub('""', '"')) action = {} next unless row.size > 8 action[:data_origin] = "epha" action[:ixno] = ixno action[:title] = row[4] action[:atc1] = row[0] action[:atc2] = row[2] action[:mechanism] = row[5] action[:effect] = row[6] action[:measures] = row[7] action[:grad] = row[8] data << action rescue CSV::MalformedCSVError puts "CSV::MalformedCSVError in line #{ixno}: #{line}" end end data end