class JunglePath::DBAccess::Import::Select
Public Class Methods
new(config, logger=nil)
click to toggle source
# File lib/jungle_path/db_access/import/select.rb, line 11 def initialize(config, logger=nil) @logger = logger @path = config.import_file_path #@db = JunglePath::DBAccess::IO::DB.new(config, logger) end
Public Instance Methods
_model(model)
click to toggle source
# File lib/jungle_path/db_access/import/select.rb, line 17 def _model(model) nil end
_model_by_any(model)
click to toggle source
# File lib/jungle_path/db_access/import/select.rb, line 21 def _model_by_any(model) nil end
_models(model)
click to toggle source
# File lib/jungle_path/db_access/import/select.rb, line 25 def _models(model) #if @db # @db.select._models(model) #else from_file(model) #end end
_models_from_file(model)
click to toggle source
# File lib/jungle_path/db_access/import/select.rb, line 33 def _models_from_file(model) from_file(model) end
from_file(model)
click to toggle source
# File lib/jungle_path/db_access/import/select.rb, line 37 def from_file(model) # select all of a given model. file_name = JunglePath::DBAccess::Import.data_file_name(@path, model.class.table_name) puts "file_name: #{file_name}." models = [] lines = File.readlines(file_name) puts "lines.count: #{lines.count}." lines.each do |line| values = line.split("\t") hash = to_hash(model, values) params = JunglePath::Controller::Base.transform(hash, model.class.columns) models << model.class.new(params, false) end models end
to_hash(model, values)
click to toggle source
# File lib/jungle_path/db_access/import/select.rb, line 53 def to_hash(model, values) hash = {} i = 0 model._columns.keys.each do |key| value = values[i] if value == '\N' value = nil end hash[key] = value i += 1 end hash end