README.md in climate_control-0.0.3 vs README.md in climate_control-0.0.4
- old
+ new
@@ -16,11 +16,11 @@
$ gem install climate_control
## Usage
-`ClimateControl` can be used to temporarily assign environment variables
+Climate Control can be used to temporarily assign environment variables
within a block:
```ruby
ClimateControl.modify CONFIRMATION_INSTRUCTIONS_BCC: 'confirmation_bcc@example.com' do
sign_up_as 'john@example.com'
@@ -74,16 +74,29 @@
essentially, the code should behave exactly the same with and without the
block, except for the overrides. Transparency is crucial because the code
executed within the block is not for `ClimateControl` to manage or modify. See
the tests for more detail about the specific behaviors.
+## Why Use Climate Control?
+
+By following guidelines regarding environment variables outlined by the
+[twelve-factor app](http://12factor.net/config), testing code in an isolated
+manner becomes more difficult:
+
+* avoiding modifications and testing values, we introduce mystery guests
+* making modifications and testing values, we introduce risk as environment
+ variables represent global state
+
+Climate Control modifies environment variables only within the context of the
+block, ensuring values are managed properly and consistently.
+
## Contributing
1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request
## License
-climate_control is copyright 2012 Joshua Clayton and thoughtbot, inc. It is free software and may be redistributed under the terms specified in the LICENSE.txt file.
+climate_control is copyright 2012-2017 Joshua Clayton and thoughtbot, inc. It is free software and may be redistributed under the terms specified in the [LICENSE.txt](https://github.com/thoughtbot/climate_control/blob/master/LICENSE.txt) file.