Module: Webby

Defined in:
lib/webby.rb,
lib/webby/file.rb,
lib/webby/main.rb,
lib/webby/builder.rb,
lib/webby/pages_db.rb,
lib/webby/renderer.rb,
lib/webby/resource.rb,
lib/webby/auto_builder.rb

Overview

$Id: resource.rb 17 2007-08-28 04:11:00Z tim_pease $

Defined Under Namespace

Classes: AutoBuilder, Builder, Error, File, Main, PagesDB, Renderer, Resource

Constant Summary collapse

VERSION =

:nodoc:

'0.2.0'
PATH =

Path to the Webby package

::File.expand_path(::File.join(::File.dirname(__FILE__), '..'))

Class Method Summary collapse

Class Method Details

.configObject

call-seq:

Webby.config    => hash

Returns the configuration hash for the Webby application.



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

def self.config
  @config ||= {
    'output_dir'    => 'output',
    'content_dir'   => 'content',
    'layout_dir'    => 'layouts',
    'template_dir'  => 'templates',
    'exclude'       => %w(tmp$ bak$ ~$ CVS \.svn)
  }
end

.page_defaultsObject

call-seq:

Webby.page_defaults    => hash

Returns the page defaults hash used for page resource objects.



48
49
50
51
52
53
# File 'lib/webby.rb', line 48

def self.page_defaults
  @page_defaults ||= {
    'extension' => 'html',
    'layout'    => 'default'
  }
end

.require_all_libs_relative_to(fname, dir = nil) ⇒ Object

call-seq:

Webby.require_all_libs_relative_to( filename, directory = nil )

Utility method used to rquire 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.



20
21
22
23
24
25
26
# File 'lib/webby.rb', line 20

def self.require_all_libs_relative_to( fname, dir = nil )
  dir ||= File.basename(fname, '.*')
  search_me = File.expand_path(
      File.join(File.dirname(fname), dir, '**', '*.rb'))

  Dir.glob(search_me).sort.each {|rb| require rb}
end