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
- .driver(dr) ⇒ Object (also: driver[])
- .driver_exist?(driver) ⇒ Boolean
- .drivers ⇒ Object
- .load_driver(path) ⇒ Object
- .load_drivers(path) ⇒ Object
- .logger ⇒ Object
- .register_driver(driver_cls) ⇒ Object (also: register)
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
25 26 27 |
# File 'lib/pagedump.rb', line 25 def driver_exist? driver drivers.any?{|d| d == driver || d.name == driver} end |
.drivers ⇒ Object
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 |
.logger ⇒ Object
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 |