Settr
Settr is a hierarchical key-value based storage for configuration settings in Rails apps.
It auto-generates a 'settings' view where you can easily modify the values of the settings.
Usage
Use
rails g settr:install
to install settr and modify /config/initializers/settr.rb to your needs:
  Settr.setup do |config|
    # access the setting metadata resourceish
    config.resources      = true
    # these change the generated settings editor view code
    config.header_tag     = 'h1'
    config.header_class   = 'my_header_class'
    config.table_class    = 'my_table_class'
    config.link_class     = 'my_link_class'
    config.form_class     = 'my_form_class'
    # Here, you define the available settings. Upon first encounter, they're
    # created in the database and the once-saved value is used, changing the
    # default later doesn't change anything.
    # To actually change the settings once the app is running, use the provided
    # settings editor view
    config.defaults do |setting|
      setting.collection1.group1.price 1.0
      setting.collection1.bool true
      setting.collection1.group1.number 1
      setting.collection1.group2.string 'lorem ipsum'
      setting.collection1.group2.text 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', typ: 'text'
      setting.collection2.group3.select 'first_option', options: ['first_option', 'second_option', 'third_option']
    end
  end
The path to settr settings is /settr/settings/settings.
Check out the dummy app in the test directory (load seed data via rake db:seed).
One can access settr settings by e.g. Settr.my_group.my_subgroup.my_setting.
Authors
- Torsten Sprenger – ts@metaminded.com
- Peter Horn – ph@metaminded.com
Copyright and License
Copyright 2012 metaminded UG. Licensed under the MIT License.