Chirrin Chirrion
Chirrin Chirrion is a gem to, easily, change the software behavior for new features, fixes, etc.
Inspiration
The gem name was inspired in a funny Chapolim Colorado episode called 'Chirrin Chirrion del Diablo'. Where there is a magic object which the the key word 'chirrin' gives a new thing and 'chirrion' takes it away.
Install
gem install chirrin-chirrion
How to use
Configuration
require 'chirrin-chirrion'
redis_connection = Redis.new
redis_adapter = ChirrinChirrion::DatabaseAdapters::RedisAdapter.new(redis_connection)
ChirrinChirrion.config(database_adapter: redis_adapter)
Listing toggles
ChirrinChirrion.list
# => [#<OpenStruct description="What the toggle does.", active=true, name="toggle_name">]
Adding a toggle
ChirrinChirrion.add_toggle('new_user_register_validation', {active: true, description: 'When this is active, gender, age and phone number are not required'})
Removing a toggle
ChirrinChirrion.remove_toggle('new_user_register_validation')
Making a toggle active
ChirrinChirrion.chirrin!('new_user_register_validation')
Making a toggle inactive
ChirrinChirrion.chirrion!('new_user_register_validation')
Using a toggle with if else
if ChirrinChirrion.chirrin?('new_user_register_validation')
# new busines rules
else
# old busines rules
end
Using with procs and default values
chirrin_behavior = lambda do
# do a lot of things
{result: 'of things'}
end
chirrion_behavior = {result: 'old static result'}
ChirrinChirrion.chirrin_chirrion('my_toggle', chirrin_behavior, chirrion_behavior)