rubocop-gemfile 0.1.0.beta2 → 0.1.0.beta3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6a0697ca088fd3ff185890ccfb0d280f8fa2d3b4
4
- data.tar.gz: 25fe1ed50f3818b478ecb14d87f7d4cecd3ed46b
3
+ metadata.gz: 296889335d1d22241595424e4eeb26a63c8ac986
4
+ data.tar.gz: 2de481849d3d7eb3996ee75df8e53196e9dcf394
5
5
  SHA512:
6
- metadata.gz: 07a2f20800fa4c82582b5d3d6296836066c8cf753f45bd1ebccb05a7662a695297e184c805502fd49db833eb8cb18b9e14dc648642ce6edb329136c371a85815
7
- data.tar.gz: 319858fc8bded038f97547e81a5ba89b33cfb17971d34b1979f2023e11a8e6ac145675d7b8b96c3f47086c532b9a1e80da86136b71def7725a4fc03573354912
6
+ metadata.gz: 894957c96dd30e230159b32752e1ae308c7c224a13e0d968b58852876a5d6dab10c2ac1ad93da3eb97705d392732aed0eb68ddd7bcc7da145981e4408effd4b0
7
+ data.tar.gz: 5ff3a2a22f2b724bdce2e6658a7f530dc15d4b8acecdf271576c7defda6a2c873d8e267bb88e55975c3918c2b79bde5b4a9b891f0926d4f85a8d6617687e6d23
@@ -0,0 +1 @@
1
+ repo_token: D4zrX3740AuzEhmB3Xh5si0GkEjp00NLP
@@ -0,0 +1,12 @@
1
+ AllCops:
2
+ DisplayCopNames: true
3
+
4
+ Style/FileName:
5
+ Exclude:
6
+ - lib/rubocop-gemfile.rb
7
+
8
+ Style/RedundantFreeze:
9
+ Enabled: false
10
+
11
+ Metrics/MethodLength:
12
+ Max: 12
@@ -1,5 +1,27 @@
1
1
  sudo: false
2
2
  language: ruby
3
3
  rvm:
4
- - 2.3.1
5
- before_install: gem install bundler -v 1.12.5
4
+ - 2.2
5
+ - 2.3.1
6
+ - ruby-head
7
+ before_install:
8
+ - gem update --system
9
+ - gem install bundler -v 1.12.5
10
+ bundler_args: "--jobs=2"
11
+ cache: bundler
12
+ before_script:
13
+ - export CODECLIMATE_REPO_TOKEN=6e639271e2b71c8d880f7449a0d56a7029f75cf9f468abcae63b66f48e61d249
14
+ - export CI=true
15
+ script:
16
+ - bundle exec rspec
17
+ - bundle exec rubocop
18
+ branches:
19
+ only:
20
+ - master
21
+ notifications:
22
+ email: false
23
+ slack:
24
+ secure: isiRJb/vgIL7NwiunQGsZMOdOPiKGPRl6KqC65RkYKc89bhXnDf/70oZsLYCgRrsM5ClEL/QnNivvohdjWwvxPQgNbHmoXh5egZ2/19nh0tb0x7DWyQ3uIslUWRBsu9GAugKK0JSUiBi5iK3NqipI/GQgGtN+gxD98IXMqkD29V+YO3Ysfa9vKEnS1ijy8KVhMOASj+9+5HEOXOPVWIvZ+Gjgx9D/MOaz/ALJ6xUuVAesc2XqSrYqOqseKArRq4qeslqb3RE4kWUmw0QGJG77hryyVw2oI5sXcfKOzeqduV/GzOq7eP1A0GDd7DgIkWnW0T+hiCG789fUA91g09F9ln9IdDBnJ/1M4UKf0Nj+AmWwGUG2JmRUsjVns5buyCduKcxkCr82NxDH27O/jU+KvXHTjjWByd7ABuIaWHs5Y9SkP7JMeyiqzIanhnuo0wgh/O1p9uEjpF0vS70qAkib9ph9HC6ZbfIp8lAoUNiQkrqlrbB624d8QVgqX9X9vTFVBmeRUVEWq3cBg99D+Ryemhzcfakq1PesoKuzsemV2E0mhxW6hOdZKAiIucvY8vEIPkpTKaZ6hjQBRoGKyMPRbwhVkRo3J+sHrGweWTjFT53C1lVDgC2s7ZYfrMOXi/Jf8AGJqCl0aTzIsn29IUwhDJR7sNixufLkU4ioSra8t0=
25
+ matrix:
26
+ allow_failures:
27
+ - rvm: ruby-head
data/Gemfile CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  source 'https://rubygems.org'
2
3
 
3
4
  # Specify your gem's dependencies in rubocop-gemfile.gemspec
data/README.md CHANGED
@@ -1,15 +1,21 @@
1
1
  # RuboCop::Gemfile
2
2
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/rubocop/gemfile`. To experiment with that code, run `bin/console` for an interactive prompt.
3
+ Code style checking for Gemfile, as an extension to [Rubocop](https://github.com/bbatsov/rubocop)
4
4
 
5
- TODO: Delete this and the text above, and describe your gem
5
+ [![Gem Version](https://badge.fury.io/rb/rubocop-gemfile.svg)](https://badge.fury.io/rb/rubocop-gemfile)
6
+ [![Build Status](https://travis-ci.org/sue445/rubocop-gemfile.svg?branch=master)](https://travis-ci.org/sue445/rubocop-gemfile)
7
+ [![Code Climate](https://codeclimate.com/github/sue445/rubocop-gemfile/badges/gpa.svg)](https://codeclimate.com/github/sue445/rubocop-gemfile)
8
+ [![Coverage Status](https://coveralls.io/repos/github/sue445/rubocop-gemfile/badge.svg?branch=master)](https://coveralls.io/github/sue445/rubocop-gemfile?branch=master)
9
+ [![Dependency Status](https://gemnasium.com/badges/github.com/sue445/rubocop-gemfile.svg)](https://gemnasium.com/github.com/sue445/rubocop-gemfile)
6
10
 
7
11
  ## Installation
8
12
 
9
13
  Add this line to your application's Gemfile:
10
14
 
11
15
  ```ruby
12
- gem 'rubocop-gemfile'
16
+ group :development do
17
+ gem 'rubocop-gemfile', require: false
18
+ end
13
19
  ```
14
20
 
15
21
  And then execute:
@@ -22,7 +28,19 @@ Or install it yourself as:
22
28
 
23
29
  ## Usage
24
30
 
25
- TODO: Write usage instructions here
31
+ ### RuboCop configuration file
32
+
33
+ Put this into your `.rubocop.yml`.
34
+
35
+ ```
36
+ require: rubocop-gemfile
37
+ ```
38
+
39
+ ## The Cops
40
+ see these.
41
+
42
+ * [config/default.yml](config/default.yml)
43
+ * [lib/rubocop/cop/gemfile/](lib/rubocop/cop/gemfile/)
26
44
 
27
45
  ## Development
28
46
 
@@ -32,7 +50,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
32
50
 
33
51
  ## Contributing
34
52
 
35
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/rubocop-gemfile.
53
+ Bug reports and pull requests are welcome on GitHub at https://github.com/sue445/rubocop-gemfile.
36
54
 
37
55
 
38
56
  ## License
data/Rakefile CHANGED
@@ -1,8 +1,9 @@
1
- require "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
1
+ # frozen_string_literal: true
2
+ require 'bundler/gem_tasks'
3
+ require 'rspec/core/rake_task'
3
4
 
4
5
  RSpec::Core::RakeTask.new(:spec)
5
6
 
6
- task :default => :spec
7
+ task default: :spec
7
8
 
8
- Dir["lib/tasks/*.rake"].each { |f| load f }
9
+ Dir['lib/tasks/*.rake'].each { |f| load f }
@@ -1,7 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
- require "bundler/setup"
4
- require "rubocop/gemfile"
4
+ require 'bundler/setup'
5
+ require 'rubocop/gemfile'
5
6
 
6
7
  # You can add fixtures and/or initialization code here to make experimenting
7
8
  # with your gem easier. You can also use a different console, if you like.
@@ -10,5 +11,5 @@ require "rubocop/gemfile"
10
11
  # require "pry"
11
12
  # Pry.start
12
13
 
13
- require "irb"
14
+ require 'irb'
14
15
  IRB.start
@@ -19,4 +19,5 @@ Gemfile/GroupType:
19
19
  Gemfile/SortGemAscending:
20
20
  Description: "Sort the gem in alphabetical order"
21
21
  TopGems:
22
+ # - rails
22
23
  Enabled: true
@@ -1 +1,2 @@
1
- require "rubocop/gemfile"
1
+ # frozen_string_literal: true
2
+ require 'rubocop/gemfile'
@@ -0,0 +1,51 @@
1
+
2
+ # frozen_string_literal: true
3
+ module RuboCop
4
+ module Cop
5
+ module Gemfile
6
+ module Concerns
7
+ module GroupType
8
+ module Autocorrect # rubocop:disable Style/Documentation
9
+ private
10
+
11
+ def correct_symbol_group(args)
12
+ lambda do |corrector|
13
+ args.each do |arg|
14
+ content = arg_content(arg)
15
+ if content
16
+ corrector.replace(arg_location(arg),
17
+ to_symbol_literal(content))
18
+ end
19
+ end
20
+ end
21
+ end
22
+
23
+ def correct_double_quote_group(args)
24
+ lambda do |corrector|
25
+ args.each do |arg|
26
+ content = arg_content(arg)
27
+ if content
28
+ corrector.replace(arg_location(arg),
29
+ content.inspect)
30
+ end
31
+ end
32
+ end
33
+ end
34
+
35
+ def correct_symbol_quote_group(args)
36
+ lambda do |corrector|
37
+ args.each do |arg|
38
+ content = arg_content(arg)
39
+ if content
40
+ corrector.replace(arg_location(arg),
41
+ to_string_literal(content))
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+ module RuboCop
3
+ module Cop
4
+ module Gemfile
5
+ module Concerns
6
+ module GroupType
7
+ module OnSend # rubocop:disable Style/Documentation
8
+ private
9
+
10
+ def check_symbol_group(arg, node, message)
11
+ return if exclude_type?(arg) || arg.sym_type?
12
+ add_offense(node, arg.loc.expression, message)
13
+ end
14
+
15
+ def check_double_quotes_group(arg, node, message)
16
+ return if exclude_type?(arg) || double_quotes?(arg)
17
+ add_offense(node, arg.loc.expression, message)
18
+ end
19
+
20
+ def check_single_quotes_group(arg, node, message)
21
+ return if exclude_type?(arg) || single_quotes?(arg)
22
+ add_offense(node, arg.loc.expression, message)
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,87 @@
1
+ # frozen_string_literal: true
2
+ module RuboCop
3
+ module Cop
4
+ module Gemfile
5
+ module Concerns
6
+ module SortGemAscending
7
+ module Autocorrect # rubocop:disable Style/Documentation
8
+ private
9
+
10
+ def correct_gems(corrector, gems, sorted_gems)
11
+ gems_enum = gems.to_enum
12
+ sorted_gems_enum = sorted_gems.to_enum
13
+
14
+ loop do
15
+ gem = gems_enum.next
16
+ sorted_gem = sorted_gems_enum.next
17
+
18
+ next if gem == sorted_gem
19
+
20
+ range = range_with_prev_comment(gem)
21
+ source = source_with_prev_comment(sorted_gem)
22
+ corrector.replace(range, source)
23
+ end
24
+ end
25
+
26
+ def source_with_prev_comment(gem)
27
+ comments = line_comments[gem.loc.line - 1]
28
+ return gem.source unless comments
29
+
30
+ lines = comments.map(&:text)
31
+ lines << gem.source
32
+ lines.join("\n")
33
+ end
34
+
35
+ def range_with_prev_comment(gem)
36
+ comments = line_comments[gem.loc.line - 1]
37
+ return gem.loc.expression unless comments
38
+
39
+ Parser::Source::Range.new(
40
+ gem.loc.expression.source_buffer,
41
+ begin_pos(comments.first), end_pos(gem)
42
+ )
43
+ end
44
+
45
+ def begin_pos(node)
46
+ node.loc.expression.begin.begin_pos
47
+ end
48
+
49
+ def end_pos(node)
50
+ node.loc.expression.end_pos
51
+ end
52
+
53
+ # @return [Hash{Integer, Array<Parser::Source::Comment>}]
54
+ def line_comments
55
+ return @line_comments if @line_comments
56
+
57
+ @line_comments =
58
+ comment_groups.each_with_object({}) do |comments, hash|
59
+ comment_end_line = comments.last.loc.line
60
+ hash[comment_end_line] = comments
61
+ end
62
+ end
63
+
64
+ def comment_groups
65
+ comment_groups = []
66
+ work = []
67
+ processed_source.comments.each do |comment|
68
+ if work.empty? || continuously_line?(work.last, comment)
69
+ work << comment
70
+ else
71
+ comment_groups << work
72
+ work = [comment]
73
+ end
74
+ end
75
+ comment_groups << work unless work.empty?
76
+ comment_groups
77
+ end
78
+
79
+ def continuously_line?(first, second)
80
+ first.loc.line + 1 == second.loc.line
81
+ end
82
+ end
83
+ end
84
+ end
85
+ end
86
+ end
87
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+ module RuboCop
3
+ module Cop
4
+ module Gemfile
5
+ module Concerns
6
+ module SortGemAscending
7
+ module OnBegin # rubocop:disable Style/Documentation
8
+ private
9
+
10
+ def check_gems_order(node, gem1, gem2)
11
+ if top_gem?(gem1) == top_gem?(gem2)
12
+ check_gems_order_in_same_priority(node, gem1, gem2)
13
+ elsif !top_gem?(gem1) && top_gem?(gem2)
14
+ add_offense(node, gem2.loc.expression,
15
+ "gem '#{gem_name(gem2)}' should be top of Gemfile")
16
+ end
17
+ end
18
+
19
+ def check_gems_order_in_same_priority(node, gem1, gem2)
20
+ gem_name1 = gem_name(gem1)
21
+ gem_name2 = gem_name(gem2)
22
+ add_offense(node, gem2.loc.expression) if gem_name1 > gem_name2
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -1,5 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'rubocop/cop/gemfile/concerns/group_type/on_send'
4
+ require 'rubocop/cop/gemfile/concerns/group_type/autocorrect'
5
+
3
6
  module RuboCop
4
7
  module Cop
5
8
  module Gemfile
@@ -56,64 +59,66 @@ module RuboCop
56
59
  class GroupType < Cop
57
60
  MSG = 'Use %s group'.freeze
58
61
 
59
- ENFORCED_STYLE_SYMBOL = "symbol".freeze
60
- ENFORCED_STYLE_DOUBLE_QUOTES = "double_quotes".freeze
61
- ENFORCED_STYLE_SINGLE_QUOTES = "single_quotes".freeze
62
+ ENFORCED_STYLE_SYMBOL = 'symbol'.freeze
63
+ ENFORCED_STYLE_DOUBLE_QUOTES = 'double_quotes'.freeze
64
+ ENFORCED_STYLE_SINGLE_QUOTES = 'single_quotes'.freeze
65
+
66
+ VALIDATION_ENFORCED_STYLE_MSG = '%s is not unsupport'.freeze
67
+
68
+ include Concerns::GroupType::OnSend
69
+ include Concerns::GroupType::Autocorrect
62
70
 
63
71
  def on_send(node)
64
72
  _, method_name, *args = *node
65
73
 
66
74
  return unless method_name == :group
67
75
 
68
- enforced_style = cop_config["EnforcedStyle"]
69
- unless cop_config["SupportedStyles"].include?(enforced_style)
70
- raise ValidationError, "EnforcedStyle(#{enforced_style}) is not neither double_quotes, single_quotes or symbol"
71
- end
72
-
73
- message = MSG % enforced_style
74
-
75
76
  args.each do |arg|
76
- case enforced_style
77
- when ENFORCED_STYLE_SYMBOL
78
- add_offense(node, arg.loc.expression, message) if arg.str_type?
79
- when ENFORCED_STYLE_DOUBLE_QUOTES
80
- add_offense(node, arg.loc.expression, message) if arg.sym_type? || single_quotes?(arg)
81
- when ENFORCED_STYLE_SINGLE_QUOTES
82
- add_offense(node, arg.loc.expression, message) if arg.sym_type? || double_quotes?(arg)
83
- end
77
+ check_group_argument(arg, node)
84
78
  end
85
79
  end
86
80
 
87
81
  def autocorrect(node)
88
82
  _receiver, _method_name, *args = *node
89
83
 
90
- case cop_config["EnforcedStyle"]
84
+ case enforced_style
91
85
  when ENFORCED_STYLE_SYMBOL
92
- lambda do |corrector|
93
- args.each do |arg|
94
- content = arg_content(arg)
95
- corrector.replace(arg_location(arg), to_symbol_literal(content)) if content
96
- end
97
- end
86
+ correct_symbol_group(args)
98
87
  when ENFORCED_STYLE_DOUBLE_QUOTES
99
- lambda do |corrector|
100
- args.each do |arg|
101
- content = arg_content(arg)
102
- corrector.replace(arg_location(arg), content.inspect) if content
103
- end
104
- end
88
+ correct_double_quote_group(args)
105
89
  when ENFORCED_STYLE_SINGLE_QUOTES
106
- lambda do |corrector|
107
- args.each do |arg|
108
- content = arg_content(arg)
109
- corrector.replace(arg_location(arg), to_string_literal(content)) if content
110
- end
111
- end
90
+ correct_symbol_quote_group(args)
112
91
  end
113
92
  end
114
93
 
115
94
  private
116
95
 
96
+ def check_group_argument(arg, node)
97
+ message = MSG % enforced_style
98
+
99
+ case enforced_style
100
+ when ENFORCED_STYLE_SYMBOL
101
+ check_symbol_group(arg, node, message)
102
+ when ENFORCED_STYLE_DOUBLE_QUOTES
103
+ check_double_quotes_group(arg, node, message)
104
+ when ENFORCED_STYLE_SINGLE_QUOTES
105
+ check_single_quotes_group(arg, node, message)
106
+ end
107
+ end
108
+
109
+ def enforced_style
110
+ return @enforced_style if @enforced_style
111
+
112
+ @enforced_style = cop_config['EnforcedStyle']
113
+
114
+ unless cop_config['SupportedStyles'].include?(@enforced_style)
115
+ message = VALIDATION_ENFORCED_STYLE_MSG % @enforced_style
116
+ raise ValidationError, message
117
+ end
118
+
119
+ @enforced_style
120
+ end
121
+
117
122
  def single_quotes?(arg)
118
123
  quotes?(arg, "'")
119
124
  end
@@ -123,13 +128,23 @@ module RuboCop
123
128
  end
124
129
 
125
130
  def quotes?(arg, quote)
126
- arg.str_type? && arg.loc.expression.source_buffer.source[arg.loc.begin.begin_pos] == quote
131
+ return false unless arg.str_type?
132
+
133
+ arg_prev_position = arg.loc.begin.begin_pos
134
+ arg.loc.expression.source_buffer.source[arg_prev_position] == quote
135
+ end
136
+
137
+ def exclude_type?(arg)
138
+ return false if arg.str_type? || arg.sym_type?
139
+ true
127
140
  end
128
141
 
129
142
  def arg_location(arg)
130
143
  begin_pos = arg.loc.begin.begin_pos
131
144
  end_pos = arg.loc.expression.end_pos
132
- Parser::Source::Range.new(arg.loc.expression.source_buffer, begin_pos, end_pos)
145
+
146
+ Parser::Source::Range.new(arg.loc.expression.source_buffer,
147
+ begin_pos, end_pos)
133
148
  end
134
149
 
135
150
  def arg_content(arg)
@@ -31,7 +31,8 @@ module RuboCop
31
31
  def args_location(args)
32
32
  begin_pos = args.first.loc.begin.begin_pos
33
33
  end_pos = args.last.loc.expression.end_pos
34
- Parser::Source::Range.new(args.first.loc.expression.source_buffer, begin_pos, end_pos)
34
+ Parser::Source::Range.new(args.first.loc.expression.source_buffer,
35
+ begin_pos, end_pos)
35
36
  end
36
37
  end
37
38
  end
@@ -1,5 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'rubocop/cop/gemfile/concerns/sort_gem_ascending/autocorrect'
4
+ require 'rubocop/cop/gemfile/concerns/sort_gem_ascending/on_begin'
5
+
3
6
  module RuboCop
4
7
  module Cop
5
8
  module Gemfile
@@ -29,22 +32,16 @@ module RuboCop
29
32
  # gem "coffee-rails"
30
33
  # gem "sass-rails"
31
34
  class SortGemAscending < Cop
32
- MSG = "gem should be sorted by ascending".freeze
35
+ MSG = 'gem should be sorted by ascending'.freeze
36
+
37
+ include RuboCop::Cop::Gemfile::Concerns::SortGemAscending::Autocorrect
38
+ include RuboCop::Cop::Gemfile::Concerns::SortGemAscending::OnBegin
33
39
 
34
40
  def on_begin(node)
35
41
  gems = string_arg_gems(node)
36
42
 
37
43
  gems.each_cons(2) do |gem1, gem2|
38
- gem_name1 = gem_name(gem1)
39
- gem_name2 = gem_name(gem2)
40
-
41
- if !top_gem?(gem1) && top_gem?(gem2)
42
- add_offense(node, gem2.loc.expression, "gem '#{gem_name2}' should be top of Gemfile")
43
- elsif top_gem?(gem1) && !top_gem?(gem2)
44
- # nop
45
- else
46
- add_offense(node, gem2.loc.expression) if gem_name1 > gem_name2
47
- end
44
+ check_gems_order(node, gem1, gem2)
48
45
  end
49
46
  end
50
47
 
@@ -56,17 +53,7 @@ module RuboCop
56
53
  [sort_key, gem_name(gem)]
57
54
  end
58
55
 
59
- gems_enum = gems.to_enum
60
- sorted_gems_enum = sorted_gems.to_enum
61
-
62
- loop do
63
- gem = gems_enum.next
64
- sorted_gem = sorted_gems_enum.next
65
-
66
- unless gem == sorted_gem
67
- corrector.replace(gem.loc.expression, sorted_gem.source)
68
- end
69
- end
56
+ correct_gems(corrector, gems, sorted_gems)
70
57
  end
71
58
  end
72
59
 
@@ -95,7 +82,7 @@ module RuboCop
95
82
  end
96
83
 
97
84
  def top_gems
98
- @top_gems ||= Array(cop_config["TopGems"])
85
+ @top_gems ||= Array(cop_config['TopGems'])
99
86
  end
100
87
 
101
88
  def top_gem?(gem)
@@ -1,10 +1,11 @@
1
- require "rubocop"
2
- require "rubocop/gemfile/version"
3
- require "rubocop/gemfile/inject"
1
+ # frozen_string_literal: true
2
+ require 'rubocop'
3
+ require 'rubocop/gemfile/version'
4
+ require 'rubocop/gemfile/inject'
4
5
 
5
6
  RuboCop::Gemfile::Inject.defaults!
6
7
 
7
8
  # cops
8
- require "rubocop/cop/gemfile/single_group"
9
- require "rubocop/cop/gemfile/group_type"
10
- require "rubocop/cop/gemfile/sort_gem_ascending"
9
+ require 'rubocop/cop/gemfile/single_group'
10
+ require 'rubocop/cop/gemfile/group_type'
11
+ require 'rubocop/cop/gemfile/sort_gem_ascending'
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module RuboCop
2
3
  module Gemfile
3
4
  # Because RuboCop doesn't yet support plugins, we have to monkey patch in a
@@ -1,5 +1,6 @@
1
+ # frozen_string_literal: true
1
2
  module RuboCop
2
3
  module Gemfile
3
- VERSION = "0.1.0.beta2"
4
+ VERSION = '0.1.0.beta3'.freeze
4
5
  end
5
6
  end
@@ -1,7 +1,6 @@
1
- require "yard"
2
- require "yard/rake/yardoc_task"
1
+ # frozen_string_literal: true
2
+ require 'yard'
3
+ require 'yard/rake/yardoc_task'
3
4
  YARD::Rake::YardocTask.new do |t|
4
- t.files = ["lib/**/*.rb"]
5
- t.options = []
6
- t.options << '--debug' << '--verbose' if $trace
5
+ t.files = ['lib/**/*.rb']
7
6
  end
@@ -1,30 +1,35 @@
1
1
  # coding: utf-8
2
+ # frozen_string_literal: true
2
3
  lib = File.expand_path('../lib', __FILE__)
3
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
5
  require 'rubocop/gemfile/version'
5
6
 
6
7
  Gem::Specification.new do |spec|
7
- spec.name = "rubocop-gemfile"
8
+ spec.name = 'rubocop-gemfile'
8
9
  spec.version = RuboCop::Gemfile::VERSION
9
- spec.authors = ["sue445"]
10
- spec.email = ["sue445@sue445.net"]
10
+ spec.authors = ['sue445']
11
+ spec.email = ['sue445@sue445.net']
11
12
 
12
- spec.summary = %q{Code style checking for Gemfile}
13
- spec.description = %q{Code style checking for Gemfile}
14
- # TODO make public
15
- # spec.homepage = "https://github.com/sue445/rubocop-gemfile"
16
- spec.license = "MIT"
13
+ spec.summary = 'Code style checking for Gemfile'
14
+ spec.description = 'Code style checking for Gemfile'
15
+ spec.homepage = 'https://github.com/sue445/rubocop-gemfile'
16
+ spec.license = 'MIT'
17
17
 
18
- spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
19
- spec.bindir = "exe"
18
+ spec.files =
19
+ `git ls-files -z`
20
+ .split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
21
+ spec.bindir = 'exe'
20
22
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
21
- spec.require_paths = ["lib"]
23
+ spec.require_paths = ['lib']
22
24
 
23
- spec.add_dependency "rubocop", ">= 0.35.0"
25
+ spec.add_dependency 'rubocop', '>= 0.35.0'
24
26
 
25
- spec.add_development_dependency "bundler", "~> 1.12"
26
- spec.add_development_dependency "pry-byebug"
27
- spec.add_development_dependency "rake", "~> 10.0"
28
- spec.add_development_dependency "rspec", "~> 3.5.0"
29
- spec.add_development_dependency "yard"
27
+ spec.add_development_dependency 'bundler', '~> 1.12'
28
+ spec.add_development_dependency 'codeclimate-test-reporter'
29
+ spec.add_development_dependency 'coveralls'
30
+ spec.add_development_dependency 'pry-byebug'
31
+ spec.add_development_dependency 'rake', '~> 10.0'
32
+ spec.add_development_dependency 'rspec', '~> 3.5.0'
33
+ spec.add_development_dependency 'rubocop', '0.44.1'
34
+ spec.add_development_dependency 'yard'
30
35
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubocop-gemfile
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.beta2
4
+ version: 0.1.0.beta3
5
5
  platform: ruby
6
6
  authors:
7
7
  - sue445
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-10-26 00:00:00.000000000 Z
11
+ date: 2016-11-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubocop
@@ -38,6 +38,34 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.12'
41
+ - !ruby/object:Gem::Dependency
42
+ name: codeclimate-test-reporter
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: coveralls
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
41
69
  - !ruby/object:Gem::Dependency
42
70
  name: pry-byebug
43
71
  requirement: !ruby/object:Gem::Requirement
@@ -80,6 +108,20 @@ dependencies:
80
108
  - - "~>"
81
109
  - !ruby/object:Gem::Version
82
110
  version: 3.5.0
111
+ - !ruby/object:Gem::Dependency
112
+ name: rubocop
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - '='
116
+ - !ruby/object:Gem::Version
117
+ version: 0.44.1
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - '='
123
+ - !ruby/object:Gem::Version
124
+ version: 0.44.1
83
125
  - !ruby/object:Gem::Dependency
84
126
  name: yard
85
127
  requirement: !ruby/object:Gem::Requirement
@@ -101,8 +143,10 @@ executables: []
101
143
  extensions: []
102
144
  extra_rdoc_files: []
103
145
  files:
146
+ - ".coveralls.yml"
104
147
  - ".gitignore"
105
148
  - ".rspec"
149
+ - ".rubocop.yml"
106
150
  - ".travis.yml"
107
151
  - Gemfile
108
152
  - LICENSE.txt
@@ -112,6 +156,10 @@ files:
112
156
  - bin/setup
113
157
  - config/default.yml
114
158
  - lib/rubocop-gemfile.rb
159
+ - lib/rubocop/cop/gemfile/concerns/group_type/autocorrect.rb
160
+ - lib/rubocop/cop/gemfile/concerns/group_type/on_send.rb
161
+ - lib/rubocop/cop/gemfile/concerns/sort_gem_ascending/autocorrect.rb
162
+ - lib/rubocop/cop/gemfile/concerns/sort_gem_ascending/on_begin.rb
115
163
  - lib/rubocop/cop/gemfile/group_type.rb
116
164
  - lib/rubocop/cop/gemfile/single_group.rb
117
165
  - lib/rubocop/cop/gemfile/sort_gem_ascending.rb
@@ -120,7 +168,7 @@ files:
120
168
  - lib/rubocop/gemfile/version.rb
121
169
  - lib/tasks/yard.rake
122
170
  - rubocop-gemfile.gemspec
123
- homepage:
171
+ homepage: https://github.com/sue445/rubocop-gemfile
124
172
  licenses:
125
173
  - MIT
126
174
  metadata: {}