Class: RubySlippers::Engine::Config

Inherits:
Hash
  • Object
show all
Defined in:
lib/ruby_slippers/config.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)
  :tag_separator => ', ',                               # tag separator for articles
  :github => {:user => "dreamr", :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}.html.erb")).result(ctx)
  },
  :error => lambda {|code|                              # The HTML for your error page
    "<font style='font-size:300%'>A large house has landed on you. You cannot continue because you are dead. <a href='/'>try again</a> (#{code})</font>"
  }
}

Instance Method Summary collapse

Constructor Details

#initialize(obj) ⇒ Config

Returns a new instance of Config.



24
25
26
27
# File 'lib/ruby_slippers/config.rb', line 24

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

Instance Method Details

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



29
30
31
32
33
34
35
# File 'lib/ruby_slippers/config.rb', line 29

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