rubocul 2.0.1 → 2.0.2

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
  SHA256:
3
- metadata.gz: 450941d4c06ce5d313e3f86d1b09b08ab08b3df23e6c6c70a141122504bac941
4
- data.tar.gz: 20120e021a893929d919cdf86376b717554f1fdf60ad84159f7cab1df85297f0
3
+ metadata.gz: d5272e1b0c785ffbd90df920558e8437537698494f99a653148d164cca52a7b7
4
+ data.tar.gz: a0ed2e74521e3fd37bb4d52d9616498d6f04f83d8f5d9a69cdb597bb2d8d7d1a
5
5
  SHA512:
6
- metadata.gz: 7291594ff302fe7d7b4f222994782ea9cae1f38f929a2b8754ec293a1d079c85b7776bc8d308cce0fc9057d414fb8b1ca9fe268974221c4e89636d3fb62e0d9a
7
- data.tar.gz: 379f38a6b19acadf599671008e9f86110ec2eecd9b4358dfbace92809010df8c496bcfbe8eb037bc157b335415ca919b432c6000b7237bbd60de2b610fe7b19c
6
+ metadata.gz: '08694ca5aee43a0db0343cfce44f08da39562a51c8b60323d60d5bdd11e0e1426c96ce9d484e39503c09ac3440ead6c4e01c2f945c88ec0eb578362f8a0a2816'
7
+ data.tar.gz: 2d341f83feb549e1a3dedb21c37701eb4919ecc0745714c06821e91a29ffc023b40dfa0b6ae164223688d5af349be82a2e37819273b58ace5fa22f1e9a8536c7
data/README.md CHANGED
@@ -38,3 +38,7 @@ This project depends on `bixby`, which depends on `rubocop` and `rubocop-rspec`.
38
38
  ## Configuration Suggestion
39
39
 
40
40
  If a member of our team would like to suggest a change to our configuration, please open a github pull request with your change and an explanation of why you think it's necessary/valuable. Please add your new configuration to the `rubocop_default.yml` file.
41
+
42
+ ## Testing
43
+
44
+ Note that testing of custom rubocop rules is not currently set up for this gem, but is planned for the future. We have a test in the spec directory that we'll eventually want to run once tests are ready to go.
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RuboCop
4
+ module Cop
5
+ module CUL
6
+ # Do not commit specs that call `page.save_screenshot`
7
+ class CapybaraScreenshots < RuboCop::Cop::Cop
8
+ MSG = 'Remove debugging/instrumentation such as `page#save_screenshot` before committing.'
9
+ # This cop uses a node matcher for matching node pattern.
10
+ # See https://github.com/rubocop/rubocop-ast/blob/master/docs/modules/ROOT/pages/node_pattern.adoc
11
+ #
12
+ # For example
13
+ def_node_matcher :called_forbidden_method?, <<-PATTERN
14
+ (send (send nil? :page) :save_screenshot)
15
+ PATTERN
16
+
17
+ def on_send(node)
18
+ return unless called_forbidden_method?(node)
19
+ add_offense(node, location: :expression, message: MSG)
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,3 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'cul/capybara_screenshots'
@@ -0,0 +1,4 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rubocop'
4
+ require_relative 'cop/cul_cops'
data/rubocul.gemspec CHANGED
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = 'rubocul'
3
- spec.version = '2.0.1'
4
- spec.authors = ["Carla Galarza", "Eric O'Hanlon"]
3
+ spec.version = '2.0.2'
4
+ spec.authors = ["Carla Galarza", "Eric O'Hanlon", "Ben Armintor"]
5
5
 
6
6
  spec.summary = 'A style configuration for Rubocop'
7
7
  spec.description = 'Recommended Rubocop configuration for Ruby projects created by the Columbia University Libraries'
data/rubocul_default.yml CHANGED
@@ -5,6 +5,9 @@ inherit_mode:
5
5
  merge:
6
6
  - Exclude
7
7
 
8
+ require:
9
+ - ./lib/rubocop/cul.rb
10
+
8
11
  AllCops:
9
12
  Exclude:
10
13
  - 'app/javascript/**/*'
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+ require 'rubocop'
3
+ require 'rubocop/cul'
4
+
5
+ RSpec.describe RuboCop::Cop::CUL::CapybaraScreenshots do
6
+ subject(:cop) { described_class.new(config) }
7
+
8
+ let(:config) { RuboCop::Config.new }
9
+
10
+ # TODO: Write test code
11
+ #
12
+ # For example
13
+ it 'registers an offense when using calling `page#save_screenshot`' do
14
+ expect_offense(<<-RUBY.strip_indent)
15
+ page.save_screenshot
16
+ ^^^^^^^^^^^^^^^^^^^^ Remove debugging/instrumentation such as `page#save_screenshot` before committing.
17
+ RUBY
18
+ end
19
+
20
+ it 'does not register an offense when using `page#good_method`' do
21
+ expect_no_offenses(<<-RUBY.strip_indent)
22
+ page.good_method
23
+ RUBY
24
+ end
25
+ end
metadata CHANGED
@@ -1,15 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubocul
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carla Galarza
8
8
  - Eric O'Hanlon
9
+ - Ben Armintor
9
10
  autorequire:
10
11
  bindir: bin
11
12
  cert_chain: []
12
- date: 2021-04-05 00:00:00.000000000 Z
13
+ date: 2021-09-15 00:00:00.000000000 Z
13
14
  dependencies:
14
15
  - !ruby/object:Gem::Dependency
15
16
  name: bundler
@@ -51,8 +52,12 @@ files:
51
52
  - LICENSE
52
53
  - README.md
53
54
  - Rakefile
55
+ - lib/rubocop/cop/cul/capybara_screenshots.rb
56
+ - lib/rubocop/cop/cul_cops.rb
57
+ - lib/rubocop/cul.rb
54
58
  - rubocul.gemspec
55
59
  - rubocul_default.yml
60
+ - spec/rubocop/cop/cul/capybara_screenshots_spec.rb
56
61
  homepage: http://github.com/cul/rubocul
57
62
  licenses: []
58
63
  metadata: {}