Class: Msewage::Importer::Importers::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/msewage-importer/importers/base.rb

Direct Known Subclasses

CSV, JSON

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(file_name) ⇒ Base

Returns a new instance of Base.



32
33
34
# File 'lib/msewage-importer/importers/base.rb', line 32

def initialize(file_name)
  @file_name = file_name
end

Class Method Details

.factory(file_name) ⇒ Object



11
12
13
14
15
16
17
18
# File 'lib/msewage-importer/importers/base.rb', line 11

def factory(file_name)
  #load_importers
  importers.each_pair do |extension, class_name|
    if file_name =~ %r{#{extension}}
      return class_name.new(file_name)
    end
  end
end

.importersObject



27
28
29
# File 'lib/msewage-importer/importers/base.rb', line 27

def importers
  @importers ||= {}
end

.load_importersObject



20
21
22
23
24
25
# File 'lib/msewage-importer/importers/base.rb', line 20

def load_importers
  #dirname = File.dirname(__FILE__)
  #Dir[File.join(dirname, "*.rb")].each do |f|
  #  require f.gsub(%r{#{dirname}/lib/}, '').gsub(/.rb/, '') unless f =~ /base/
  #end
end

.type(*file_types) ⇒ Object



5
6
7
8
9
# File 'lib/msewage-importer/importers/base.rb', line 5

def type(*file_types)
  file_types.each do |file_type|
    Importers::Base.importers[file_type] = self
  end
end

Instance Method Details

#importObject



36
37
38
# File 'lib/msewage-importer/importers/base.rb', line 36

def import
  raise "OVERRIDE ME"
end