active_record_scanner 0.1.1 → 0.1.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
  SHA1:
3
- metadata.gz: fab37beaa2b44ae9245b0ab864f24a1be97d0208
4
- data.tar.gz: a6c0cc08c0d95b034bd22259c2841acfbed3834e
3
+ metadata.gz: 95f6adc89ef62b9b798d8187b552ee9376f068f5
4
+ data.tar.gz: af9affa7ec8181c1b653cc4d282bb815ae997eb5
5
5
  SHA512:
6
- metadata.gz: bd7a35be40042ba635dfb3c78268a4f6df0337e77e4ae430c3c979fa268c1cad0a1bd0d30e164c509a7367575c6ed8bba7e72e251f98300f3d95f9f87db0e771
7
- data.tar.gz: 16d862d340bc0ae9612e9bf68f172d6be42ec1736f306674b80e3fd9926a3e274ec309ba948694af7e9ba0a7a1d4992fb2dc6cd9a53be5d55eccdca7dad2c9c3
6
+ metadata.gz: 41ba12e98038345a8900a073958bd3e732f8b51ca0d01db1801db13eb6a6038c1d09e6bf305c45d9a58e79a353cf3f1595ab7e1d76cde9141f5d2edeae27f669
7
+ data.tar.gz: 2e588035167d386cefe8ad3238d8a742ebad271ff56976c0cd03aaab76fd5f8017b36872bb1742c26450ff12c1153c12365db221dc3be26fbc0c7300679db550
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- active_record_scanner (0.1.0)
4
+ active_record_scanner (0.1.2)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -12,21 +12,22 @@ module ActiveRecordScanner
12
12
 
13
13
  def scan
14
14
  Dir.glob(@glob).each do |file|
15
- scan_file(file)
15
+ print "." unless @options[:silent]
16
+ @file = file
17
+ raw = IO.binread(file)
18
+ scan_file(raw)
16
19
  end
17
20
  @results
18
21
  end
19
22
 
20
- private
21
-
22
- def scan_file(file)
23
- print "." unless @options[:silent]
24
- @file = file
25
- raw = IO.binread(file)
23
+ def scan_file(raw)
26
24
  compact_tree = Parser.new(raw).parse
27
25
  scan_for_errors(compact_tree)
26
+ @results
28
27
  end
29
28
 
29
+ private
30
+
30
31
  def report_error(error)
31
32
  node = error.last
32
33
  @results << "#{@file} (line #{node[2][1]} column #{node[2][0]}) -- called query method '##{node[1]}' in a loop"
@@ -54,8 +54,13 @@ class Parser
54
54
  def normalise!(tree)
55
55
  tree.each.with_index do |node, i|
56
56
  if node.is_a?(Array)
57
- if node.first == :loop
58
- tree[i+1][0] = :lblock if tree[i+1]
57
+ if node.first == :loop && tree[i+1]
58
+ key = tree[i+1][0]
59
+ if key == :block
60
+ tree[i+1][0] = :lblock
61
+ elsif key == :query # wrap queries like `c.each(&:destroy)`
62
+ tree[i+1] = [:lblock, tree[i+1]]
63
+ end
59
64
  end
60
65
  tree[i] = normalise!(node)
61
66
  end
@@ -1,3 +1,3 @@
1
1
  module ActiveRecordScanner
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_record_scanner
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Goedecke