module RDaux::Container
Public Instance Methods
ditaa_jar()
click to toggle source
# File lib/rdaux/container.rb, line 52 def ditaa_jar File.expand_path(__FILE__ + '/../../../vendor/ditaa/ditaa0_9.jar') end
generator()
click to toggle source
# File lib/rdaux/container.rb, line 29 def generator @generator ||= with_logging(Web::Site::Generator.new(markdown, views_dir, public_folder, ditaa_jar, target_dir)) end
log_level()
click to toggle source
# File lib/rdaux/container.rb, line 40 def log_level Logger.const_get(@options.fetch(:log_level, 'info').upcase) end
logger()
click to toggle source
# File lib/rdaux/container.rb, line 33 def logger with_config(Logger.new($stderr)) do |l| l.level = log_level l.formatter = proc { |s, d, p, m| "%s | %-10s %s\n" % [d.strftime("%T,%L"), "[#{s}]", m] } end end
logging_listener()
click to toggle source
# File lib/rdaux/container.rb, line 44 def logging_listener @logging_listener ||= LoggingListener.new(logger) end
markdown()
click to toggle source
# File lib/rdaux/container.rb, line 56 def markdown Redcarpet::Markdown.new(Renderer.new({ :filter_html => true, :images_dir => public_folder, :ditaa_root => 'img/ditaa' }), { :no_intra_emphasis => true, :tables => true, :fenced_code_blocks => true, :autolink => true, :space_after_headers => true, :superscript => true, :underline => true, :highlight => true }) end
public_folder()
click to toggle source
# File lib/rdaux/container.rb, line 48 def public_folder File.expand_path(__FILE__ + '/../../../public') end
webapp()
click to toggle source
# File lib/rdaux/container.rb, line 14 def webapp @webapp ||= with_config(Web::Application) do |app| app.set(:markdown, markdown) app.set(:ditaa_jar, ditaa_jar) end end
webserver()
click to toggle source
# File lib/rdaux/container.rb, line 21 def webserver @webserver ||= with_logging(Web::Server.new(webapp, logger, public_folder, options)) end
website()
click to toggle source
# File lib/rdaux/container.rb, line 25 def website @website ||= Web::Site.new(title, description, author, directory) end
Private Instance Methods
description()
click to toggle source
# File lib/rdaux/container.rb, line 83 def description options.fetch(:description) { "Documentation for <em>#{directory}</em>" } end
target_dir()
click to toggle source
# File lib/rdaux/container.rb, line 91 def target_dir Pathname(options.fetch(:output_path) { directory + '../site/' }) end
title()
click to toggle source
# File lib/rdaux/container.rb, line 79 def title options.fetch(:title, "RDaux") end
views_dir()
click to toggle source
# File lib/rdaux/container.rb, line 75 def views_dir File.expand_path(__FILE__ + '/../web/views') end
with_config(obj) { |o| ... }
click to toggle source
# File lib/rdaux/container.rb, line 99 def with_config(obj) obj.tap {|o| yield(o)} end
with_logging(obj)
click to toggle source
# File lib/rdaux/container.rb, line 95 def with_logging(obj) with_config(obj) {|o| o.add_listener(logging_listener)} end