ezcater_rubocop 0.61.1 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -1
- data/README.md +1 -12
- data/config/default.yml +0 -4
- data/lib/ezcater_rubocop.rb +0 -1
- data/lib/ezcater_rubocop/version.rb +1 -1
- metadata +2 -3
- data/lib/rubocop/cop/ezcater/private_attr.rb +0 -93
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8e1c304030fe5da5102a86e477882fa12f9132b1896f0d7b24aff2ea70a99cab
|
4
|
+
data.tar.gz: 3aa1c18e629184ba97669e1f5a095dd932e1f8b59196627e62a94a5144c10fc6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 99ee7e614217065e3d9e47a442e06924e2ab53b2ccddf79ac1edbeb429a55ef4333fe9868d23f136bf8ff78aff4f163d210b52f248cf6ab9e9a03190a51bef62
|
7
|
+
data.tar.gz: c09be310e90746bae51e5858f3fef846de23c11fee2944774855b5d869639a9bb5ebc78435f8b2408dc7cafc7f1927fd7b249afba7190e3cc738ad08a312f72b
|
data/CHANGELOG.md
CHANGED
@@ -2,9 +2,16 @@
|
|
2
2
|
|
3
3
|
# Versioning
|
4
4
|
|
5
|
-
|
5
|
+
This gem is moving onto its own [Semantic Versioning](https://semver.org/) scheme starting with v1.0.0. All version bumps moving forward should increment using `MAJOR.MINOR.PATCH` based on changes.
|
6
|
+
|
7
|
+
Prior to v1.0.0 this gem was versioned based on the `MAJOR`.`MINOR` version of RuboCop. The first release of the
|
6
8
|
ezcater_rubocop gem was `v0.49.0`.
|
7
9
|
|
10
|
+
## v1.0.0
|
11
|
+
|
12
|
+
- Begin using Semantic Versioning
|
13
|
+
- Delete `Ezcater/PrivateAttr`
|
14
|
+
|
8
15
|
## v0.61.1
|
9
16
|
- `Layout/IndentHash` enforces consistent style
|
10
17
|
- `Layout/IndentArray` enforces consistent style
|
data/README.md
CHANGED
@@ -70,21 +70,10 @@ running rubocop.
|
|
70
70
|
|
71
71
|
## Versioning
|
72
72
|
|
73
|
-
This gem is
|
74
|
-
release of the `ezcater_rubocop` gem was v0.49.0.
|
75
|
-
|
76
|
-
The patch version for this gem does _not_ correspond to the patch version of
|
77
|
-
`rubocop`. The patch version for this gem will change any time that one of its
|
78
|
-
configurations is modified _or_ its dependency on `rubocop` is changed to require
|
79
|
-
a different patch version.
|
80
|
-
|
81
|
-
This gem also includes a dependency on `rubocop-rspec` that will be updated to
|
82
|
-
the latest compatible version each time that the MAJOR.MINOR version of `rubocop`
|
83
|
-
is updated.
|
73
|
+
This gem is using [Semantic Versioning](https://semver.org/). All version bumps should increment using `MAJOR.MINOR.PATCH` based on changes.
|
84
74
|
|
85
75
|
## Custom Cops
|
86
76
|
|
87
|
-
1. [PrivateAttr](https://github.com/ezcater/ezcater_rubocop/blob/master/lib/rubocop/cop/ezcater/private_attr.rb) - Require methods from the `private_attr` gem.
|
88
77
|
1. [RailsConfiguration](https://github.com/ezcater/ezcater_rubocop/blob/master/lib/rubocop/cop/ezcater/rails_configuration.rb) - Enforce use of `Rails.configuration` instead of `Rails.application.config`.
|
89
78
|
1. [RequireGqlErrorHelpers](https://github.com/ezcater/ezcater_rubocop/blob/master/lib/rubocop/cop/ezcater/require_gql_error_helpers.rb) - Use the helpers provided by `GQLErrors` instead of raising `GraphQL::ExecutionError` directly.
|
90
79
|
1. [RspecDotNotSelfDot](https://github.com/ezcater/ezcater_rubocop/blob/master/lib/rubocop/cop/ezcater/rspec_dot_not_self_dot.rb) - Enforce ".<class method>" instead of "self.<class method>" and "::<class method>" for example group description.
|
data/config/default.yml
CHANGED
data/lib/ezcater_rubocop.rb
CHANGED
@@ -14,7 +14,6 @@ puts "configuration from #{DEFAULT_FILES}" if RuboCop::ConfigLoader.debug?
|
|
14
14
|
config = RuboCop::ConfigLoader.merge_with_default(config, path)
|
15
15
|
RuboCop::ConfigLoader.instance_variable_set(:@default_configuration, config)
|
16
16
|
|
17
|
-
require "rubocop/cop/ezcater/private_attr"
|
18
17
|
require "rubocop/cop/ezcater/rails_configuration"
|
19
18
|
require "rubocop/cop/ezcater/require_gql_error_helpers"
|
20
19
|
require "rubocop/cop/ezcater/rspec_match_ordered_array"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ezcater_rubocop
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ezCater, Inc
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-02-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -157,7 +157,6 @@ files:
|
|
157
157
|
- ezcater_rubocop.gemspec
|
158
158
|
- lib/ezcater_rubocop.rb
|
159
159
|
- lib/ezcater_rubocop/version.rb
|
160
|
-
- lib/rubocop/cop/ezcater/private_attr.rb
|
161
160
|
- lib/rubocop/cop/ezcater/rails_configuration.rb
|
162
161
|
- lib/rubocop/cop/ezcater/require_gql_error_helpers.rb
|
163
162
|
- lib/rubocop/cop/ezcater/rspec_dot_not_self_dot.rb
|
@@ -1,93 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module RuboCop
|
4
|
-
module Cop
|
5
|
-
module Ezcater
|
6
|
-
# This cop checks for the use of `attr_accessor`, `attr_reader`, `attr_writer`
|
7
|
-
# and `alias_method` after the access modifiers `private` and `protected`
|
8
|
-
# and requires the use of methods from the private_attr gem instead.
|
9
|
-
#
|
10
|
-
# @example
|
11
|
-
#
|
12
|
-
# # bad
|
13
|
-
#
|
14
|
-
# class C
|
15
|
-
# private
|
16
|
-
#
|
17
|
-
# attr_accessor :foo
|
18
|
-
# attr_reader :bar
|
19
|
-
# attr_writer :baz
|
20
|
-
# alias_method :foobar, foo
|
21
|
-
# end
|
22
|
-
#
|
23
|
-
#
|
24
|
-
# @example
|
25
|
-
#
|
26
|
-
# # good
|
27
|
-
#
|
28
|
-
# class C
|
29
|
-
# private_attr_accessor :foo
|
30
|
-
# private_attr_reader :bar
|
31
|
-
# private_attr_writer :baz
|
32
|
-
# private_alias_method :foobar, :foo
|
33
|
-
#
|
34
|
-
# private
|
35
|
-
#
|
36
|
-
# def shy
|
37
|
-
# puts "hi"
|
38
|
-
# end
|
39
|
-
# end
|
40
|
-
class PrivateAttr < Cop
|
41
|
-
ATTR_METHODS = %i(attr_accessor
|
42
|
-
attr_reader
|
43
|
-
attr_writer).freeze
|
44
|
-
|
45
|
-
ACCESS_AFFECTED_METHODS = (ATTR_METHODS + %i(alias_method)).to_set.freeze
|
46
|
-
|
47
|
-
MSG = "Use `%<visibility>s_%<method_name>s` instead"
|
48
|
-
|
49
|
-
def on_class(node)
|
50
|
-
check_node(node.children[2]) # class body
|
51
|
-
end
|
52
|
-
|
53
|
-
def on_module(node)
|
54
|
-
check_node(node.children[1]) # module body
|
55
|
-
end
|
56
|
-
|
57
|
-
private
|
58
|
-
|
59
|
-
def check_node(node)
|
60
|
-
return unless node&.begin_type?
|
61
|
-
|
62
|
-
check_scope(node)
|
63
|
-
end
|
64
|
-
|
65
|
-
def format_message(visibility, method_name)
|
66
|
-
format(MSG, visibility: visibility, method_name: method_name)
|
67
|
-
end
|
68
|
-
|
69
|
-
def check_scope(node, current_visibility = :public)
|
70
|
-
node.children.reduce(current_visibility) do |visibility, child|
|
71
|
-
check_child_scope(child, visibility)
|
72
|
-
end
|
73
|
-
end
|
74
|
-
|
75
|
-
def check_child_scope(node, current_visibility)
|
76
|
-
if node.send_type?
|
77
|
-
if node.access_modifier? && !node.method?(:module_function)
|
78
|
-
current_visibility = node.method_name
|
79
|
-
elsif ACCESS_AFFECTED_METHODS.include?(node.method_name) && current_visibility != :public
|
80
|
-
add_offense(node,
|
81
|
-
location: :expression,
|
82
|
-
message: format_message(current_visibility, node.method_name))
|
83
|
-
end
|
84
|
-
elsif node.kwbegin_type?
|
85
|
-
check_scope(node, current_visibility)
|
86
|
-
end
|
87
|
-
|
88
|
-
current_visibility
|
89
|
-
end
|
90
|
-
end
|
91
|
-
end
|
92
|
-
end
|
93
|
-
end
|