Sha256: c58ea562ce2630acfdcabd4c0fd01511dc59fba5a93aae02c49c572c010eae5e

Contents?: true

Size: 1.53 KB

Versions: 5

Compression:

Stored size: 1.53 KB

Contents

require 'yaml'

module SmallVictories
  class Configuration
    attr_accessor :config

    def initialize
      self.config = if File.exists?(CONFIG_FILE)
        YAML.load(File.read(CONFIG_FILE)) || {}
      else
        {}
      end
    end

    def config_file key
      config[key.to_s].chomp("/").reverse.chomp("/").reverse if config.has_key?(key.to_s)
    end

    def source
      config_file(:source) || DEFAULT_SOURCE
    end

    def full_source_path
      File.join(ROOT, source)
    end

    def destination
      config_file(:destination) || DEFAULT_DESTINATION
    end

    def full_destination_path
      File.join(ROOT, destination)
    end

    def source_javascript
      config_file(:source_javascript) || DEFAULT_SOURCE_JAVASCRIPT
    end

    def destination_javascript
      config_file(:destination_javascript) || DEFAULT_DESTINATION_JAVASCRIPT
    end

    def javascripts
      [source_javascript, destination_javascript]
    end

    def source_stylesheet
      config_file(:source_stylesheet) || DEFAULT_SOURCE_STYLESHEET
    end

    def destination_stylesheet
      config_file(:destination_stylesheet) || DEFAULT_DESTINATION_STYLESHEET
    end

    def stylesheets
      [source_stylesheet, destination_stylesheet]
    end

    def layout
      config_file(:layout) || DEFAULT_LAYOUT
    end

    def full_layout_path
      File.join(full_source_path, layout)
    end

    def includes
      config_file(:includes) || DEFAULT_INCLUDES
    end

    def full_includes_path
      File.join(full_source_path, includes)
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
smallvictories-0.0.11 lib/smallvictories/configuration.rb
smallvictories-0.0.10 lib/smallvictories/configuration.rb
smallvictories-0.0.9 lib/smallvictories/configuration.rb
smallvictories-0.0.8 lib/smallvictories/configuration.rb
smallvictories-0.0.7 lib/smallvictories/configuration.rb