module Knowledge::Configurable

Description

Internal configuration module providing required DSL to be able to manage internal configuration.

Usage

@example

module MyModule
  extend Configurable

  setting :variable, default: :default_value
end

MyModule.variable # :default_value

MyModule.configure do |config|
  config.variable = :foo
end

MyModule.variable # :foo

MyModule.variable = :bar

MyModule.variable # :bar

Public Class Methods

extended(base) click to toggle source
# File lib/knowledge/configurable.rb, line 31
def self.extended(base)
  base.singleton_class.extend(Forwardable)
  base.extend(ClassMethods)
end