Module: DocbookFiles
- Defined in:
- lib/docbook_files.rb,
lib/docbook_files/app.rb,
lib/docbook_files/docbook.rb,
lib/docbook_files/file_ref.rb,
lib/docbook_files/file_data.rb,
lib/docbook_files/file_ref_types.rb
Defined Under Namespace
Classes: App, Docbook, FileData, FileRef, FileRefTypes
Constant Summary collapse
- LIBPATH =
:stopdoc:
::File.(::File.dirname(__FILE__)) + ::File::SEPARATOR
- PATH =
::File.dirname(LIBPATH) + ::File::SEPARATOR
- VERSION =
::File.read(PATH + 'version.txt').strip
Class Method Summary collapse
-
.libpath(*args) ⇒ Object
Returns the library path for the module.
-
.path(*args) ⇒ Object
Returns the lpath for the module.
-
.require_all_libs_relative_to(fname, dir = nil) ⇒ Object
Utility method used to require all files ending in .rb that lie in the directory below this file that has the same name as the filename passed in.
-
.run(args = nil) ⇒ Object
Create a new instance of App, and run the
docbook_filesapplication given the command line args.
Class Method Details
.libpath(*args) ⇒ Object
Returns the library path for the module. If any arguments are given, they will be joined to the end of the libray path using File.join.
14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/docbook_files.rb', line 14 def self.libpath( *args ) rv = args.empty? ? LIBPATH : ::File.join(LIBPATH, args.flatten) if block_given? begin $LOAD_PATH.unshift LIBPATH rv = yield ensure $LOAD_PATH.shift end end return rv end |
.path(*args) ⇒ Object
Returns the lpath for the module. If any arguments are given, they will be joined to the end of the path using File.join.
31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/docbook_files.rb', line 31 def self.path( *args ) rv = args.empty? ? PATH : ::File.join(PATH, args.flatten) if block_given? begin $LOAD_PATH.unshift PATH rv = yield ensure $LOAD_PATH.shift end end return rv end |
.require_all_libs_relative_to(fname, dir = nil) ⇒ Object
Utility method used to require all files ending in .rb that lie in the directory below this file that has the same name as the filename passed in. Optionally, a specific directory name can be passed in such that the filename does not have to be equivalent to the directory.
49 50 51 52 53 54 55 |
# File 'lib/docbook_files.rb', line 49 def self.require_all_libs_relative_to( fname, dir = nil ) dir ||= ::File.basename(fname, '.*') search_me = ::File.( ::File.join(::File.dirname(fname), dir, '**', '*.rb')) Dir.glob(search_me).sort.each {|rb| require rb} end |
.run(args = nil) ⇒ Object
Create a new instance of App, and run the docbook_files application given the command line args. Check also for JSON availability.
36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/docbook_files/app.rb', line 36 def self.run( args = nil ) args ||= ARGV.dup.map! { |v| v.dup } opts = {} # For Windows and/or Ruby 1.8 begin require 'json' opts[:json_available] = true rescue LoadError opts[:json_available] = false end ::DocbookFiles::App.new(opts).run args end |