rubocop-ordered_methods 0.3 → 0.4

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: 33871b68e39c03de6c12f462dc732d282489b190bdaedca681f955c60a27c20c
4
- data.tar.gz: c9c22948ef1db00f774d8fcfdf0cd2f60422da6c44b16a3e9430bdef42c86efb
3
+ metadata.gz: 711dd4dc7c13df5dc95040f2824dc88868fc3ebc5996088630d0a13638853308
4
+ data.tar.gz: 4b9e74bb42389db5ac593b9194e5e6138b9d01f174c1d165fc4949e33d6da4b2
5
5
  SHA512:
6
- metadata.gz: 571d2b28004397aff91256be2d4b153255870d5b7a4bd8877c3956003e3d73959e5bca95fa7b26901ccf43ee343a5b722eae24dea79540948cbe48a3d016d3bb
7
- data.tar.gz: 3fe6b38928ed8c4ee6b5c08d27e3ba4e84277f98e7dfa9fe2e74cca570874b4f63caed8ba40ef5e8799d22bd6ae39db4a619beaddde5cc5328d9685e02525809
6
+ metadata.gz: 3b427b3dec7ba7f85f291da04d988f0bad8981b4db54ebf769fbf29de2e170abc200a0daf1297ebd92e6dcc5d4a3eb6fb8a058f7d72eae8ba06a412434886b5f
7
+ data.tar.gz: 03fe372de5334f2b6c25c1a0b78a8047d7cecd8f010eb441ea2d649b39f58228574b65f4eb64a14611072473329c7f1a4cc6a4c21ef62d59da3d2187950f797f
data/.rubocop_todo.yml CHANGED
@@ -1,21 +1,26 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config`
3
- # on 2019-02-17 13:54:25 -0500 using RuboCop version 0.64.0.
3
+ # on 2019-06-10 10:39:16 -0400 using RuboCop version 0.71.0.
4
4
  # The point is for the user to remove these configuration records
5
5
  # one by one as the offenses are removed from the code base.
6
6
  # Note that changes in the inspected code, or installation of new
7
7
  # versions of RuboCop, may require this file to be generated again.
8
8
 
9
9
  # Offense count: 1
10
- Metrics/AbcSize:
11
- Max: 17
12
-
13
- # Offense count: 1
14
- # Configuration parameters: CountComments.
15
- Metrics/ClassLength:
16
- Max: 101
10
+ # Configuration parameters: Include.
11
+ # Include: **/*.gemspec
12
+ Gemspec/RequiredRubyVersion:
13
+ Exclude:
14
+ - 'rubocop-ordered_methods.gemspec'
17
15
 
18
16
  # Offense count: 1
19
17
  # Configuration parameters: CountComments, ExcludedMethods.
20
18
  Metrics/MethodLength:
21
19
  Max: 11
20
+
21
+ # Offense count: 2
22
+ # Cop supports --auto-correct.
23
+ Style/RedundantFreeze:
24
+ Exclude:
25
+ - 'lib/rubocop/cop/correctors/ordered_methods_corrector.rb'
26
+ - 'lib/rubocop/cop/layout/ordered_methods.rb'
data/.travis.yml CHANGED
@@ -8,4 +8,6 @@ rvm:
8
8
  - 2.4
9
9
  - 2.5
10
10
  - 2.6
11
- before_install: gem install bundler -v 1.17.2
11
+ script: bundle exec rake
12
+ before_install:
13
+ - gem install bundler || gem install bundler --version '< 2'
data/CHANGELOG.md ADDED
@@ -0,0 +1,34 @@
1
+ # Changelog
2
+ All notable changes to this project will be documented in this file.
3
+
4
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
+
7
+ ## [Unreleased]
8
+
9
+ ## [0.4] - 2019-06-11
10
+
11
+ ### Changed
12
+
13
+ - More robust autocorrection of a method and its surroundings (see `Corrector` in the `README`).
14
+
15
+ ## [0.3] - 2019-02-17
16
+
17
+ ### Added
18
+
19
+ - Configuration defaults
20
+
21
+ ## [0.2] - 2019-02-17
22
+
23
+ ### Added
24
+
25
+ - Autocorrector
26
+
27
+ ## [0.1] - 2019-02-17
28
+
29
+ Initial release.
30
+
31
+ [Unreleased]: https://github.com/shanecav84/rubocop-ordered_methods/compare/v0.3...HEAD
32
+ [0.3]: https://github.com/shanecav84/rubocop-ordered_methods/compare/v0.2...v0.3
33
+ [0.2]: https://github.com/shanecav84/rubocop-ordered_methods/compare/v0.1...v0.2
34
+ [0.1]: https://github.com/shanecav84/rubocop-ordered_methods/releases/tag/v0.1
data/Gemfile CHANGED
@@ -1,6 +1,5 @@
1
- source 'https://rubygems.org'
1
+ # frozen_string_literal: true
2
2
 
3
- git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
3
+ source 'https://rubygems.org'
4
4
 
5
- # Specify your gem's dependencies in rubocop-ordered_methods.gemspec
6
5
  gemspec
data/README.md CHANGED
@@ -1,7 +1,10 @@
1
+ [![Gem Version](https://badge.fury.io/rb/rubocop-ordered_methods.svg)](https://badge.fury.io/rb/rubocop-ordered_methods)
2
+ [![Build Status](https://travis-ci.org/shanecav84/rubocop-ordered_methods.svg?branch=master)](https://travis-ci.org/shanecav84/rubocop-ordered_methods)
3
+
1
4
  # RuboCop OrderedMethods
2
5
 
3
6
  Check that methods are defined alphabetically. Note [caveats](#caveats) for
4
- autocorrector.
7
+ autocorrection.
5
8
 
6
9
  ```ruby
7
10
  # bad
@@ -47,7 +50,7 @@ Or install it yourself as:
47
50
 
48
51
  ## Usage
49
52
 
50
- You need to tell RuboCop to load the OrderedMethods extension. There are three
53
+ You need to tell RuboCop to load the OrderedMethods extension. There are two
51
54
  ways to do this:
52
55
 
53
56
  ### RuboCop configuration file
@@ -71,17 +74,70 @@ rubocop --require rubocop-ordered_methods
71
74
 
72
75
  Name | Default value | Configurable values
73
76
  --- | --- | ---
77
+ EnforcedStyle | `alphabetical` | `alphabetical`
74
78
  IgnoredMethods | `initialize` | Array
75
79
 
76
80
  ### Corrector
77
81
 
78
- The corrector will attempt to order methods alphabetically. It attempts to
79
- include surrounding comments and the qualifiers listed in
80
- `::RuboCop::Cop::Layout::OrderedMethods::QUALIFIERS`.
82
+ The corrector will attempt to order methods based on the `EnforcedStyle`. It attempts to
83
+ include surrounding comments and the qualifiers (e.g., aliases) listed in
84
+ `::RuboCop::Cop::OrderedMethodsCorrector::QUALIFIERS`. The following (monstrous)
85
+ source is able to be correctly ordered:
86
+
87
+ ```ruby
88
+ # Long
89
+ # Preceding
90
+ # Comment
91
+ # class_b
92
+ def self.class_b; end
93
+ private_class_method :class_b
94
+
95
+ def self.class_a; end
96
+ # Long
97
+ # Succeeding
98
+ # Comment
99
+ # class_a
100
+ public_class_method :class_a
101
+
102
+ # Preceding comment for instance_b
103
+ def instance_b; end
104
+ # Long
105
+ # Succeeding
106
+ # Comment
107
+ # instance_b
108
+ alias_method :orig_instance_b, :instance_b
109
+ module_function :instance_b
110
+ private :instance_b
111
+ protected :instance_b
112
+ public :instance_b
113
+
114
+ # Long
115
+ # Preceding
116
+ # Comment
117
+ # instance_a
118
+ def instance_a; end
119
+ # Succeeding comment for instance_a
120
+ alias :new_instance_a :instance_a
121
+ alias_method :orig_instance_a, :instance_a
122
+ module_function :instance_a
123
+ private :instance_a
124
+ protected :instance_a
125
+ public :instance_a
126
+ ```
81
127
 
82
128
  #### Caveats
83
- The corrector can fail to include surrounding comments and qualifiers for some
84
- methods.
129
+
130
+ * The corrector will warn and refuse to order a method if it were to be
131
+ defined before its alias
132
+ * If there's ambiguity about which method a comment or qualifier belongs to,
133
+ the corrector might fail to order correctly. For example, in the following,
134
+ the corrector would incorrectly order the comment as a comment of `a`:
135
+
136
+ ```ruby
137
+ def b; end
138
+ # Comment b
139
+ def a; end
140
+ ```
85
141
 
86
142
  ## Development
87
143
 
@@ -94,12 +150,19 @@ bundle exec rake
94
150
 
95
151
  ## Contributing
96
152
 
97
- Bug reports and pull requests are welcome on GitHub at https://github.com/shanecav84/rubocop-ordered_methods. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
153
+ Bug reports and pull requests are welcome on GitHub at
154
+ https://github.com/shanecav84/rubocop-ordered_methods. This project is intended
155
+ to be a safe, welcoming space for collaboration, and contributors are expected
156
+ to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of
157
+ conduct.
98
158
 
99
159
  ## License
100
160
 
101
- The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
161
+ The gem is available as open source under the terms of the
162
+ [MIT License](https://opensource.org/licenses/MIT).
102
163
 
103
164
  ## Code of Conduct
104
165
 
105
- Everyone interacting in the RuboCop OrderedMethods project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/shanecav84/rubocop-ordered_methods/blob/master/CODE_OF_CONDUCT.md).
166
+ Everyone interacting in the RuboCop OrderedMethods project’s codebases, issue
167
+ trackers, chat rooms and mailing lists is expected to follow the
168
+ [code of conduct](https://github.com/shanecav84/rubocop-ordered_methods/blob/master/CODE_OF_CONDUCT.md).
data/Rakefile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'bundler/gem_tasks'
2
4
  require 'rubocop/rake_task'
3
5
  require 'rspec/core/rake_task'
data/bin/console CHANGED
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  require 'bundler/setup'
4
5
  require 'rubocop/ordered_methods'
data/config/default.yml CHANGED
@@ -1,4 +1,6 @@
1
1
  ---
2
2
  Layout/OrderedMethods:
3
+ Enabled: true
4
+ EnforcedStyle: 'alphabetical'
3
5
  IgnoredMethods:
4
6
  - initialize
@@ -14,11 +14,15 @@ module RuboCop
14
14
  '%<first_method_name>s and %<second_method_name>s because ' \
15
15
  'alias for %<first_method_name>s would be declared before ' \
16
16
  'its method definition.'.freeze
17
- QUALIFIERS = (
18
- %i[alias_method private_class_method public_class_method] +
19
- ::RuboCop::Cop::Layout::OrderedMethods::
20
- VISIBILITY_MODIFIERS
21
- ).freeze
17
+ QUALIFIERS = %i[
18
+ alias_method
19
+ module_function
20
+ private_class_method
21
+ public_class_method
22
+ private
23
+ protected
24
+ public
25
+ ].freeze
22
26
 
23
27
  def_node_matcher :alias?, '(:alias ... (sym $_method_name))'
24
28
  def_node_matcher :qualifier?, <<-PATTERN
@@ -32,8 +36,8 @@ module RuboCop
32
36
  @previous_node = previous_node
33
37
 
34
38
  verify_alias_method_order
35
- current_range = with_surroundings(@current_node)
36
- previous_range = with_surroundings(@previous_node)
39
+ current_range = join_surroundings(@current_node)
40
+ previous_range = join_surroundings(@previous_node)
37
41
  lambda do |corrector|
38
42
  corrector.replace(current_range, previous_range.source)
39
43
  corrector.replace(previous_range, current_range.source)
@@ -43,9 +47,38 @@ module RuboCop
43
47
  private
44
48
 
45
49
  def found_qualifier?(node, next_sibling)
50
+ return false if next_sibling.nil?
51
+
46
52
  (qualifier?(next_sibling) || alias?(next_sibling)) == node.method_name
47
53
  end
48
54
 
55
+ def join_comments(node, source_range)
56
+ @processed_source.ast_with_comments[node].each do |comment|
57
+ source_range = source_range.join(comment.loc.expression)
58
+ end
59
+ source_range
60
+ end
61
+
62
+ def join_modifiers_and_aliases(node, source_range)
63
+ siblings = node.parent.children
64
+ preceding_qualifier_index = node.sibling_index
65
+ while found_qualifier?(node, siblings[preceding_qualifier_index + 1])
66
+ source_range = source_range.join(
67
+ siblings[preceding_qualifier_index + 1].source_range
68
+ )
69
+ preceding_qualifier_index += 1
70
+ end
71
+ source_range
72
+ end
73
+
74
+ def join_surroundings(node)
75
+ with_modifiers_and_aliases = join_modifiers_and_aliases(
76
+ node,
77
+ node.source_range
78
+ )
79
+ join_comments(node, with_modifiers_and_aliases)
80
+ end
81
+
49
82
  # We don't want a method to be defined after its alias
50
83
  def moving_after_alias?(current_node, previous_node)
51
84
  siblings = current_node.parent.children
@@ -82,47 +115,6 @@ module RuboCop
82
115
  end
83
116
  end
84
117
  # rubocop:enable Metrics/MethodLength, Style/GuardClause
85
-
86
- def with_comments(node)
87
- node.source_range
88
- .join(with_preceding_comments(node))
89
- .join(with_succeeding_comments(node))
90
- end
91
-
92
- def with_modifiers_and_aliases(node)
93
- surrounding_range = node.source_range
94
- siblings = node.parent.children
95
- qualifier_index = node.sibling_index
96
- while found_qualifier?(node, siblings[qualifier_index + 1])
97
- qualifier_index += 1
98
- end
99
- found_node_range = with_comments(siblings[qualifier_index])
100
- surrounding_range.join(found_node_range)
101
- end
102
-
103
- def with_preceding_comments(node)
104
- surrounding_range = node.source_range
105
- @processed_source.ast_with_comments[node].each do |comment|
106
- surrounding_range = surrounding_range.join(comment.loc.expression)
107
- end
108
- surrounding_range
109
- end
110
-
111
- def with_succeeding_comments(node)
112
- surrounding_range = node.source_range
113
- @processed_source.each_comment do |comment|
114
- if comment.loc.expression.begin_pos == surrounding_range.end_pos + 1
115
- surrounding_range = surrounding_range.join(comment.loc.expression)
116
- end
117
- end
118
- surrounding_range
119
- end
120
-
121
- def with_surroundings(node)
122
- node.source_range
123
- .join(with_comments(node))
124
- .join(with_modifiers_and_aliases(node))
125
- end
126
118
  end
127
119
  end
128
120
  end
@@ -3,9 +3,9 @@
3
3
  module RuboCop
4
4
  module Cop
5
5
  module Layout
6
- # Check that methods are defined alphabetically.
6
+ # @example EnforcedStyle: alphabetical (default)
7
+ # # Check that methods are defined alphabetically.
7
8
  #
8
- # @example
9
9
  # # bad
10
10
  # def self.b; end
11
11
  # def self.a; end
@@ -33,19 +33,13 @@ module RuboCop
33
33
  include IgnoredMethods
34
34
  include RangeHelp
35
35
 
36
- MSG = 'Methods should be sorted alphabetically.'.freeze
37
- VISIBILITY_MODIFIERS = %i[
38
- module_function
39
- private
40
- protected
41
- public
42
- ].freeze
43
-
44
- def_node_matcher :class_def?, 'defs'
45
- def_node_matcher :instance_def?, 'def'
46
- def_node_matcher :visibility_modifier?, <<-PATTERN
47
- (send nil? { #{VISIBILITY_MODIFIERS.map(&:inspect).join(' ')} })
48
- PATTERN
36
+ COMPARISONS = {
37
+ 'alphabetical' => lambda do |left_method, right_method|
38
+ (left_method.method_name <=> right_method.method_name) != 1
39
+ end
40
+ }.freeze
41
+ ERR_INVALID_COMPARISON = 'Invalid "Comparison" config for ' \
42
+ "#{cop_name}. Expected one of: #{COMPARISONS.keys.join(', ')}".freeze
49
43
 
50
44
  def autocorrect(node)
51
45
  OrderedMethodsCorrector.correct(
@@ -59,15 +53,27 @@ module RuboCop
59
53
  consecutive_methods(node.children) do |previous, current|
60
54
  unless ordered?(previous, current)
61
55
  @previous_node = previous
62
- add_offense(current)
56
+ add_offense(
57
+ current,
58
+ message: 'Methods should be sorted in ' \
59
+ "#{cop_config['EnforcedStyle']} order."
60
+ )
63
61
  end
64
62
  end
65
63
  end
66
64
 
67
65
  private
68
66
 
69
- def consecutive_methods(ast)
70
- filtered_and_grouped(ast).each do |method_group|
67
+ def access_modified?(node, is_class_method_block)
68
+ (node.defs_type? && !is_class_method_block) ||
69
+ (node.def_type? && is_class_method_block) ||
70
+ (node.send_type? && node.bare_access_modifier?)
71
+ end
72
+
73
+ def consecutive_methods(nodes)
74
+ filtered = filter_relevant_nodes(nodes)
75
+ filtered_and_grouped = group_methods_by_access_modifier(filtered)
76
+ filtered_and_grouped.each do |method_group|
71
77
  method_group.each_cons(2) do |left_method, right_method|
72
78
  yield left_method, right_method
73
79
  end
@@ -77,54 +83,39 @@ module RuboCop
77
83
  def filter_relevant_nodes(nodes)
78
84
  nodes.select do |node|
79
85
  (
80
- class_def?(node) ||
81
- instance_def?(node) ||
82
- visibility_modifier?(node)
83
- ) && !ignored_method?(node.method_name)
86
+ (node.defs_type? || node.def_type?) &&
87
+ !ignored_method?(node.method_name)
88
+ ) || (node.send_type? && node.bare_access_modifier?)
84
89
  end
85
90
  end
86
91
 
87
- def filtered_and_grouped(ast)
88
- group_methods_by_visiblity_block(filter_relevant_nodes(ast))
89
- end
90
-
91
- # Group methods by the visiblity block they are declared in. Multiple
92
- # blocks of the same visiblity will have their methods grouped
92
+ # Group methods by the access modifier block they are declared in.
93
+ # Multiple blocks of the same modifier will have their methods grouped
93
94
  # separately; for example, the following would be separated into two
94
95
  # groups:
95
96
  # private
96
97
  # def a; end
97
98
  # private
98
99
  # def b; end
99
- # rubocop:disable Metrics/MethodLength
100
- def group_methods_by_visiblity_block(nodes)
100
+ def group_methods_by_access_modifier(nodes)
101
101
  is_class_method_block = false
102
+
102
103
  nodes.each_with_object([[]]) do |node, grouped_methods|
103
- if new_visiblity_block?(node, is_class_method_block)
104
+ if access_modified?(node, is_class_method_block)
104
105
  grouped_methods << []
105
106
  end
106
-
107
- is_class_method_block = true if class_def?(node)
108
- is_class_method_block = false if instance_def?(node)
109
-
110
- if visibility_modifier?(node)
111
- is_class_method_block = false
112
- next
113
- end
107
+ is_class_method_block = node.defs_type?
108
+ next if node.send_type? && node.bare_access_modifier?
114
109
 
115
110
  grouped_methods.last << node
116
111
  end
117
112
  end
118
- # rubocop:enable Metrics/MethodLength
119
-
120
- def new_visiblity_block?(node, is_class_method_block)
121
- (class_def?(node) && !is_class_method_block) ||
122
- (instance_def?(node) && is_class_method_block) ||
123
- visibility_modifier?(node)
124
- end
125
113
 
126
114
  def ordered?(left_method, right_method)
127
- (left_method.method_name <=> right_method.method_name) != 1
115
+ comparison = COMPARISONS[cop_config['EnforcedStyle']]
116
+ raise Error, ERR_INVALID_COMPARISON if comparison.nil?
117
+
118
+ comparison.call(left_method, right_method)
128
119
  end
129
120
  end
130
121
  end
@@ -1,7 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RuboCop
4
+ # Our namespace
2
5
  module OrderedMethods
3
6
  PROJECT_ROOT = Pathname.new(__dir__).parent.parent.expand_path.freeze
4
- CONFIG_DEFAULT = PROJECT_ROOT.join("config", "default.yml").freeze
7
+ CONFIG_DEFAULT = PROJECT_ROOT.join('config', 'default.yml').freeze
5
8
 
6
9
  def self.inject_defaults!
7
10
  path = CONFIG_DEFAULT.to_s
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rubocop'
2
4
  require_relative 'rubocop/ordered_methods'
3
5
  require_relative 'rubocop/cop/layout/ordered_methods'
@@ -1,31 +1,34 @@
1
+ # frozen_string_literal: true
2
+
1
3
  lib = File.expand_path('lib', __dir__)
2
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
5
 
4
6
  Gem::Specification.new do |spec|
5
- spec.name = 'rubocop-ordered_methods'
6
- spec.version = '0.3'
7
- spec.authors = ['Shane Cavanaugh']
8
- spec.email = ['shane@shanecav.net']
7
+ spec.name = 'rubocop-ordered_methods'
8
+ spec.version = '0.4'
9
+ spec.authors = ['Shane Cavanaugh']
10
+ spec.email = ['shane@shanecav.net']
9
11
 
10
- spec.summary = 'Checks that methods are ordered alphabetically.'
11
- spec.homepage = 'https://github.com/shanecav84/rubocop-ordered_methods'
12
- spec.license = 'MIT'
12
+ spec.summary = 'Checks that methods are ordered alphabetically.'
13
+ spec.homepage = 'https://github.com/shanecav84/rubocop-ordered_methods'
14
+ spec.license = 'MIT'
15
+ spec.required_ruby_version = '>= 2.2.2'
13
16
 
14
17
  # Specify which files should be added to the gem when it is released.
15
18
  # The `git ls-files -z` loads the files in the RubyGem that have been added
16
19
  # into git.
17
- spec.files = Dir.chdir(File.expand_path(__dir__)) do
20
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
18
21
  `git ls-files -z`.split("\x0").reject do |f|
19
22
  f.match(%r{^(test|spec|features)/})
20
23
  end
21
24
  end
22
- spec.bindir = 'exe'
23
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
25
+ spec.bindir = 'exe'
26
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
24
27
  spec.require_paths = ['lib']
25
28
 
26
- spec.add_runtime_dependency 'rubocop', '~> 0.6'
29
+ spec.add_runtime_dependency 'rubocop', '>= 0.60'
27
30
 
28
- spec.add_development_dependency 'bundler', '~> 1.17'
31
+ spec.add_development_dependency 'bundler'
29
32
  spec.add_development_dependency 'rake', '~> 10.0'
30
33
  spec.add_development_dependency 'rspec', '~> 3.0'
31
34
  end
metadata CHANGED
@@ -1,43 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubocop-ordered_methods
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.3'
4
+ version: '0.4'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shane Cavanaugh
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-02-17 00:00:00.000000000 Z
11
+ date: 2019-06-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubocop
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '0.6'
19
+ version: '0.60'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '0.6'
26
+ version: '0.60'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '1.17'
33
+ version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '1.17'
40
+ version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -77,6 +77,7 @@ files:
77
77
  - ".rubocop.yml"
78
78
  - ".rubocop_todo.yml"
79
79
  - ".travis.yml"
80
+ - CHANGELOG.md
80
81
  - CODE_OF_CONDUCT.md
81
82
  - Gemfile
82
83
  - LICENSE.txt
@@ -101,14 +102,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
101
102
  requirements:
102
103
  - - ">="
103
104
  - !ruby/object:Gem::Version
104
- version: '0'
105
+ version: 2.2.2
105
106
  required_rubygems_version: !ruby/object:Gem::Requirement
106
107
  requirements:
107
108
  - - ">="
108
109
  - !ruby/object:Gem::Version
109
110
  version: '0'
110
111
  requirements: []
111
- rubygems_version: 3.0.1
112
+ rubygems_version: 3.0.3
112
113
  signing_key:
113
114
  specification_version: 4
114
115
  summary: Checks that methods are ordered alphabetically.