arturo 2.2.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +46 -0
  3. data/README.md +141 -91
  4. data/app/controllers/arturo/features_controller.rb +3 -3
  5. data/app/helpers/arturo/features_helper.rb +1 -0
  6. data/app/views/arturo/features/_feature.html.erb +1 -0
  7. data/app/views/arturo/features/_form.html.erb +1 -0
  8. data/app/views/arturo/features/edit.html.erb +1 -0
  9. data/app/views/arturo/features/forbidden.html.erb +1 -0
  10. data/app/views/arturo/features/index.html.erb +1 -0
  11. data/app/views/arturo/features/new.html.erb +1 -0
  12. data/app/views/arturo/features/show.html.erb +1 -0
  13. data/config/routes.rb +1 -0
  14. data/lib/arturo/controller_filters.rb +2 -1
  15. data/lib/arturo/engine.rb +6 -2
  16. data/lib/arturo/feature.rb +41 -38
  17. data/lib/arturo/feature_availability.rb +2 -1
  18. data/lib/arturo/feature_caching.rb +103 -10
  19. data/lib/arturo/feature_factories.rb +3 -2
  20. data/lib/arturo/feature_management.rb +1 -0
  21. data/lib/arturo/feature_params_support.rb +1 -0
  22. data/lib/arturo/middleware.rb +1 -0
  23. data/lib/arturo/no_such_feature.rb +1 -0
  24. data/lib/arturo/null_logger.rb +8 -0
  25. data/lib/arturo/special_handling.rb +6 -6
  26. data/lib/arturo/test_support.rb +3 -2
  27. data/lib/arturo/version.rb +4 -0
  28. data/lib/arturo.rb +12 -2
  29. data/lib/generators/arturo/assets_generator.rb +1 -0
  30. data/lib/generators/arturo/feature_model_generator.rb +14 -0
  31. data/lib/generators/arturo/initializer_generator.rb +1 -0
  32. data/lib/generators/arturo/migration_generator.rb +10 -10
  33. data/lib/generators/arturo/routes_generator.rb +1 -0
  34. data/lib/generators/arturo/templates/feature.rb +9 -0
  35. data/lib/generators/arturo/templates/initializer.rb +1 -0
  36. data/lib/generators/arturo/templates/migration.erb +17 -0
  37. metadata +50 -118
  38. data/lib/generators/arturo/templates/migration.rb +0 -17
metadata CHANGED
@@ -1,194 +1,125 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arturo
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James A. Rosen
8
8
  autorequire:
9
9
  bindir: bin
10
- cert_chain:
11
- - gem-public_cert.pem
12
- date: 2016-01-05 00:00:00.000000000 Z
10
+ cert_chain: []
11
+ date: 2023-10-27 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: activerecord
16
15
  requirement: !ruby/object:Gem::Requirement
17
16
  requirements:
18
- - - '>'
17
+ - - ">="
19
18
  - !ruby/object:Gem::Version
20
- version: '3.2'
21
- - - <
19
+ version: '5.2'
20
+ - - "<"
22
21
  - !ruby/object:Gem::Version
23
- version: '5.1'
22
+ version: '7.2'
24
23
  type: :runtime
25
24
  prerelease: false
26
25
  version_requirements: !ruby/object:Gem::Requirement
27
26
  requirements:
28
- - - '>'
27
+ - - ">="
29
28
  - !ruby/object:Gem::Version
30
- version: '3.2'
31
- - - <
29
+ version: '5.2'
30
+ - - "<"
32
31
  - !ruby/object:Gem::Version
33
- version: '5.1'
32
+ version: '7.2'
34
33
  - !ruby/object:Gem::Dependency
35
34
  name: rails
36
35
  requirement: !ruby/object:Gem::Requirement
37
36
  requirements:
38
- - - '>'
37
+ - - ">="
39
38
  - !ruby/object:Gem::Version
40
- version: '3.2'
41
- - - <
39
+ version: '5.2'
40
+ - - "<"
42
41
  - !ruby/object:Gem::Version
43
- version: '5.1'
42
+ version: '7.2'
44
43
  type: :development
45
44
  prerelease: false
46
45
  version_requirements: !ruby/object:Gem::Requirement
47
46
  requirements:
48
- - - '>'
47
+ - - ">="
49
48
  - !ruby/object:Gem::Version
50
- version: '3.2'
51
- - - <
49
+ version: '5.2'
50
+ - - "<"
52
51
  - !ruby/object:Gem::Version
53
- version: '5.1'
52
+ version: '7.2'
54
53
  - !ruby/object:Gem::Dependency
55
- name: mocha
56
- requirement: !ruby/object:Gem::Requirement
57
- requirements:
58
- - - ~>
59
- - !ruby/object:Gem::Version
60
- version: '1.1'
61
- type: :development
62
- prerelease: false
63
- version_requirements: !ruby/object:Gem::Requirement
64
- requirements:
65
- - - ~>
66
- - !ruby/object:Gem::Version
67
- version: '1.1'
68
- - !ruby/object:Gem::Dependency
69
- name: rake
70
- requirement: !ruby/object:Gem::Requirement
71
- requirements:
72
- - - ~>
73
- - !ruby/object:Gem::Version
74
- version: '10.3'
75
- type: :development
76
- prerelease: false
77
- version_requirements: !ruby/object:Gem::Requirement
78
- requirements:
79
- - - ~>
80
- - !ruby/object:Gem::Version
81
- version: '10.3'
82
- - !ruby/object:Gem::Dependency
83
- name: minitest
54
+ name: sqlite3
84
55
  requirement: !ruby/object:Gem::Requirement
85
56
  requirements:
86
- - - '>'
57
+ - - ">="
87
58
  - !ruby/object:Gem::Version
88
59
  version: '0'
89
- - - <
90
- - !ruby/object:Gem::Version
91
- version: '6.0'
92
60
  type: :development
93
61
  prerelease: false
94
62
  version_requirements: !ruby/object:Gem::Requirement
95
63
  requirements:
96
- - - '>'
64
+ - - ">="
97
65
  - !ruby/object:Gem::Version
98
66
  version: '0'
99
- - - <
100
- - !ruby/object:Gem::Version
101
- version: '6.0'
102
67
  - !ruby/object:Gem::Dependency
103
- name: minitest-rg
68
+ name: rspec-rails
104
69
  requirement: !ruby/object:Gem::Requirement
105
70
  requirements:
106
- - - '>'
71
+ - - ">="
107
72
  - !ruby/object:Gem::Version
108
73
  version: '0'
109
- - - <
110
- - !ruby/object:Gem::Version
111
- version: '6.0'
112
74
  type: :development
113
75
  prerelease: false
114
76
  version_requirements: !ruby/object:Gem::Requirement
115
77
  requirements:
116
- - - '>'
78
+ - - ">="
117
79
  - !ruby/object:Gem::Version
118
80
  version: '0'
119
- - - <
120
- - !ruby/object:Gem::Version
121
- version: '6.0'
122
- - !ruby/object:Gem::Dependency
123
- name: rails-dom-testing
124
- requirement: !ruby/object:Gem::Requirement
125
- requirements:
126
- - - ~>
127
- - !ruby/object:Gem::Version
128
- version: '1.0'
129
- type: :development
130
- prerelease: false
131
- version_requirements: !ruby/object:Gem::Requirement
132
- requirements:
133
- - - ~>
134
- - !ruby/object:Gem::Version
135
- version: '1.0'
136
- - !ruby/object:Gem::Dependency
137
- name: sqlite3
138
- requirement: !ruby/object:Gem::Requirement
139
- requirements:
140
- - - ~>
141
- - !ruby/object:Gem::Version
142
- version: '1.3'
143
- type: :development
144
- prerelease: false
145
- version_requirements: !ruby/object:Gem::Requirement
146
- requirements:
147
- - - ~>
148
- - !ruby/object:Gem::Version
149
- version: '1.3'
150
81
  - !ruby/object:Gem::Dependency
151
- name: factory_girl
82
+ name: factory_bot
152
83
  requirement: !ruby/object:Gem::Requirement
153
84
  requirements:
154
- - - ~>
85
+ - - ">="
155
86
  - !ruby/object:Gem::Version
156
- version: '4.2'
87
+ version: '0'
157
88
  type: :development
158
89
  prerelease: false
159
90
  version_requirements: !ruby/object:Gem::Requirement
160
91
  requirements:
161
- - - ~>
92
+ - - ">="
162
93
  - !ruby/object:Gem::Version
163
- version: '4.2'
94
+ version: '0'
164
95
  - !ruby/object:Gem::Dependency
165
96
  name: timecop
166
97
  requirement: !ruby/object:Gem::Requirement
167
98
  requirements:
168
- - - ~>
99
+ - - ">="
169
100
  - !ruby/object:Gem::Version
170
- version: '0.3'
101
+ version: '0'
171
102
  type: :development
172
103
  prerelease: false
173
104
  version_requirements: !ruby/object:Gem::Requirement
174
105
  requirements:
175
- - - ~>
106
+ - - ">="
176
107
  - !ruby/object:Gem::Version
177
- version: '0.3'
108
+ version: '0'
178
109
  - !ruby/object:Gem::Dependency
179
- name: wwtd
110
+ name: bump
180
111
  requirement: !ruby/object:Gem::Requirement
181
112
  requirements:
182
- - - ~>
113
+ - - ">="
183
114
  - !ruby/object:Gem::Version
184
- version: '0.5'
115
+ version: '0'
185
116
  type: :development
186
117
  prerelease: false
187
118
  version_requirements: !ruby/object:Gem::Requirement
188
119
  requirements:
189
- - - ~>
120
+ - - ">="
190
121
  - !ruby/object:Gem::Version
191
- version: '0.5'
122
+ version: '0'
192
123
  description: Deploy features incrementally to your users
193
124
  email: james.a.rosen@gmail.com
194
125
  executables: []
@@ -223,39 +154,40 @@ files:
223
154
  - lib/arturo/feature_params_support.rb
224
155
  - lib/arturo/middleware.rb
225
156
  - lib/arturo/no_such_feature.rb
157
+ - lib/arturo/null_logger.rb
226
158
  - lib/arturo/special_handling.rb
227
159
  - lib/arturo/test_support.rb
160
+ - lib/arturo/version.rb
228
161
  - lib/generators/arturo/assets_generator.rb
162
+ - lib/generators/arturo/feature_model_generator.rb
229
163
  - lib/generators/arturo/initializer_generator.rb
230
164
  - lib/generators/arturo/migration_generator.rb
231
165
  - lib/generators/arturo/routes_generator.rb
232
166
  - lib/generators/arturo/templates/arturo_customizations.css
167
+ - lib/generators/arturo/templates/feature.rb
233
168
  - lib/generators/arturo/templates/initializer.rb
234
- - lib/generators/arturo/templates/migration.rb
235
- homepage: http://github.com/jamesarosen/arturo
169
+ - lib/generators/arturo/templates/migration.erb
170
+ homepage: http://github.com/zendesk/arturo
236
171
  licenses:
237
172
  - APLv2
238
173
  metadata: {}
239
174
  post_install_message:
240
175
  rdoc_options: []
241
176
  require_paths:
242
- - .
243
177
  - lib
244
178
  required_ruby_version: !ruby/object:Gem::Requirement
245
179
  requirements:
246
- - - '>='
180
+ - - ">="
247
181
  - !ruby/object:Gem::Version
248
- version: '2.0'
182
+ version: '2.7'
249
183
  required_rubygems_version: !ruby/object:Gem::Requirement
250
184
  requirements:
251
- - - '>='
185
+ - - ">="
252
186
  - !ruby/object:Gem::Version
253
187
  version: '0'
254
188
  requirements: []
255
- rubyforge_project:
256
- rubygems_version: 2.5.1
189
+ rubygems_version: 3.0.3.1
257
190
  signing_key:
258
- specification_version: 2
191
+ specification_version: 4
259
192
  summary: Feature sliders, wrapped up in an engine
260
193
  test_files: []
261
- has_rdoc: 'false'
@@ -1,17 +0,0 @@
1
- require 'active_support/core_ext'
2
-
3
- class CreateFeatures < ActiveRecord::Migration
4
- def self.up
5
- create_table :features do |t|
6
- t.string :symbol, :null => false
7
- t.integer :deployment_percentage, :null => false
8
- #Any additional fields here
9
-
10
- t.timestamps
11
- end
12
- end
13
-
14
- def self.down
15
- drop_table :features
16
- end
17
- end