Sha256: 804ba6006c91bdca831a8c2636da8e1d9b715929c7f9b0bdb09873e7fd2a549c

Contents?: true

Size: 475 Bytes

Versions: 1

Compression:

Stored size: 475 Bytes

Contents

# coding: utf-8

module Confuse
  # An {Item} is a class for storing a description piece of config.
  class Item
    def initialize(key, opts = {})
      @key = key
      @default, @description = opts.values_at(:default, :description)
      @required = opts.key?(:required) ? opts[:required] : true
    end

    attr_reader :description, :required

    def default
      res = @default
      raise Errors::Undefined.new(@key) if @required && !res
      res
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
confuse-1.0.0 lib/confuse/item.rb