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.

Intall

gem install chirrin-chirrion

How to use

Configuration

require 'chirrin-chirrion'
redis_connection = Redis.new
redis_adapter    = RedisAdapter.new(redis_connection)
ChirrinChirrion.config(database_adapter: redis_adapter)

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)