class RhetButler::Configuration

This class is used to manage application config throughout. Basically it wraps a hash loaded from the base fileset. Since the file search path can be configured from there, it would be overly complex to allow config.yaml files in a configured source path.

Also, n.b. all access to configuration is through methods on this class, so it's easy to see what values are allowed

Public Class Methods

new(files, overrides=nil) click to toggle source
# File lib/rhet-butler/configuration.rb, line 12
def initialize(files, overrides=nil)
  @base_hash =
    begin
      files.find("config.yaml").contents
    rescue Valise::Errors::NotFound
      warn "No config.yaml found in #{files.inspect} - using defaults"
      {}
    end
  @base_hash.merge!(overrides) unless overrides.nil?
end

Public Instance Methods

arrangement_blueprint() click to toggle source
# File lib/rhet-butler/configuration.rb, line 67
def arrangement_blueprint
  @base_hash["blueprint"] || []
end
author() click to toggle source
# File lib/rhet-butler/configuration.rb, line 35
def author
  @base_hash['author_name'] || "Judson Lester"
end
default_content_filters() click to toggle source
# File lib/rhet-butler/configuration.rb, line 83
def default_content_filters
  @default_content_filters ||= @base_hash["default-content-filters"] || "textile"
end
default_note_filters() click to toggle source
# File lib/rhet-butler/configuration.rb, line 87
def default_note_filters
  @default_note_filters ||= @base_hash["default-note-filters"] || "textile"
end
description() click to toggle source
# File lib/rhet-butler/configuration.rb, line 43
def description
  @base_hash['presentation_description'] || "A nifty presentation made with Rhet Butler"
end
impress_config() click to toggle source
# File lib/rhet-butler/configuration.rb, line 59
def impress_config
  @base_hash['impress-config'] || {}
end
named_filter_lists() click to toggle source
# File lib/rhet-butler/configuration.rb, line 79
def named_filter_lists
  @base_hash["named-filters"] || {"textile" => [SlideRenderers::Textile.new]}
end
password() click to toggle source
# File lib/rhet-butler/configuration.rb, line 31
def password
  @base_hash['password'] || 'judsonr00tzme'
end
root_arrangement() click to toggle source
# File lib/rhet-butler/configuration.rb, line 63
def root_arrangement
  @base_hash["arrangement"] || "horizontal"
end
root_slide() click to toggle source
# File lib/rhet-butler/configuration.rb, line 75
def root_slide
  @base_hash["root_slide"] || "slides.yaml"
end
root_slide_template() click to toggle source
# File lib/rhet-butler/configuration.rb, line 23
def root_slide_template
  @base_hash['root_slide_template'] || 'presentation.html'
end
search_paths() click to toggle source
# File lib/rhet-butler/configuration.rb, line 47
def search_paths
  @base_hash["sources"] || []
end
serve_port() click to toggle source
# File lib/rhet-butler/configuration.rb, line 71
def serve_port
  @base_hash["serve_port"] || 8081
end
static_target() click to toggle source
# File lib/rhet-butler/configuration.rb, line 55
def static_target
  @base_hash["static_target"] || "static"
end
template_cache() click to toggle source
# File lib/rhet-butler/configuration.rb, line 51
def template_cache
  @base_hash["template-cache"] || ".template-cache"
end
title() click to toggle source
# File lib/rhet-butler/configuration.rb, line 39
def title
  @base_hash['presentation_title'] || 'Presentation'
end
username() click to toggle source
# File lib/rhet-butler/configuration.rb, line 27
def username
  @base_hash['username'] || 'judson'
end