Any Setting
Load your settings with ease.
- [x] ECR support
- [x] yaml files
- [ ] json files
- [ ] toml files
- [ ] ini files
Installation
Add this to your application's shard.yml
:
dependencies:
any_setting:
github: veelenga/any_setting
Usage
Settings file config/site.yml
:
default: &default
title: My Super Site
description: It just so cool and powerful.
made_by: John Doe
year: <%= Time.now.year %>
development:
<<: *default
url: http://localhost:3000
production:
<<: *default
url: https://example.com
Your loader:
require "any_setting"
class SiteSettings < AnySetting
source "config/site.yml"
namespace "production"
mapping(
title: String,
description: String,
url: String,
year: Int32,
author: {
type: String,
key: "made_by",
nillable: true,
}
)
end
site = SiteSettings.load
site.title #=> My Super Site
site.description #=> It just so cool and powerful.
site.made_by #=> John Doe
site.year #=> 2017
site.url #=> https://example.com
Contributing
- Fork it ( https://github.com/veelenga/any_setting/fork )
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create a new Pull Request