flipper 0.17.2 → 0.18.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 74b7be3b37819e554e11bfc661794d50f90804ae5665bd7913c08239bb2d14aa
4
- data.tar.gz: 1045e365f31c98ce51e441d0ea0aacac5eeb36e4a9158aa246bd9c3fa778ab81
3
+ metadata.gz: 60a4f0efac1116f4a9c4f0aeb899cd9104dcccf6578691ba639e047a23b77fe0
4
+ data.tar.gz: 270782a3c6d8021e8efa4b926fd0dfbe49613f1b47793d4783e15667cddb58e3
5
5
  SHA512:
6
- metadata.gz: 78acbd2f020a59b1b4912cea78715195e6956918a3c4ad5158053a233709d98ee73f464b6f24bd081e25428ad04721538f8dde7ae4b76d994e421926bd9c11f9
7
- data.tar.gz: d81461bbaacf4028e4f1eb5c9e7ce633d94176ba42c9a5da8504f3123b5caa8c5c73355a17fd5623b5b9c0d2c3c41ab76952e923183a7ae3fbe466a034472506
6
+ metadata.gz: 10f4d755b8f3f9137cdf3868ddc3277177e4dea8d27e1125449c3bfc25afe3350dc4a4a6c97f71f26db8cc180357221686fcc737a1e60ce29edb6adbb60a5cc5
7
+ data.tar.gz: cd5b0bf940e4ff2dbede6c82c7ea2d30ab44fb9ec4917032df3b36b6c7c390c587494a6c334c36fa0498cf83162562afcecb44a12e2373ec8ebf0a3e941d525d
@@ -1,3 +1,15 @@
1
+ ## 0.18.0
2
+
3
+ ## Additions/Changes
4
+
5
+ * Add support for feature descriptions to flipper-ui (https://github.com/jnunemaker/flipper/pull/461).
6
+ * Remove rubocop (https://github.com/jnunemaker/flipper/pull/469).
7
+ * flipper-ui redesign (https://github.com/jnunemaker/flipper/pull/470).
8
+ * Removed support for ruby 2.4.
9
+ * Added support for ruby 2.7.
10
+ * Removed support for Rails 4.x.x.
11
+ * Removed support for customizing actors, groups, % of actors and % of time text in flipper-ui in favor of automatic and more descriptive text.
12
+
1
13
  ## 0.17.2
2
14
 
3
15
  ### Additions/Changes
@@ -90,7 +102,7 @@
90
102
 
91
103
  ### Additions/Changes
92
104
 
93
- * Added rollout adapter documentation (https://github.com/jnunemaker/flipper/pull/328).
105
+ * Added rollout adapter documentation (https://github.com/jnunemaker/flipper/pull/328).
94
106
 
95
107
  ### Bug Fixes
96
108
 
data/Dockerfile CHANGED
@@ -1,4 +1,4 @@
1
- FROM ruby:2.2.5
1
+ FROM ruby:2.5
2
2
 
3
3
  RUN apt-get update && apt-get install -y \
4
4
  # build-essential \
data/Gemfile CHANGED
@@ -12,20 +12,15 @@ gem 'shotgun', '~> 0.9'
12
12
  gem 'statsd-ruby', '~> 1.2.1'
13
13
  gem 'rspec', '~> 3.0'
14
14
  gem 'rack-test', '~> 0.6.3'
15
- gem 'sqlite3', "~> #{ENV['SQLITE3_VERSION'] || '1.3.11'}"
15
+ gem 'sqlite3', "~> #{ENV['SQLITE3_VERSION'] || '1.4.1'}"
16
16
  gem 'rails', "~> #{ENV['RAILS_VERSION'] || '6.0.0'}"
17
17
  gem 'minitest', '~> 5.8'
18
18
  gem 'minitest-documentation'
19
- gem 'rubocop'
20
- gem 'rubocop-rspec'
21
19
  gem 'webmock', '~> 3.0'
22
20
 
23
21
  group(:guard) do
24
22
  gem 'guard', '~> 2.15'
25
- gem 'guard-rubocop', '~> 1.3'
26
23
  gem 'guard-rspec', '~> 4.5'
27
24
  gem 'guard-bundler', '~> 2.2'
28
- gem 'guard-coffeescript', '~> 2.0'
29
- gem 'guard-sass', '~> 1.6'
30
25
  gem 'rb-fsevent', '~> 0.9'
31
26
  end
data/Rakefile CHANGED
@@ -1,7 +1,6 @@
1
1
  #!/usr/bin/env rake
2
2
  $LOAD_PATH.push File.expand_path('../lib', __FILE__)
3
3
  require 'rake/testtask'
4
- require 'rubocop/rake_task'
5
4
  require 'flipper/version'
6
5
 
7
6
  # gem install pkg/*.gem
@@ -50,6 +49,4 @@ Rake::TestTask.new(:test_rails) do |t|
50
49
  t.warning = false
51
50
  end
52
51
 
53
- RuboCop::RakeTask.new
54
-
55
- task default: [:spec, :test, :test_rails, :rubocop]
52
+ task default: [:spec, :test, :test_rails]
@@ -4,7 +4,7 @@ I plan on supporting the adapters in the flipper repo. Other adapters are welcom
4
4
 
5
5
  ## Officially Supported
6
6
 
7
- * [ActiveRecord adapter](https://github.com/jnunemaker/flipper/blob/master/docs/active_record) - Rails 3, 4, and 5.
7
+ * [ActiveRecord adapter](https://github.com/jnunemaker/flipper/blob/master/docs/active_record) - Rails 3, 4, 5, and 6.
8
8
  * [ActiveSupportCacheStore adapter](https://github.com/jnunemaker/flipper/blob/master/docs/active_support_cache_store) - ActiveSupport::Cache::Store
9
9
  * [Cassanity adapter](https://github.com/jnunemaker/flipper-cassanity)
10
10
  * [Http adapter](https://github.com/jnunemaker/flipper/blob/master/docs/http)
@@ -11,7 +11,6 @@ new contributor could start working on code with a minumum efforts.
11
11
  1. Install gems `docker-compose run --rm app bundle install`
12
12
  1. Run specs `docker-compose run --rm app bundle exec rspec`
13
13
  1. Run tests `docker-compose run --rm app bundle exec rake test`
14
- 1. Clear and check files with Rubocop `docker-compose run --rm app bundle exec rubocop -D`
15
14
  1. Optional: log in to container an using a `bash` shell for running specs
16
15
  ```sh
17
16
  docker-compose run --rm app bash
@@ -96,7 +96,7 @@ flipper[:logging].enable percentage
96
96
  flipper[:logging].enabled? # this will return true 5% of the time.
97
97
 
98
98
  # you can also use shortcut methods
99
- flipper.enable_percentage_of_time :search, 5 # registers a feature called "enable_percentage_of_time" and enables it 5% of the time
99
+ flipper.enable_percentage_of_time :search, 5 # registers a feature called "search" and enables it 5% of the time
100
100
  flipper.disable_percentage_of_time :search # sets to 0
101
101
  flipper[:search].enable_percentage_of_time 5
102
102
  flipper[:search].disable_percentage_of_time # sets to 0
@@ -25,7 +25,6 @@ Gem::Specification.new do |gem|
25
25
  gem.authors = ['John Nunemaker']
26
26
  gem.email = ['nunemaker@gmail.com']
27
27
  gem.summary = 'Feature flipper for ANYTHING'
28
- gem.description = 'Feature flipper is the act of enabling/disabling features in your application, ideally without re-deploying or changing anything in your code base. Flipper makes this extremely easy to do with any backend you would like to use.' # rubocop:disable Layout/LineLength
29
28
  gem.homepage = 'https://github.com/jnunemaker/flipper'
30
29
  gem.license = 'MIT'
31
30
 
@@ -1,7 +1,7 @@
1
1
  require "forwardable"
2
2
 
3
3
  module Flipper
4
- extend self # rubocop:disable Style/ModuleFunction
4
+ extend self
5
5
  extend Forwardable
6
6
 
7
7
  # Private: The namespace for all instrumented events.
@@ -5,7 +5,7 @@ require 'flipper/feature_check_context'
5
5
  require 'flipper/gate_values'
6
6
 
7
7
  module Flipper
8
- class Feature # rubocop:disable Metrics/ClassLength
8
+ class Feature
9
9
  # Private: The name of feature instrumentation events.
10
10
  InstrumentationName = "feature_operation.#{InstrumentationNamespace}".freeze
11
11
 
@@ -23,7 +23,7 @@ module Flipper
23
23
  #
24
24
  def initialize(app, opts = {})
25
25
  if opts.is_a?(Flipper::DSL) || opts.is_a?(Proc)
26
- raise 'Flipper::Middleware::Memoizer no longer initializes with a flipper instance or block. Read more at: https://git.io/vSo31.' # rubocop:disable Layout/LineLength
26
+ raise 'Flipper::Middleware::Memoizer no longer initializes with a flipper instance or block. Read more at: https://git.io/vSo31.'
27
27
  end
28
28
 
29
29
  @app = app
@@ -1,4 +1,3 @@
1
- # rubocop:disable Metrics/ModuleLength
2
1
  module Flipper
3
2
  module Test
4
3
  module SharedAdapterTests
@@ -1,3 +1,3 @@
1
1
  module Flipper
2
- VERSION = '0.17.2'.freeze
2
+ VERSION = '0.18.0'.freeze
3
3
  end
@@ -16,7 +16,7 @@ RSpec.describe Flipper::Adapter do
16
16
  describe '.default_config' do
17
17
  it 'returns default config' do
18
18
  adapter_class = Class.new do
19
- include Flipper::Adapter # rubocop:disable RSpec/DescribedClass
19
+ include Flipper::Adapter
20
20
  end
21
21
  expect(adapter_class.default_config).to eq(default_config)
22
22
  end
@@ -25,7 +25,7 @@ RSpec.describe Flipper::Adapter do
25
25
  describe '#default_config' do
26
26
  it 'returns default config' do
27
27
  adapter_class = Class.new do
28
- include Flipper::Adapter # rubocop:disable RSpec/DescribedClass
28
+ include Flipper::Adapter
29
29
  end
30
30
  expect(adapter_class.new.default_config).to eq(default_config)
31
31
  end
@@ -0,0 +1 @@
1
+ some_awesome_feature: 'Awesome feature description'
metadata CHANGED
@@ -1,18 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flipper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.17.2
4
+ version: 0.18.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Nunemaker
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-01-04 00:00:00.000000000 Z
11
+ date: 2020-06-25 00:00:00.000000000 Z
12
12
  dependencies: []
13
- description: Feature flipper is the act of enabling/disabling features in your application,
14
- ideally without re-deploying or changing anything in your code base. Flipper makes
15
- this extremely easy to do with any backend you would like to use.
13
+ description:
16
14
  email:
17
15
  - nunemaker@gmail.com
18
16
  executables: []
@@ -20,8 +18,6 @@ extensions: []
20
18
  extra_rdoc_files: []
21
19
  files:
22
20
  - ".codeclimate.yml"
23
- - ".rubocop.yml"
24
- - ".rubocop_todo.yml"
25
21
  - CODE_OF_CONDUCT.md
26
22
  - Changelog.md
27
23
  - Dockerfile
@@ -143,9 +139,10 @@ files:
143
139
  - spec/flipper/types/percentage_of_actors_spec.rb
144
140
  - spec/flipper/types/percentage_of_time_spec.rb
145
141
  - spec/flipper/types/percentage_spec.rb
142
+ - spec/flipper_integration_spec.rb
146
143
  - spec/flipper_spec.rb
147
144
  - spec/helper.rb
148
- - spec/integration_spec.rb
145
+ - spec/support/descriptions.yml
149
146
  - spec/support/fake_udp_socket.rb
150
147
  - spec/support/spec_helpers.rb
151
148
  - test/adapters/memory_test.rb
@@ -216,9 +213,10 @@ test_files:
216
213
  - spec/flipper/types/percentage_of_actors_spec.rb
217
214
  - spec/flipper/types/percentage_of_time_spec.rb
218
215
  - spec/flipper/types/percentage_spec.rb
216
+ - spec/flipper_integration_spec.rb
219
217
  - spec/flipper_spec.rb
220
218
  - spec/helper.rb
221
- - spec/integration_spec.rb
219
+ - spec/support/descriptions.yml
222
220
  - spec/support/fake_udp_socket.rb
223
221
  - spec/support/spec_helpers.rb
224
222
  - test/adapters/memory_test.rb
@@ -1,52 +0,0 @@
1
- # This is the configuration used to check the rubocop source code.
2
-
3
- require: rubocop-rspec
4
- inherit_from:
5
- - .rubocop_todo.yml
6
-
7
- AllCops:
8
- Exclude:
9
- - 'docker-compose/**/*'
10
- - 'examples/**/*'
11
- - 'tmp/**/*'
12
- - 'bin/**/*'
13
- - 'vendor/bundle/**/*'
14
- TargetRubyVersion: 2.6
15
- Style/Alias:
16
- Enabled: false
17
-
18
- Style/Documentation:
19
- Enabled: false
20
-
21
- Style/Encoding:
22
- Enabled: false
23
-
24
- Style/NumericLiterals:
25
- Enabled: false
26
-
27
- Style/StringLiterals:
28
- Enabled: false
29
-
30
- Style/GuardClause:
31
- Enabled: false
32
-
33
- Style/IfUnlessModifier:
34
- Enabled: false
35
-
36
- Layout/LineLength:
37
- Max: 100
38
-
39
- Style/RegexpLiteral:
40
- EnforcedStyle: mixed
41
-
42
- Style/TrailingCommaInArrayLiteral:
43
- EnforcedStyleForMultiline: consistent_comma
44
-
45
- Style/TrailingCommaInHashLiteral:
46
- EnforcedStyleForMultiline: consistent_comma
47
-
48
- RSpec/InstanceVariable:
49
- Enabled: false
50
-
51
- Lint/SuppressedException:
52
- Enabled: false
@@ -1,562 +0,0 @@
1
- # This configuration was generated by
2
- # `rubocop --auto-gen-config`
3
- # on 2019-09-13 08:34:35 -0400 using RuboCop version 0.74.0.
4
- # The point is for the user to remove these configuration records
5
- # one by one as the offenses are removed from the code base.
6
- # Note that changes in the inspected code, or installation of new
7
- # versions of RuboCop, may require this file to be generated again.
8
-
9
- # Offense count: 6
10
- # Cop supports --auto-correct.
11
- # Configuration parameters: TreatCommentsAsGroupSeparators, Include.
12
- # Include: **/*.gemfile, **/Gemfile, **/gems.rb
13
- Bundler/OrderedGems:
14
- Exclude:
15
- - 'Gemfile'
16
-
17
- # Offense count: 6
18
- # Cop supports --auto-correct.
19
- # Configuration parameters: TreatCommentsAsGroupSeparators, Include.
20
- # Include: **/*.gemspec
21
- Gemspec/OrderedDependencies:
22
- Exclude:
23
- - 'flipper-active_record.gemspec'
24
- - 'flipper-active_support_cache_store.gemspec'
25
- - 'flipper-api.gemspec'
26
- - 'flipper-dalli.gemspec'
27
- - 'flipper-ui.gemspec'
28
-
29
- # Offense count: 4
30
- # Cop supports --auto-correct.
31
- # Configuration parameters: AllowMultipleStyles, EnforcedHashRocketStyle, EnforcedColonStyle, EnforcedLastArgumentHashStyle.
32
- # SupportedHashRocketStyles: key, separator, table
33
- # SupportedColonStyles: key, separator, table
34
- # SupportedLastArgumentHashStyles: always_inspect, always_ignore, ignore_implicit, ignore_explicit
35
- Layout/HashAlignment:
36
- Exclude:
37
- - 'lib/flipper/typecast.rb'
38
-
39
- # Offense count: 1
40
- # Cop supports --auto-correct.
41
- Layout/ClosingHeredocIndentation:
42
- Exclude:
43
- - 'test/generators/flipper/active_record_generator_test.rb'
44
-
45
- # Offense count: 8
46
- # Cop supports --auto-correct.
47
- Layout/EmptyLineAfterGuardClause:
48
- Exclude:
49
- - 'lib/flipper/adapters/sync/feature_synchronizer.rb'
50
- - 'lib/flipper/api/json_params.rb'
51
- - 'lib/flipper/api/v1/actions/feature.rb'
52
- - 'lib/flipper/type.rb'
53
- - 'lib/flipper/types/actor.rb'
54
- - 'lib/flipper/types/group.rb'
55
- - 'lib/flipper/ui/action.rb'
56
-
57
- # Offense count: 12
58
- # Cop supports --auto-correct.
59
- Layout/EmptyLineAfterMagicComment:
60
- Exclude:
61
- - 'flipper-active_record.gemspec'
62
- - 'flipper-active_support_cache_store.gemspec'
63
- - 'flipper-api.gemspec'
64
- - 'flipper-cloud.gemspec'
65
- - 'flipper-dalli.gemspec'
66
- - 'flipper-moneta.gemspec'
67
- - 'flipper-mongo.gemspec'
68
- - 'flipper-redis.gemspec'
69
- - 'flipper-rollout.gemspec'
70
- - 'flipper-sequel.gemspec'
71
- - 'flipper-ui.gemspec'
72
- - 'flipper.gemspec'
73
-
74
- # Offense count: 1
75
- # Cop supports --auto-correct.
76
- Layout/EmptyLinesAroundExceptionHandlingKeywords:
77
- Exclude:
78
- - 'test/adapters/active_record_test.rb'
79
-
80
- # Offense count: 1
81
- # Cop supports --auto-correct.
82
- # Configuration parameters: EnforcedStyle.
83
- # SupportedStyles: squiggly, active_support, powerpack, unindent
84
- Layout/HeredocIndentation:
85
- Exclude:
86
- - 'test/generators/flipper/active_record_generator_test.rb'
87
-
88
- # Offense count: 2
89
- # Cop supports --auto-correct.
90
- Layout/RescueEnsureAlignment:
91
- Exclude:
92
- - 'lib/flipper/api/v1/actions/percentage_of_actors_gate.rb'
93
- - 'lib/flipper/api/v1/actions/percentage_of_time_gate.rb'
94
-
95
- # Offense count: 1
96
- Lint/AmbiguousRegexpLiteral:
97
- Exclude:
98
- - 'lib/flipper/instrumentation/statsd.rb'
99
-
100
- # Offense count: 6
101
- # Configuration parameters: AllowSafeAssignment.
102
- Lint/AssignmentInCondition:
103
- Exclude:
104
- - 'lib/flipper/adapters/active_record.rb'
105
- - 'lib/flipper/adapters/sequel.rb'
106
- - 'lib/flipper/feature.rb'
107
- - 'lib/flipper/gate_values.rb'
108
-
109
- # Offense count: 2
110
- Lint/DuplicateMethods:
111
- Exclude:
112
- - 'lib/flipper/ui.rb'
113
- - 'lib/flipper/ui/configuration.rb'
114
-
115
- # Offense count: 3
116
- # Configuration parameters: MaximumRangeSize.
117
- Lint/MissingCopEnableDirective:
118
- Exclude:
119
- - 'lib/flipper/feature.rb'
120
- - 'lib/flipper/spec/shared_adapter_specs.rb'
121
- - 'lib/flipper/test/shared_adapter_test.rb'
122
-
123
- # Offense count: 1
124
- # Cop supports --auto-correct.
125
- Lint/ScriptPermission:
126
- Exclude:
127
- - 'Rakefile'
128
-
129
- # Offense count: 21
130
- Lint/ShadowingOuterLocalVariable:
131
- Exclude:
132
- - 'spec/flipper/api/v1/actions/actors_gate_spec.rb'
133
- - 'spec/flipper/api/v1/actions/percentage_of_actors_gate_spec.rb'
134
- - 'spec/flipper/api/v1/actions/percentage_of_time_gate_spec.rb'
135
- - 'spec/flipper/dsl_spec.rb'
136
- - 'spec/flipper/feature_spec.rb'
137
- - 'spec/flipper/types/group_spec.rb'
138
-
139
- # Offense count: 2
140
- # Cop supports --auto-correct.
141
- Lint/RedundantCopDisableDirective:
142
- Exclude:
143
- - 'spec/flipper/adapter_spec.rb'
144
-
145
- # Offense count: 1
146
- # Cop supports --auto-correct.
147
- Lint/RedundantRequireStatement:
148
- Exclude:
149
- - 'lib/flipper/registry.rb'
150
-
151
- # Offense count: 27
152
- Lint/UselessAssignment:
153
- Exclude:
154
- - 'lib/flipper/instrumentation/log_subscriber.rb'
155
- - 'lib/flipper/instrumentation/subscriber.rb'
156
- - 'spec/flipper/api/action_spec.rb'
157
- - 'spec/flipper/dsl_spec.rb'
158
- - 'spec/flipper/feature_spec.rb'
159
- - 'spec/flipper/gates/group_spec.rb'
160
- - 'spec/flipper/instrumentation/statsd_subscriber_spec.rb'
161
- - 'spec/flipper/middleware/memoizer_spec.rb'
162
- - 'spec/flipper_spec.rb'
163
-
164
- # Offense count: 35
165
- Metrics/AbcSize:
166
- Max: 29
167
-
168
- # Offense count: 136
169
- # Configuration parameters: CountComments, ExcludedMethods.
170
- # ExcludedMethods: refine
171
- Metrics/BlockLength:
172
- Max: 683
173
-
174
- # Offense count: 11
175
- # Configuration parameters: CountComments.
176
- Metrics/ClassLength:
177
- Max: 160
178
-
179
- # Offense count: 20
180
- # Cop supports --auto-correct.
181
- # Configuration parameters: AutoCorrect, AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
182
- # URISchemes: http, https
183
- Layout/LineLength:
184
- Max: 251
185
-
186
- # Offense count: 59
187
- # Configuration parameters: CountComments, ExcludedMethods.
188
- Metrics/MethodLength:
189
- Max: 23
190
-
191
- # Offense count: 18
192
- Naming/AccessorMethodName:
193
- Enabled: false
194
-
195
- # Offense count: 25
196
- Naming/ConstantName:
197
- Exclude:
198
- - 'lib/flipper.rb'
199
- - 'lib/flipper/adapters/active_support_cache_store.rb'
200
- - 'lib/flipper/adapters/dalli.rb'
201
- - 'lib/flipper/adapters/instrumented.rb'
202
- - 'lib/flipper/adapters/memoizable.rb'
203
- - 'lib/flipper/adapters/memory.rb'
204
- - 'lib/flipper/adapters/mongo.rb'
205
- - 'lib/flipper/adapters/operation_logger.rb'
206
- - 'lib/flipper/adapters/pstore.rb'
207
- - 'lib/flipper/adapters/redis.rb'
208
- - 'lib/flipper/adapters/redis_cache.rb'
209
- - 'lib/flipper/feature.rb'
210
- - 'lib/flipper/gate_values.rb'
211
- - 'lib/flipper/typecast.rb'
212
- - 'lib/flipper/ui/decorators/feature.rb'
213
-
214
- # Offense count: 9
215
- # Configuration parameters: ExpectMatchingDefinition, Regex, IgnoreExecutableScripts, AllowedAcronyms.
216
- # AllowedAcronyms: CLI, DSL, ACL, API, ASCII, CPU, CSS, DNS, EOF, GUID, HTML, HTTP, HTTPS, ID, IP, JSON, LHS, QPS, RAM, RHS, RPC, SLA, SMTP, SQL, SSH, TCP, TLS, TTL, UDP, UI, UID, UUID, URI, URL, UTF8, VM, XML, XMPP, XSRF, XSS
217
- Naming/FileName:
218
- Exclude:
219
- - 'lib/flipper-active_record.rb'
220
- - 'lib/flipper-active_support_cache_store.rb'
221
- - 'lib/flipper-api.rb'
222
- - 'lib/flipper-cloud.rb'
223
- - 'lib/flipper-dalli.rb'
224
- - 'lib/flipper-mongo.rb'
225
- - 'lib/flipper-redis.rb'
226
- - 'lib/flipper-sequel.rb'
227
- - 'lib/flipper-ui.rb'
228
-
229
- # Offense count: 1
230
- # Configuration parameters: Blacklist.
231
- # Blacklist: (?-mix:(^|\s)(EO[A-Z]{1}|END)(\s|$))
232
- Naming/HeredocDelimiterNaming:
233
- Exclude:
234
- - 'test/generators/flipper/active_record_generator_test.rb'
235
-
236
- # Offense count: 4
237
- # Cop supports --auto-correct.
238
- # Configuration parameters: PreferredName.
239
- Naming/RescuedExceptionsVariableName:
240
- Exclude:
241
- - 'lib/flipper/adapters/active_record.rb'
242
- - 'lib/flipper/adapters/sync/synchronizer.rb'
243
- - 'lib/flipper/ui/actions/percentage_of_actors_gate.rb'
244
- - 'lib/flipper/ui/actions/percentage_of_time_gate.rb'
245
-
246
- # Offense count: 3
247
- RSpec/BeforeAfterAll:
248
- Exclude:
249
- - 'spec/spec_helper.rb'
250
- - 'spec/rails_helper.rb'
251
- - 'spec/support/**/*.rb'
252
- - 'spec/flipper/adapters/active_record_spec.rb'
253
- - 'spec/flipper/adapters/http_spec.rb'
254
-
255
- # Offense count: 76
256
- # Configuration parameters: Prefixes.
257
- # Prefixes: when, with, without
258
- RSpec/ContextWording:
259
- Enabled: false
260
-
261
- # Offense count: 1
262
- # Configuration parameters: CustomIncludeMethods.
263
- RSpec/EmptyExampleGroup:
264
- Exclude:
265
- - 'spec/flipper/gates/actor_spec.rb'
266
-
267
- # Offense count: 3
268
- # Cop supports --auto-correct.
269
- RSpec/EmptyLineAfterFinalLet:
270
- Exclude:
271
- - 'spec/flipper/adapters/moneta_spec.rb'
272
- - 'spec/flipper/ui/actions/features_spec.rb'
273
-
274
- # Offense count: 2
275
- # Cop supports --auto-correct.
276
- RSpec/EmptyLineAfterSubject:
277
- Exclude:
278
- - 'spec/flipper/adapters/http_spec.rb'
279
- - 'spec/flipper/types/percentage_spec.rb'
280
-
281
- # Offense count: 138
282
- # Configuration parameters: Max.
283
- RSpec/ExampleLength:
284
- Enabled: false
285
-
286
- # Offense count: 1
287
- # Configuration parameters: CustomTransform, IgnoreMethods.
288
- RSpec/FilePath:
289
- Exclude:
290
- - 'spec/flipper/adapters/pstore_spec.rb'
291
-
292
- # Offense count: 6
293
- # Cop supports --auto-correct.
294
- # Configuration parameters: EnforcedStyle.
295
- # SupportedStyles: implicit, each, example
296
- RSpec/HookArgument:
297
- Exclude:
298
- - 'spec/flipper/adapters/active_record_spec.rb'
299
- - 'spec/flipper/adapters/http_spec.rb'
300
- - 'spec/flipper/adapters/sequel_spec.rb'
301
- - 'spec/helper.rb'
302
-
303
- # Offense count: 4
304
- # Cop supports --auto-correct.
305
- RSpec/HooksBeforeExamples:
306
- Exclude:
307
- - 'spec/flipper/ui_spec.rb'
308
-
309
- # Offense count: 22
310
- # Cop supports --auto-correct.
311
- # Configuration parameters: EnforcedStyle.
312
- # SupportedStyles: it_behaves_like, it_should_behave_like
313
- RSpec/ItBehavesLike:
314
- Enabled: false
315
-
316
- # Offense count: 4
317
- RSpec/IteratedExpectation:
318
- Exclude:
319
- - 'spec/flipper/dsl_spec.rb'
320
- - 'spec/flipper/feature_spec.rb'
321
- - 'spec/flipper/gates/percentage_of_actors_spec.rb'
322
- - 'spec/flipper/registry_spec.rb'
323
-
324
- # Offense count: 26
325
- # Cop supports --auto-correct.
326
- RSpec/LeadingSubject:
327
- Enabled: false
328
-
329
- # Offense count: 17
330
- # Configuration parameters: .
331
- # SupportedStyles: have_received, receive
332
- RSpec/MessageSpies:
333
- EnforcedStyle: receive
334
-
335
- # Offense count: 233
336
- # Configuration parameters: AggregateFailuresByDefault.
337
- RSpec/MultipleExpectations:
338
- Max: 20
339
-
340
- # Offense count: 449
341
- # Configuration parameters: IgnoreSharedExamples.
342
- RSpec/NamedSubject:
343
- Enabled: false
344
-
345
- # Offense count: 25
346
- RSpec/NestedGroups:
347
- Max: 5
348
-
349
- # Offense count: 19
350
- # Cop supports --auto-correct.
351
- # Configuration parameters: Strict, EnforcedStyle.
352
- # SupportedStyles: inflected, explicit
353
- RSpec/PredicateMatcher:
354
- Exclude:
355
- - 'spec/flipper/api/v1/actions/actors_gate_spec.rb'
356
- - 'spec/flipper/api/v1/actions/boolean_gate_spec.rb'
357
- - 'spec/flipper/api/v1/actions/clear_feature_spec.rb'
358
- - 'spec/flipper/api/v1/actions/features_spec.rb'
359
- - 'spec/flipper/api/v1/actions/groups_gate_spec.rb'
360
- - 'spec/flipper/types/group_spec.rb'
361
-
362
- # Offense count: 1
363
- # Cop supports --auto-correct.
364
- RSpec/ReceiveNever:
365
- Exclude:
366
- - 'spec/flipper/middleware/memoizer_spec.rb'
367
-
368
- # Offense count: 2
369
- RSpec/RepeatedDescription:
370
- Exclude:
371
- - 'spec/flipper/gates/boolean_spec.rb'
372
-
373
- # Offense count: 4
374
- RSpec/RepeatedExample:
375
- Exclude:
376
- - 'spec/flipper/cloud_spec.rb'
377
- - 'spec/integration_spec.rb'
378
-
379
- # Offense count: 2
380
- RSpec/ScatteredLet:
381
- Exclude:
382
- - 'spec/flipper/adapters/http_spec.rb'
383
- - 'spec/flipper/instrumentation/log_subscriber_spec.rb'
384
-
385
- # Offense count: 4
386
- RSpec/SubjectStub:
387
- Exclude:
388
- - 'spec/flipper/adapters/sync_spec.rb'
389
-
390
- # Offense count: 17
391
- # Configuration parameters: IgnoreNameless, IgnoreSymbolicNames.
392
- RSpec/VerifiedDoubles:
393
- Exclude:
394
- - 'spec/flipper/api/v1/actions/features_spec.rb'
395
- - 'spec/flipper/dsl_spec.rb'
396
- - 'spec/flipper/feature_spec.rb'
397
- - 'spec/flipper/types/group_spec.rb'
398
- - 'spec/flipper_spec.rb'
399
- - 'spec/integration_spec.rb'
400
-
401
- # Offense count: 1
402
- Security/Eval:
403
- Exclude:
404
- - 'flipper.gemspec'
405
-
406
- # Offense count: 5
407
- Security/MarshalLoad:
408
- Exclude:
409
- - 'lib/flipper/adapters/redis_cache.rb'
410
- - 'spec/flipper/adapters/redis_cache_spec.rb'
411
-
412
- # Offense count: 2
413
- # Configuration parameters: EnforcedStyle.
414
- # SupportedStyles: inline, group
415
- Style/AccessModifierDeclarations:
416
- Exclude:
417
- - 'lib/flipper/api/action.rb'
418
- - 'lib/flipper/ui/action.rb'
419
-
420
- # Offense count: 3
421
- Style/DoubleNegation:
422
- Exclude:
423
- - 'lib/flipper/adapters/memoizable.rb'
424
- - 'lib/flipper/gates/boolean.rb'
425
- - 'lib/flipper/typecast.rb'
426
-
427
- # Offense count: 1
428
- # Cop supports --auto-correct.
429
- Style/EmptyLambdaParameter:
430
- Exclude:
431
- - 'lib/flipper/ui.rb'
432
-
433
- # Offense count: 1
434
- # Cop supports --auto-correct.
435
- # Configuration parameters: EnforcedStyle.
436
- # SupportedStyles: compact, expanded
437
- Style/EmptyMethod:
438
- Exclude:
439
- - 'lib/flipper/gate.rb'
440
-
441
- # Offense count: 27
442
- # Cop supports --auto-correct.
443
- Style/ExpandPathArguments:
444
- Enabled: false
445
-
446
- # Offense count: 2
447
- # Cop supports --auto-correct.
448
- # Configuration parameters: EnforcedStyle.
449
- # SupportedStyles: format, sprintf, percent
450
- Style/FormatString:
451
- Exclude:
452
- - 'lib/flipper/instrumentation/log_subscriber.rb'
453
-
454
- # Offense count: 2
455
- # Configuration parameters: .
456
- # SupportedStyles: annotated, template, unannotated
457
- Style/FormatStringToken:
458
- EnforcedStyle: unannotated
459
-
460
- # Offense count: 219
461
- # Cop supports --auto-correct.
462
- # Configuration parameters: EnforcedStyle.
463
- # SupportedStyles: always, never
464
- Style/FrozenStringLiteralComment:
465
- Enabled: false
466
-
467
- # Offense count: 1
468
- # Configuration parameters: AllowIfModifier.
469
- Style/IfInsideElse:
470
- Exclude:
471
- - 'lib/flipper/gates/actor.rb'
472
-
473
- # Offense count: 1
474
- Style/MethodMissingSuper:
475
- Exclude:
476
- - 'lib/flipper/types/actor.rb'
477
-
478
- # Offense count: 1
479
- Style/MissingRespondToMissing:
480
- Exclude:
481
- - 'lib/flipper/types/actor.rb'
482
-
483
- # Offense count: 1
484
- # Cop supports --auto-correct.
485
- # Configuration parameters: EnforcedStyle.
486
- # SupportedStyles: literals, strict
487
- Style/MutableConstant:
488
- Exclude:
489
- - 'lib/flipper/ui/util.rb'
490
-
491
- # Offense count: 5
492
- # Cop supports --auto-correct.
493
- # Configuration parameters: AutoCorrect, EnforcedStyle, IgnoredMethods.
494
- # SupportedStyles: predicate, comparison
495
- Style/NumericPredicate:
496
- Exclude:
497
- - 'spec/**/*'
498
- - 'lib/flipper/api/v1/actions/percentage_of_actors_gate.rb'
499
- - 'lib/flipper/api/v1/actions/percentage_of_time_gate.rb'
500
- - 'lib/flipper/gates/percentage_of_actors.rb'
501
- - 'lib/flipper/gates/percentage_of_time.rb'
502
- - 'lib/flipper/types/percentage.rb'
503
-
504
- # Offense count: 34
505
- # Cop supports --auto-correct.
506
- # Configuration parameters: PreferredDelimiters.
507
- Style/PercentLiteralDelimiters:
508
- Exclude:
509
- - 'Rakefile'
510
- - 'lib/flipper/spec/shared_adapter_specs.rb'
511
- - 'lib/flipper/test/shared_adapter_test.rb'
512
- - 'lib/flipper/ui.rb'
513
- - 'lib/flipper/ui/configuration.rb'
514
- - 'spec/flipper/adapter_spec.rb'
515
- - 'spec/flipper/adapters/http_spec.rb'
516
- - 'spec/flipper/adapters/memoizable_spec.rb'
517
- - 'spec/flipper/adapters/sync/synchronizer_spec.rb'
518
- - 'spec/flipper/adapters/sync_spec.rb'
519
- - 'spec/flipper/api/v1/actions/features_spec.rb'
520
- - 'spec/flipper/api_spec.rb'
521
- - 'spec/flipper/dsl_spec.rb'
522
- - 'spec/flipper/middleware/memoizer_spec.rb'
523
- - 'spec/flipper/registry_spec.rb'
524
-
525
- # Offense count: 3
526
- # Cop supports --auto-correct.
527
- Style/RedundantBegin:
528
- Exclude:
529
- - 'spec/flipper/middleware/memoizer_spec.rb'
530
- - 'spec/flipper/ui/actions/feature_spec.rb'
531
- - 'spec/flipper/ui_spec.rb'
532
-
533
- # Offense count: 2
534
- # Cop supports --auto-correct.
535
- # Configuration parameters: EnforcedStyle.
536
- # SupportedStyles: implicit, explicit
537
- Style/RescueStandardError:
538
- Exclude:
539
- - 'lib/flipper/adapters/sync/synchronizer.rb'
540
- - 'spec/flipper/middleware/memoizer_spec.rb'
541
-
542
- # Offense count: 4
543
- # Cop supports --auto-correct.
544
- # Configuration parameters: ConvertCodeThatCanStartToReturnNil, Whitelist.
545
- # Whitelist: present?, blank?, presence, try, try!
546
- Style/SafeNavigation:
547
- Exclude:
548
- - 'lib/flipper/instrumentation/statsd_subscriber.rb'
549
- - 'lib/flipper/middleware/memoizer.rb'
550
- - 'spec/flipper/adapters/http_spec.rb'
551
-
552
- # Offense count: 8
553
- # Cop supports --auto-correct.
554
- # Configuration parameters: EnforcedStyle, MinSize.
555
- # SupportedStyles: percent, brackets
556
- Style/SymbolArray:
557
- Exclude:
558
- - 'Rakefile'
559
- - 'lib/flipper/adapters/operation_logger.rb'
560
- - 'lib/generators/flipper/templates/sequel_migration.rb'
561
- - 'spec/flipper/adapters/rollout_spec.rb'
562
- - 'spec/flipper/gate_values_spec.rb'