module DotConfigure

A configureable options implementation for any module

DotConfigure parent module

Constants

VERSION

Public Class Methods

included(base) click to toggle source
# File lib/dot_configure/dot_configure.rb, line 5
def self.included(base)
  base.extend(DotConfigure)
end

Public Instance Methods

configure(lock: false) { |options| ... } click to toggle source

Configure the options

# File lib/dot_configure/dot_configure.rb, line 17
def configure(lock: false)
  fail 'You must specify a configuration block when calling configure' unless block_given?
  fail 'Configuration already set' if options.locked?
  yield(options)

  options.locked = lock
  options
end
options() click to toggle source

Memoizes the configuration

# File lib/dot_configure/dot_configure.rb, line 10
def options
  @options ||= Options.new(default_options)

  @options.locked? ? @options.clone : @options
end

Private Instance Methods

default_options() click to toggle source

Customizable default options

# File lib/dot_configure/dot_configure.rb, line 29
def default_options
  {}
end