Easily read config into a module from Yaml files
Ruby
Pull request Compare This branch is 18 commits ahead of markburns:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
config
doc
lib
spec
.gitignore
.rspec
.ruby-version
Gemfile
LICENSE.txt
README.md
Rakefile
yaml_properties.gemspec

README.md

YamlProperties

If you find yourself often setting app config in yaml files for different environments etc. Then this can be quite useful to simply access those variables.

Examples

#usual bundler install
gem 'yaml_config'

#usage in your code
YamlProperties.redis_port
YamlProperties.smtp_server

# data in config/properties.yml
redis_port: 1369
smtp_server: smtp.example.com

Also can be added to a module or class like

module YourFunkyConfigThing
  extend YamlProperties

  #Override filename like this
  def self.yaml_file
    ENV['SINATRA_ENV'] == 'development' ? 'config/properties.yml' : 'config/properties_production.yml'
  end
end


#Always reload e.g. in Rails dev environment
YamlProperties.dev_environment = Rails.env.development?

##For Cucumber etc

#features/support/env.rb
After do |scenario|
  YamlProperties.reset!
end

#features/step_definitions/egg_steps.rb
Given /\AThere are \d+ eggs in a dozen\z/ |dozen|
  YamlProperties.override_attribute :egg, dozen
end

#Yadayada

Usual gem/bundler usage/contribution guidelines