Class: Toto::Config

Inherits:
Hash show all
Defined in:
lib/toto.rb

Constant Summary collapse

Defaults =
{
  :author => ENV['USER'],                               # blog author
  :title => Dir.pwd.split('/').last,                    # site title
  :root => "index",                                     # site index
  :url => "http://127.0.0.1",                           # root URL of the site
  :prefix => "",                                        # common path prefix for the blog
  :date => lambda {|now| now.strftime("%d/%m/%Y") },    # date function
  :markdown => :smart,                                  # use markdown
  :disqus => false,                                     # disqus name
  :summary => {:max => 150, :delim => /~\n/},           # length of summary and delimiter
  :ext => 'txt',                                        # extension for articles
  :cache => 28800,                                      # cache duration (seconds)
  :github => {:user => "", :repos => [], :ext => 'md'}, # Github username and list of repos
  :to_html => lambda {|path, page, ctx|                 # returns an html, from a path & context
    ERB.new(File.read("#{path}/#{page}.rhtml")).result(ctx)
  },
  :error => lambda {|code|                              # The HTML for your error page
    "<font style='font-size:300%'>toto, we're not in Kansas anymore (#{code})</font>"
  }
}

Instance Method Summary collapse

Constructor Details

#initialize(obj) ⇒ Config

Returns a new instance of Config.



299
300
301
302
# File 'lib/toto.rb', line 299

def initialize obj
  self.update Defaults
  self.update obj
end

Instance Method Details

#set(key, val = nil, &blk) ⇒ Object



304
305
306
307
308
309
310
# File 'lib/toto.rb', line 304

def set key, val = nil, &blk
  if val.is_a? Hash
    self[key].update val
  else
    self[key] = block_given?? blk : val
  end
end