Sha256: 3f326ca91310950b272b9a4d904cecc9924c9bde02b25683ab8272774085b907

Contents?: true

Size: 913 Bytes

Versions: 7

Compression:

Stored size: 913 Bytes

Contents

module Mattock
  #Handles setting options on objects it's mixed into
  #
  #Settings can have default values or be required (as opposed to defaulting to
  #nil).  Settings and their defaults are inherited (and can be overridden) by
  #subclasses.
  #
  #Mattock also includes a yard-extension that will document settings of a
  #Configurable
  #
  #@example (see ClassMethods)
  module Configurable
    class Exception < ::StandardError
    end

    class NoDefaultValue < Exception
      def initialize(field_name, klass)
        super("No default value for field #{field_name} on class #{klass.name}")
      end
    end
  end
end

require 'mattock/configurable/field-metadata'
require 'mattock/configurable/proxy-value'
require 'mattock/configurable/field-processor'
require 'mattock/configurable/class-methods'
require 'mattock/configurable/instance-methods'
require 'mattock/configurable/directory-structure'

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
mattock-0.9.0 lib/mattock/configurable.rb
mattock-0.8.0 lib/mattock/configurable.rb
mattock-0.7.1 lib/mattock/configurable.rb
mattock-0.7.0 lib/mattock/configurable.rb
mattock-0.5.3 lib/mattock/configurable.rb
mattock-0.5.2 lib/mattock/configurable.rb
mattock-0.5.0 lib/mattock/configurable.rb