abstract_feature_branch 1.2.0 → 1.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +8 -2
- data/VERSION +1 -1
- data/abstract_feature_branch.gemspec +2 -2
- data/lib/generators/templates/config/initializers/abstract_feature_branch.rb +3 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d4bd986e2f793fa698d09ec8c8da54e65c8453c8
|
4
|
+
data.tar.gz: bff3c99598c72578ec0ff0c35658f2dff8c2b759
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 246a4b2c80ef846b32858f8ecf76675dc8b99c1b9fe1f0dec1a24bf0e046a72c305be87b2a5a09959589209b5d937284b1968676079009c6f4884bf93b1e5814
|
7
|
+
data.tar.gz: 1a373850678a326fe82729093ae6274b6a4519e3ea579fd5fda1c933a42e170ded9474e51872ff8e9ed770b29e22c57690e3b1bffff9d30e78b9c21348320ae7
|
data/README.md
CHANGED
@@ -41,7 +41,7 @@ Setup
|
|
41
41
|
- Rails (~> 2.0): Add the following to config/environment.rb <pre>config.gem 'abstract_feature_branch', :version => '1.1.1'</pre>
|
42
42
|
2. Generate <code>config/initializers/abstract_feature_branch.rb</code>, <code>lib/tasks/abstract_feature_branch.rake</code>, <code>config/features.yml</code> and <code>config/features.local.yml</code> in your Rails app directory by running <pre>rails g abstract_feature_branch:install</pre>
|
43
43
|
3. (Optional) Generate <code>config/features/[context_path].yml</code> in your Rails app directory by running <pre>rails g abstract_feature_branch:context context_path</pre> (more details under [**instructions**](#instructions))
|
44
|
-
4. (Optional
|
44
|
+
4. (Optional) Customize configuration in <code>config/initializers/abstract_feature_branch.rb</code> (can be useful for changing location of feature files in Rails application, configuring Redis for per-user feature enablement, or troubleshooting a specific Rails environment feature configuration)
|
45
45
|
|
46
46
|
### Ruby Application General Use
|
47
47
|
|
@@ -55,6 +55,7 @@ Setup
|
|
55
55
|
8. (Optional) Add code <code>AbstractFeatureBranch.logger = "[your_application_logger]"</code> (it defaults to a new instance of Ruby <code>Logger</code>. Must use a logger with <code>info</code> and <code>warn</code> methods).
|
56
56
|
9. (Optional) Add code <code>AbstractFeatureBranch.cacheable = {[environment] => [true/false]}</code> to indicate cacheability of loaded feature files for enhanced performance (it defaults to true for every environment other than development).
|
57
57
|
10. (Optional) Add code <code>AbstractFeatureBranch.load_application_features</code> to pre-load application features for improved first-use performance
|
58
|
+
11. (Optional) Add code <code>AbstractFeatureBranch.user_features_storage = Redis.new(options)</code> to configure Redis for per-user feature enablement
|
58
59
|
|
59
60
|
Instructions
|
60
61
|
------------
|
@@ -308,7 +309,9 @@ Here is the content of the generated initializer (<code>config/initializers/abst
|
|
308
309
|
|
309
310
|
> require 'redis'
|
310
311
|
>
|
311
|
-
> # Storage for user features, customizable over here
|
312
|
+
> # Storage for user features, customizable over here. Right now, only a Redis client is supported.
|
313
|
+
> # The following example line works with Heroku Redis To Go while still operating on local Redis for local development
|
314
|
+
> # AbstractFeatureBranch.user_features_storage = Redis.new(:url => ENV['REDISTOGO_URL'])
|
312
315
|
> AbstractFeatureBranch.user_features_storage = Redis.new
|
313
316
|
>
|
314
317
|
> # Application root where config/features.yml or config/features/ is found
|
@@ -332,6 +335,8 @@ Here is the content of the generated initializer (<code>config/initializers/abst
|
|
332
335
|
> # Pre-load application features to improve performance of first web-page hit
|
333
336
|
> AbstractFeatureBranch.load_application_features unless Rails.env.development?
|
334
337
|
|
338
|
+
TODO Document in Heroku (:url => ENV['REDISTOGO_URL'])
|
339
|
+
|
335
340
|
Rake Task
|
336
341
|
---------
|
337
342
|
|
@@ -453,6 +458,7 @@ Contributors
|
|
453
458
|
---------------------------------------
|
454
459
|
* [Christian Nennemann](https://github.com/XORwell)
|
455
460
|
* [Ben Downey](https://github.com/bnd5k)
|
461
|
+
* [Mark Moschel](https://github.com/mmosche2)
|
456
462
|
|
457
463
|
Copyright
|
458
464
|
---------------------------------------
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.2.
|
1
|
+
1.2.1
|
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "abstract_feature_branch"
|
8
|
-
s.version = "1.2.
|
8
|
+
s.version = "1.2.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Annas \"Andy\" Maleh"]
|
12
|
-
s.date = "2014-01-
|
12
|
+
s.date = "2014-01-23"
|
13
13
|
s.description = "abstract_feature_branch is a Rails gem that enables developers to easily branch by abstraction as per this pattern:\nhttp://paulhammant.com/blog/branch_by_abstraction.html\n\nIt is a productivity and fault tolerance enhancing team practice that has been utilized by professional software development\nteams at large corporations, such as Sears and Groupon.\n\nIt provides the ability to wrap blocks of code with an abstract feature branch name, and then\nspecify in a configuration file which features to be switched on or off.\n\nThe goal is to build out upcoming features in the same source code repository branch, regardless of whether all are\ncompleted by the next release date or not, thus increasing team productivity by preventing integration delays.\nDevelopers then disable in-progress features until they are ready to be switched on in production, yet enable them\nlocally and in staging environments for in-progress testing.\n\nThis gives developers the added benefit of being able to switch a feature off after release should big problems arise\nfor a high risk feature.\n\nabstract_feature_branch additionally supports DDD's pattern of\nBounded Contexts by allowing developers to configure\ncontext-specific feature files if needed.\n"
|
14
14
|
s.extra_rdoc_files = [
|
15
15
|
"LICENSE.txt",
|
@@ -1,6 +1,8 @@
|
|
1
1
|
require 'redis'
|
2
2
|
|
3
|
-
# Storage for user features, customizable over here
|
3
|
+
# Storage for user features, customizable over here. Right now, only a Redis client is supported.
|
4
|
+
# The following example line works with Heroku Redis To Go while still operating on local Redis for local development
|
5
|
+
# AbstractFeatureBranch.user_features_storage = Redis.new(:url => ENV['REDISTOGO_URL'])
|
4
6
|
AbstractFeatureBranch.user_features_storage = Redis.new
|
5
7
|
|
6
8
|
# Application root where config/features.yml or config/features/ is found
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: abstract_feature_branch
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Annas "Andy" Maleh
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-01-
|
11
|
+
date: 2014-01-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: deep_merge
|