rubocop-academia 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/lib/rubocop/cop/academia/on_replica.rb +26 -0
- data/lib/rubocop-academia.rb +5 -0
- metadata +44 -0
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
|
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: []
|