rubocul 2.0.1 → 2.0.2

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: 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: {}