abstract_feature_branch 0.3.3 → 0.3.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 25d61cbd59ed11e25c09a2fb9c3e7cf4ecb0ddb5
4
+ data.tar.gz: 1f46326261f0103d6326251a292b0c48de750f9d
5
+ SHA512:
6
+ metadata.gz: 4c790ea2c50422cac9f865fe9f40363518d92dee913b8c9e3e055836da01bc91b0893e7ec22a63bdcc89db2672bf732c28f1cb6ce88c1aaf8153251456fa04b9
7
+ data.tar.gz: 67cccddcb4c176bd976f073e3a79db9f8de46126301e220e536a610d606b9cb8afaf9251f42c4de3c38c52fc11013549f4c9148f0b38e73fafe4a686430b1137
data/README.md CHANGED
@@ -17,37 +17,40 @@ release should big problems arise for a high risk feature.
17
17
 
18
18
  Requirements
19
19
  ------------
20
- - Ruby 1.9.x or 1.8.7x
21
- - Rails 3.x or 2.x
20
+ - Ruby ~> 2.0.0, ~> 1.9 or ~> 1.8.7
21
+ - Rails ~> 4.0.0, ~> 3.0 or ~> 2.0
22
22
 
23
23
  Setup
24
24
  -----
25
25
 
26
- - Add 'abstract_feature_branch' gem to Gemfile in Rails 3.x or
27
- "config.gem 'absract_feature_branch'" to environment.rb in Rails 2.x
28
- - Configure config/features.yml in your Rails app directory as follows:
26
+ 1. Configure Rubygem
27
+ - Rails (~> 4.0.0 or ~> 3.0): Add the following to Gemfile <pre>gem 'abstract_feature_branch', '0.3.4'</pre>
28
+ - Rails (~> 2.0): Add the following to config/environment.rb <pre>config.gem 'absract_feature_branch'</pre>
29
+ 2. Generate config/features.yml in your Rails app directory by running <pre>rails g abstract_feature_branch:install</pre>
30
+
31
+ Here are the contents of the generated sample config/features.yml, which you can modify with your own features.
29
32
 
30
33
  > defaults: &defaults
31
34
  > feature1: true
32
35
  > feature2: true
33
36
  > feature3: false
34
- >
37
+ >
35
38
  > development:
36
39
  > <<: *defaults
37
- >
40
+ >
38
41
  > test:
39
42
  > <<: *defaults
40
- >
43
+ >
41
44
  > staging:
42
45
  > <<: *defaults
43
46
  > feature2: false
44
- >
47
+ >
45
48
  > production:
46
49
  > <<: *defaults
47
50
  > feature1: false
48
51
  > feature2: false
49
52
 
50
- Notice how the feature "feature1" was configured as true (enabled) by default, but
53
+ Notice in the sample file how the feature "feature1" was configured as true (enabled) by default, but
51
54
  overridden as false (disabled) in production. This is a recommended practice.
52
55
 
53
56
  Instructions
@@ -111,6 +114,9 @@ for better maintenance as the need is not longer there for feature branching at
111
114
  Release Notes
112
115
  -------------
113
116
 
117
+ Version 0.3.4:
118
+ - Added abstract_feature_branch:install generator to easily get started with a sample config/features.yml
119
+
114
120
  Version 0.3.3:
115
121
  - Removed version from README title
116
122
 
@@ -150,6 +156,6 @@ Contributing to abstract_feature_branch
150
156
  Copyright
151
157
  ---------------------------------------
152
158
 
153
- Copyright (c) 2012 Annas "Andy" Maleh. See LICENSE.txt for
159
+ Copyright (c) 2013 Annas "Andy" Maleh. See LICENSE.txt for
154
160
  further details.
155
161
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.3
1
+ 0.3.4
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "abstract_feature_branch"
8
- s.version = "0.3.3"
8
+ s.version = "0.3.4"
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 = "2012-12-13"
12
+ s.date = "2013-11-19"
13
13
  s.description = "It gives ability to wrap blocks of code with an abstract feature branch name, and then\nspecify which features to be switched on or off in a configuration file.\n\nThe goal is to build out future features with full integration into the codebase, thus\nensuring no delay in integration in the future, while releasing currently done features\nat the same time. Developers then disable future features until they are ready to be\nswitched on in production, but do enable them in staging and locally.\n\nThis gives developers the added benefit of being able to switch a feature off after\nrelease should big problems arise for a high risk feature.\n"
14
14
  s.extra_rdoc_files = [
15
15
  "LICENSE.txt",
@@ -21,30 +21,35 @@ Gem::Specification.new do |s|
21
21
  "VERSION",
22
22
  "abstract_feature_branch.gemspec",
23
23
  "lib/abstract_feature_branch.rb",
24
- "lib/ext/feature_branch.rb"
24
+ "lib/ext/feature_branch.rb",
25
+ "lib/generators/install_generator.rb",
26
+ "lib/generators/templates/config/features.yml"
25
27
  ]
26
28
  s.homepage = "http://github.com/AndyObtiva/abstract_feature_branch"
27
29
  s.licenses = ["MIT"]
28
30
  s.require_paths = ["lib"]
29
- s.rubygems_version = "1.8.24"
31
+ s.rubygems_version = "2.0.6"
30
32
  s.summary = "abstract_feature_branch is a Rails gem that enables developers to easily branch by abstraction as per this pattern: http://paulhammant.com/blog/branch_by_abstraction.html"
31
33
 
32
34
  if s.respond_to? :specification_version then
33
- s.specification_version = 3
35
+ s.specification_version = 4
34
36
 
35
37
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
36
38
  s.add_development_dependency(%q<rspec>, ["= 2.11.0"])
37
- s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
38
- s.add_development_dependency(%q<jeweler>, ["~> 1.8.4"])
39
+ s.add_development_dependency(%q<rdoc>, ["= 3.12.2"])
40
+ s.add_development_dependency(%q<rubygems-update>, ["= 2.1.11"])
41
+ s.add_development_dependency(%q<jeweler>, ["= 1.8.8"])
39
42
  else
40
43
  s.add_dependency(%q<rspec>, ["= 2.11.0"])
41
- s.add_dependency(%q<rdoc>, ["~> 3.12"])
42
- s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
44
+ s.add_dependency(%q<rdoc>, ["= 3.12.2"])
45
+ s.add_dependency(%q<rubygems-update>, ["= 2.1.11"])
46
+ s.add_dependency(%q<jeweler>, ["= 1.8.8"])
43
47
  end
44
48
  else
45
49
  s.add_dependency(%q<rspec>, ["= 2.11.0"])
46
- s.add_dependency(%q<rdoc>, ["~> 3.12"])
47
- s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
50
+ s.add_dependency(%q<rdoc>, ["= 3.12.2"])
51
+ s.add_dependency(%q<rubygems-update>, ["= 2.1.11"])
52
+ s.add_dependency(%q<jeweler>, ["= 1.8.8"])
48
53
  end
49
54
  end
50
55
 
@@ -16,3 +16,4 @@ module AbstractFeatureBranch
16
16
  end
17
17
 
18
18
  require File.join(File.dirname(__FILE__), 'ext', 'feature_branch')
19
+ require File.join(File.dirname(__FILE__), 'generators', 'install_generator')
@@ -0,0 +1,13 @@
1
+ module AbstractFeatureBranch
2
+ module Generators
3
+ class InstallGenerator < Rails::Generators::Base
4
+ source_root File.expand_path("../templates", __FILE__)
5
+
6
+ desc "Creates an Abstract Feature Branch configuration file in your application."
7
+
8
+ def copy_config
9
+ template "config/features.yml", "config/features.yml"
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,19 @@
1
+ defaults: &defaults
2
+ feature1: true
3
+ feature2: true
4
+ feature3: false
5
+
6
+ development:
7
+ <<: *defaults
8
+
9
+ test:
10
+ <<: *defaults
11
+
12
+ staging:
13
+ <<: *defaults
14
+ feature2: false
15
+
16
+ production:
17
+ <<: *defaults
18
+ feature1: false
19
+ feature2: false
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: abstract_feature_branch
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
5
- prerelease:
4
+ version: 0.3.4
6
5
  platform: ruby
7
6
  authors:
8
7
  - Annas "Andy" Maleh
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-12-13 00:00:00.000000000 Z
11
+ date: 2013-11-19 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rspec
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - '='
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - '='
28
25
  - !ruby/object:Gem::Version
@@ -30,57 +27,56 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rdoc
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ~>
31
+ - - '='
36
32
  - !ruby/object:Gem::Version
37
- version: '3.12'
33
+ version: 3.12.2
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ~>
38
+ - - '='
44
39
  - !ruby/object:Gem::Version
45
- version: '3.12'
40
+ version: 3.12.2
41
+ - !ruby/object:Gem::Dependency
42
+ name: rubygems-update
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '='
46
+ - !ruby/object:Gem::Version
47
+ version: 2.1.11
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '='
53
+ - !ruby/object:Gem::Version
54
+ version: 2.1.11
46
55
  - !ruby/object:Gem::Dependency
47
56
  name: jeweler
48
57
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
58
  requirements:
51
- - - ~>
59
+ - - '='
52
60
  - !ruby/object:Gem::Version
53
- version: 1.8.4
61
+ version: 1.8.8
54
62
  type: :development
55
63
  prerelease: false
56
64
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
65
  requirements:
59
- - - ~>
66
+ - - '='
60
67
  - !ruby/object:Gem::Version
61
- version: 1.8.4
62
- description: ! 'It gives ability to wrap blocks of code with an abstract feature branch
63
- name, and then
64
-
68
+ version: 1.8.8
69
+ description: |
70
+ It gives ability to wrap blocks of code with an abstract feature branch name, and then
65
71
  specify which features to be switched on or off in a configuration file.
66
72
 
67
-
68
- The goal is to build out future features with full integration into the codebase,
69
- thus
70
-
73
+ The goal is to build out future features with full integration into the codebase, thus
71
74
  ensuring no delay in integration in the future, while releasing currently done features
72
-
73
- at the same time. Developers then disable future features until they are ready to
74
- be
75
-
75
+ at the same time. Developers then disable future features until they are ready to be
76
76
  switched on in production, but do enable them in staging and locally.
77
77
 
78
-
79
78
  This gives developers the added benefit of being able to switch a feature off after
80
-
81
79
  release should big problems arise for a high risk feature.
82
-
83
- '
84
80
  email:
85
81
  executables: []
86
82
  extensions: []
@@ -94,33 +90,31 @@ files:
94
90
  - abstract_feature_branch.gemspec
95
91
  - lib/abstract_feature_branch.rb
96
92
  - lib/ext/feature_branch.rb
93
+ - lib/generators/install_generator.rb
94
+ - lib/generators/templates/config/features.yml
97
95
  homepage: http://github.com/AndyObtiva/abstract_feature_branch
98
96
  licenses:
99
97
  - MIT
98
+ metadata: {}
100
99
  post_install_message:
101
100
  rdoc_options: []
102
101
  require_paths:
103
102
  - lib
104
103
  required_ruby_version: !ruby/object:Gem::Requirement
105
- none: false
106
104
  requirements:
107
- - - ! '>='
105
+ - - '>='
108
106
  - !ruby/object:Gem::Version
109
107
  version: '0'
110
- segments:
111
- - 0
112
- hash: 3339737454588105210
113
108
  required_rubygems_version: !ruby/object:Gem::Requirement
114
- none: false
115
109
  requirements:
116
- - - ! '>='
110
+ - - '>='
117
111
  - !ruby/object:Gem::Version
118
112
  version: '0'
119
113
  requirements: []
120
114
  rubyforge_project:
121
- rubygems_version: 1.8.24
115
+ rubygems_version: 2.0.6
122
116
  signing_key:
123
- specification_version: 3
124
- summary: ! 'abstract_feature_branch is a Rails gem that enables developers to easily
117
+ specification_version: 4
118
+ summary: 'abstract_feature_branch is a Rails gem that enables developers to easily
125
119
  branch by abstraction as per this pattern: http://paulhammant.com/blog/branch_by_abstraction.html'
126
120
  test_files: []