Module: RDaux::Container

Included in:
CLI
Defined in:
lib/rdaux/container.rb

Instance Method Summary collapse

Instance Method Details

#ditaa_jarObject



52
53
54
# File 'lib/rdaux/container.rb', line 52

def ditaa_jar
  File.expand_path(__FILE__ + '/../../../vendor/ditaa/ditaa0_9.jar')
end

#generatorObject



29
30
31
# 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_levelObject



40
41
42
# File 'lib/rdaux/container.rb', line 40

def log_level
  Logger.const_get(@options.fetch(:log_level, 'info').upcase)
end

#loggerObject



33
34
35
36
37
38
# 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_listenerObject



44
45
46
# File 'lib/rdaux/container.rb', line 44

def logging_listener
  @logging_listener ||= LoggingListener.new(logger)
end

#markdownObject



56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# 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_folderObject



48
49
50
# File 'lib/rdaux/container.rb', line 48

def public_folder
  File.expand_path(__FILE__ + '/../../../public')
end

#webappObject



14
15
16
17
18
19
# 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

#webserverObject



21
22
23
# File 'lib/rdaux/container.rb', line 21

def webserver
  @webserver ||= with_logging(Web::Server.new(webapp, logger, public_folder, options))
end

#websiteObject



25
26
27
# File 'lib/rdaux/container.rb', line 25

def website
  @website ||= Web::Site.new(title, description, author, directory)
end