class Reader
Public Instance Methods
read(ext, filename)
click to toggle source
Reader
abstract
# File lib/ruby-daj/reader.rb, line 7 def read(ext, filename) RubyDaj::FORMATS.include?(ext) ? send(:"read_#{ext}", filename) : read_plain_text(filename) end
read_csv(filename)
click to toggle source
# File lib/ruby-daj/reader.rb, line 24 def read_csv(filename) CSV.read(filename) end
read_csvh(filename)
click to toggle source
# File lib/ruby-daj/reader.rb, line 28 def read_csvh(filename) CSV.read(filename, headers: true).map{|row| Hash[row.map{|col, row| [col, row]}]} end
read_json(filename)
click to toggle source
# File lib/ruby-daj/reader.rb, line 15 def read_json(filename) json = JSON.parse(File.read(filename)) json.kind_of?(Array) ? json[0] : json end
read_plain_text(filename)
click to toggle source
# File lib/ruby-daj/reader.rb, line 11 def read_plain_text(filename) File.read(filename).chomp end
read_tsv(filename)
click to toggle source
# File lib/ruby-daj/reader.rb, line 32 def read_tsv(filename) # TODO Refactor this ugliness CSV.read(filename, col_sep: "\t").map{|x| x.map{|x| x.split(" ")}}.map(&:flatten) end
read_tsvh(filename)
click to toggle source
# File lib/ruby-daj/reader.rb, line 37 def read_tsvh(filename) CSV.read(filename, col_sep: "\t", headers: true).map do |row| headers = row.headers[0].split(' ') fields = row.fields[0].split(' ') Hash[headers.each_with_index.map{|_, index| [headers[index], fields[index]]}] end end
read_yml(filename)
click to toggle source
# File lib/ruby-daj/reader.rb, line 20 def read_yml(filename) YAML.load_file(filename) end