Module: Sinclair::Configurable

Defined in:
lib/sinclair/configurable.rb

Overview

Module capable of giving configuration capability

By extending Configurable, class receives the methods public .config, .reset_config and .configure and the private .configurable_with

Examples:

class MyConfigurable
  extend Sinclair::Configurable

  configurable_with :host, :port
end

MyConfigurable.configure do
  host 'interstella.com'
  port 5555
end

MyConfigurable.config.host
# returns 'interstella.com'

MyConfigurable.config.port
# returns 5555

MyConfigurable.reset

MyConfigurable.config.host
# returns nil

See Also:

Instance Method Summary collapse

Instance Method Details

#configurable_with(*attributes) ⇒ Array<Symbol>

Adds a configuration option to config class

Returns:

  • (Array<Symbol>) —

    list of possible configurations

See Also:



77
78
79
# File 'lib/sinclair/configurable.rb', line 77

def configurable_with(*attributes)
  config_factory.add_configs(*attributes)
end