class DbMeta::Abstract

Constants

TYPES

Public Class Methods

from_type(type, args = {}) click to toggle source
# File lib/db_meta/abstract.rb, line 9
def self.from_type(type, args = {})
  raise "Abstract type [#{type}] is unknown" unless TYPES.key?(type)
  TYPES[type].new(args)
end
new(args = {}) click to toggle source
# File lib/db_meta/abstract.rb, line 14
def initialize(args = {})
  @username = args[:username]
  @password = args[:password]
  @instance = args[:instance]
  @worker = args[:worker] || 10

  @include = args[:include]

  @objects = []
  @invalid_objects = Hash.new([])

  @base_folder = args[:base_folder] || File.expand_path(File.join(Dir.pwd, "/#{@username}@#{@instance}"))

  raise "username is mandatory, pass a username argument during initialization" if @username.nil?
  raise "password is mandatory, pass a password argument during initialization" if @password.nil?
  raise "instance is mandatory, pass a instance argument during initialization" if @instance.nil?
end
register_type(type) click to toggle source
# File lib/db_meta/abstract.rb, line 5
def self.register_type(type)
  TYPES[type] = self
end

Public Instance Methods

extract(args = {}) click to toggle source
# File lib/db_meta/abstract.rb, line 36
def extract(args = {})
  raise "Needs to be implemented in derived class"
end
fetch(args = {}) click to toggle source
# File lib/db_meta/abstract.rb, line 32
def fetch(args = {})
  raise "Needs to be implemented in derived class"
end