Module: Configurations::Strict

Defined in:
lib/configurations/strict.rb

Overview

StrictConfiguration is a blank object with setters and getters defined according to the configurable settings given

Instance Method Summary collapse

Instance Method Details

#initialize(options = {}, &block) {|HostModule::Configuration| ... } ⇒ HostModule::Configuration

Initialize a new configuration

Parameters:

  • options (Hash) (defaults to: {})

    The options to initialize a configuration with

  • block (Proc)

    a block to configure this configuration with

Options Hash (options):

  • configurable (Hash)

    a hash of configurable properties and their asserted types if given

  • methods (Hash)

    a hash of method names pointing to procs

  • not_configured (Proc)

    a proc to evaluate for not_configured properties

Yields:

  • (HostModule::Configuration)

    a configuration

Returns:

  • (HostModule::Configuration)

    a configuration



18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/configurations/strict.rb', line 18

def initialize(options = {}, &block)
  @reserved_method_validator = Validators::ReservedMethods.new

  @path       = options.fetch(:path) { Path.new }
  @properties = options.fetch(:properties) { Maps::Properties.new }
  @types      = options.fetch(:types)
  @blocks     = options.fetch(:blocks)

  __evaluate_configurable!

  super
end