Sha256: 796e24dc00af5892b5bc7e1525e6464fea20735e0f84fc4dc4a35182ce634488

Contents?: true

Size: 622 Bytes

Versions: 2

Compression:

Stored size: 622 Bytes

Contents

module Raddocs
  class Configuration
    def self.add_setting(name, opts = {})
      define_method("#{name}=") { |value| settings[name] = value }
      define_method("#{name}") do
        if settings.has_key?(name)
          settings[name]
        elsif opts[:default].respond_to?(:call)
          opts[:default].call(self)
        else
          opts[:default]
        end
      end
    end

    add_setting :docs_dir, :default => "docs"
    add_setting :docs_mime_type, :default => /text\/docs\+plain/
    add_setting :api_name, :default => "Api Documentation"

    def settings
      @settings ||= {}
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
raddocs-0.1.4 lib/raddocs/configuration.rb
raddocs-0.1.3 lib/raddocs/configuration.rb