No commit activity in last 3 years
No release in over 3 years
A little mixin to make your classes and modules configurable using either single statements or blocks.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies

Development

~> 1.3
~> 5.0.6
>= 0
 Project Readme

BlockConfigurable

Build Status Code Climate Gem Version

A little mixin to make your classes and modules configurable using either single statements or blocks.

Installation

Install as a standalone gem:

gem install block_configurable

Or include into your Gemfile:

gem 'block_configurable', '~> 0.10.0'

Usage

Set up your class (or module). Only parameters explicitly listed will be available for configuration.

class MyClass
  include BlockConfigurable

  configurable :param_with_default_value, 'A default!'
  configurable :param_without_default_value
  configurable :another_one
end

Configure it:

MyClass.configure do |c|
  c.param_without_default_value = 'A value now!'
  c.another_one = 'My values, my rules'
end

# or

MyClass.configuration.another_one = 'My values, my rules'

Read configuration:

MyClass.configuration.param_with_default_value
#=> 'A default!'

MyClass.configuration.another_one
#=> 'My values, my rules'