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