Archival Notice
This repository will no longer be maintained by UserTesting, and will be archived in the near future. The most recent version of this gem will still be published and available to use. Thank you to everyone who contributed to this project!
Rails Application Configuration for Yield Main (RACYM)
racym is used as a shortcut to rails configuration.
Installation
Add this line to your application's Gemfile:
And then execute:
Usage
Setting config values
In your config/application.rb add config settings:
module MyApp class Application < Rails::Application ... # Add a custom config setting here: config.foo = "bar" # Or a proc: config.biz = -> { DateTime.current }
Getting config values
From anywhere in your Rails application (controllers/helpers/views - should be available anywhere!)
puts racym(:foo) # => "bar" puts racym(:biz) # => Wed, 02 Oct 2019 11:13:20 -0700 # ten minutes later: puts racym(:biz) # => Wed, 02 Oct 2019 11:23:20 -0700
Multilevel key/values
Setting:
module MyApp class Application < Rails::Application ... config.foo.username = "BAR" config.foo.password = "BIZ"
Getting:
puts racym(:foo, :username) # => "BAR" puts racym(:foo, :password) # => "BIZ"
Testing
There's some convenient methods you can use to test code using racym:
racym_setracym_undo!
For example, to test this simple method:
class Foo def self.hi "Hi #{racym :person_to_hi}" end end
describe Foo do describe ".hi" do before { racym_set :person_to_hi, "Dave" } specify { expect(Foo.hi).to eq "Hi Dave" } after { racym_undo! } end end
License
MIT.
Library created by UserTesting
Contributing
- Fork it ( https://github.com/usertesting/racym/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
