rubocop-academia 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 903ae1843815ba5c13a523c544d5b58cc13acf51a90dcd7320231b9d666dae57
4
+ data.tar.gz: ed264d6bc3aee83f0008ce49fb78e69c1ec2961e7552d2636be06aab570c2943
5
+ SHA512:
6
+ metadata.gz: 71d5c67c7bdf20b4fcfe200ab9a37a76e34bb09e0513f46dffba94991ab1ce252c48d5ba427270dc7ae844a0f0fedc7ec3e6806df5804fa855f9192b895af4b1
7
+ data.tar.gz: 52a76c62a6a8be8176ae058d945edc63722b76670f53c152cf95c78f39ec79b700eca33e96c23cdab8622824973b1ebeb21acfb9c3488e90dc029ce681433fc2
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RuboCop
4
+ module Cop
5
+ module Academia
6
+ class OnReplica < RuboCop::Cop::Cop
7
+ MSG = "Please use `Octopus.on_replica(:shard)` where :shard is the name of the database"
8
+
9
+ def on_send(node)
10
+ receiver, method_name, *args = *node
11
+
12
+ return unless method_name == :on_replica
13
+ return if match_octopus(receiver) && args.any?
14
+
15
+ add_offense(node)
16
+ end
17
+
18
+ private
19
+
20
+ def match_octopus(node)
21
+ node && node.const_name == "Octopus"
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rubocop'
4
+
5
+ require_relative 'rubocop/cop/academia/on_replica'
metadata ADDED
@@ -0,0 +1,44 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rubocop-academia
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.1
5
+ platform: ruby
6
+ authors:
7
+ - Nick White
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2019-11-21 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: Rubocop cops that provide linting for Academia.edu's codebase
14
+ email: nickwhite@academia.edu
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files: []
18
+ files:
19
+ - lib/rubocop-academia.rb
20
+ - lib/rubocop/cop/academia/on_replica.rb
21
+ homepage: https://rubygems.org/gems/rubocop-academia
22
+ licenses:
23
+ - MIT
24
+ metadata: {}
25
+ post_install_message:
26
+ rdoc_options: []
27
+ require_paths:
28
+ - lib
29
+ required_ruby_version: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ required_rubygems_version: !ruby/object:Gem::Requirement
35
+ requirements:
36
+ - - ">="
37
+ - !ruby/object:Gem::Version
38
+ version: '0'
39
+ requirements: []
40
+ rubygems_version: 3.0.3
41
+ signing_key:
42
+ specification_version: 4
43
+ summary: Academia-specific rubocop cops
44
+ test_files: []