Module: Pagedump

Defined in:
lib/pagedump.rb,
lib/pagedump/driver.rb,
lib/pagedump/version.rb

Defined Under Namespace

Classes: Driver

Constant Summary collapse

VERSION =
"0.3.0"

Class Method Summary collapse

Class Method Details

.driver(dr) ⇒ Object Also known as: driver[]



49
50
51
# File 'lib/pagedump.rb', line 49

def driver dr
  drivers.find{|c| c.name == dr.to_s} || raise("No such driver: #{dr}")
end

.driver_exist?(driver) ⇒ Boolean

Returns:

  • (Boolean)


25
26
27
# File 'lib/pagedump.rb', line 25

def driver_exist? driver
  drivers.any?{|d| d == driver || d.name == driver}
end

.driversObject



45
46
47
# File 'lib/pagedump.rb', line 45

def drivers
  @drivers ||= []
end

.load_driver(path) ⇒ Object



29
30
31
32
# File 'lib/pagedump.rb', line 29

def load_driver path
  require path
  drivers[-1]
end

.load_drivers(path) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
# File 'lib/pagedump.rb', line 13

def load_drivers path
  if(File.directory?(path))
    Dir[File.join(path, "**/*.rb")].each do |p|
      load_driver p
    end
  elsif(File.file? path)
    load_driver path
  else
    raise "Not a directory: #{path}"
  end
end

.loggerObject



9
10
11
# File 'lib/pagedump.rb', line 9

def logger
  Logging.logger[Pagedump]
end

.register_driver(driver_cls) ⇒ Object Also known as: register



34
35
36
37
38
39
40
41
# File 'lib/pagedump.rb', line 34

def register_driver driver_cls
  unless driver_cls.is_a?(Class) && driver_cls.superclass == Pagedump::Driver
    raise("Not a driver class: #{driver_cls}")
  end
  logger.debug "Registering driver #{driver_cls}."
  drivers << driver_cls
  driver_cls
end