piggly 2.2.0 → 2.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/piggly/command/base.rb +7 -19
- data/lib/piggly/config.rb +20 -9
- data/lib/piggly/version.rb +2 -2
- data/spec/examples/config_spec.rb +3 -3
- data/spec/{028_spec.rb → issues/028_spec.rb} +0 -0
- data/spec/issues/032_spec.rb +102 -0
- data/spec/spec_helper.rb +0 -4
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0aca5c86391dab9ddd1b0529e469c67f440ce9c8
|
4
|
+
data.tar.gz: aa7ced6807ad226312f95fb428d6e1ea36aa6af4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9a77dc4124175df8e45f1223e0b46c3dee9bb2f8282f0552b61dcccf4dc5348da072a5c5672bb77656c05f1b4e29fc9d0e47392d7d90fcad3396539f5c782e3e
|
7
|
+
data.tar.gz: 438b3ceb842971d0233eb16e9f41513b4494e50457e0bd8879f3aaa0858feeb4bf1ee11e17430b3b537f5c503e4a362deffa48b5a3739c24d38ca0f02536e7d2
|
data/lib/piggly/command/base.rb
CHANGED
@@ -16,8 +16,6 @@ module Piggly
|
|
16
16
|
end
|
17
17
|
end
|
18
18
|
|
19
|
-
private
|
20
|
-
|
21
19
|
# @return [(Class, Array<String>)]
|
22
20
|
def command(argv)
|
23
21
|
return if argv.empty?
|
@@ -67,26 +65,16 @@ module Piggly
|
|
67
65
|
else
|
68
66
|
head, _ = config.filters
|
69
67
|
|
70
|
-
start =
|
68
|
+
start =
|
69
|
+
case head.first
|
70
|
+
when :+; []
|
71
|
+
when :-; index.procedures
|
72
|
+
end
|
71
73
|
|
72
74
|
config.filters.inject(start) do |s, pair|
|
73
75
|
case pair.first
|
74
|
-
|
75
|
-
|
76
|
-
o = s.select(&pair.last)
|
77
|
-
puts "Selected #{ o.count} procedures"
|
78
|
-
puts "Selected:"
|
79
|
-
o.each do |x| puts x.name end
|
80
|
-
puts "---"
|
81
|
-
o
|
82
|
-
when :-
|
83
|
-
puts "Rejecting procedures"
|
84
|
-
o = s.reject(&pair.last)
|
85
|
-
puts "Rejected #{s.count - o.count} procedures"
|
86
|
-
puts "Rejected:"
|
87
|
-
((o-s)|(s-o)).each do |x| puts x.name end
|
88
|
-
puts "---"
|
89
|
-
o
|
76
|
+
when :+; s | index.procedures.select(&pair.last)
|
77
|
+
when :-; s.reject(&pair.last)
|
90
78
|
end
|
91
79
|
end
|
92
80
|
end
|
data/lib/piggly/config.rb
CHANGED
@@ -45,15 +45,15 @@ module Piggly
|
|
45
45
|
end
|
46
46
|
|
47
47
|
class Config
|
48
|
-
|
49
|
-
:cache_root
|
50
|
-
:report_root
|
51
|
-
:database_yml
|
52
|
-
:connection_name
|
53
|
-
:trace_prefix
|
54
|
-
:accumulate
|
55
|
-
:dry_run
|
56
|
-
:filters
|
48
|
+
attr_accessor \
|
49
|
+
:cache_root,
|
50
|
+
:report_root,
|
51
|
+
:database_yml,
|
52
|
+
:connection_name,
|
53
|
+
:trace_prefix,
|
54
|
+
:accumulate,
|
55
|
+
:dry_run,
|
56
|
+
:filters
|
57
57
|
|
58
58
|
alias accumulate? accumulate
|
59
59
|
|
@@ -64,5 +64,16 @@ module Piggly
|
|
64
64
|
def mkpath(*args)
|
65
65
|
self.class.mkpath(*args)
|
66
66
|
end
|
67
|
+
|
68
|
+
def initialize
|
69
|
+
@cache_root = File.expand_path("#{Dir.pwd}/piggly/cache")
|
70
|
+
@report_root = File.expand_path("#{Dir.pwd}/piggly/reports")
|
71
|
+
@database_yml = nil
|
72
|
+
@connection_name = "piggly"
|
73
|
+
@trace_prefix = "PIGGLY"
|
74
|
+
@accumulate = false
|
75
|
+
@dry_run = false
|
76
|
+
@filters = []
|
77
|
+
end
|
67
78
|
end
|
68
79
|
end
|
data/lib/piggly/version.rb
CHANGED
@@ -17,15 +17,15 @@ describe Config do
|
|
17
17
|
end
|
18
18
|
|
19
19
|
it "has default values" do
|
20
|
-
|
20
|
+
# @config.cache_root = nil
|
21
21
|
@config.cache_root.should_not be_nil
|
22
22
|
@config.cache_root.should =~ /cache$/
|
23
23
|
|
24
|
-
|
24
|
+
# @config.report_root = nil
|
25
25
|
@config.report_root.should_not be_nil
|
26
26
|
@config.report_root.should =~ /reports$/
|
27
27
|
|
28
|
-
|
28
|
+
# @config.trace_prefix = nil
|
29
29
|
@config.trace_prefix.should_not be_nil
|
30
30
|
@config.trace_prefix.should == 'PIGGLY'
|
31
31
|
end
|
File without changes
|
@@ -0,0 +1,102 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
module Piggly
|
4
|
+
describe "github issue #32" do
|
5
|
+
|
6
|
+
# note: both -r always subtracts and -s always adds
|
7
|
+
# from left-to-right (first-to-last), so -r Y -s Y
|
8
|
+
# or -s Y -r Y undo each other and have no effect.
|
9
|
+
#
|
10
|
+
# if the first filter is -s, then the set starts empty
|
11
|
+
# and -s adds to it.
|
12
|
+
#
|
13
|
+
# if the first filter is -r, then the set starts with
|
14
|
+
# all procedures and -r removes from it.
|
15
|
+
|
16
|
+
|
17
|
+
def result(args)
|
18
|
+
index = double("index", :procedures => [
|
19
|
+
double("public.a", :name => "public.a"),
|
20
|
+
double("public.b", :name => "public.b"),
|
21
|
+
double("public.c", :name => "public.c"),
|
22
|
+
double("public.d", :name => "public.d")])
|
23
|
+
config = Command::Trace.configure(args.dup)
|
24
|
+
p config.object_id, config.filters.object_id
|
25
|
+
|
26
|
+
result = Command::Trace.filter(config, index)
|
27
|
+
result.map(&:name).sort
|
28
|
+
end
|
29
|
+
|
30
|
+
context "with one -s argument" do
|
31
|
+
let(:args) { %w(-s public.c) }
|
32
|
+
|
33
|
+
it "selects matching procs" do
|
34
|
+
result(args).should == ["public.c"]
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
context "with -s regular expression" do
|
39
|
+
let(:args) { %w(-s /public.[bcd]/) }
|
40
|
+
|
41
|
+
it "selects matching procs" do
|
42
|
+
result(args).should == [
|
43
|
+
"public.b",
|
44
|
+
"public.c",
|
45
|
+
"public.d"]
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
context "with two -s arguments" do
|
50
|
+
let(:args) { %w(-s public.b -s public.d) }
|
51
|
+
|
52
|
+
it "adds matching procs" do
|
53
|
+
result(args).should == [
|
54
|
+
"public.b",
|
55
|
+
"public.d"] #
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
context "with one -r argument" do
|
60
|
+
let(:args) { %w(-r public.c) }
|
61
|
+
|
62
|
+
it "rejects matching procs" do
|
63
|
+
result(args).should == [
|
64
|
+
"public.a",
|
65
|
+
"public.b",
|
66
|
+
"public.d"] #
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
context "with two -r arguments" do
|
71
|
+
let(:args) { %w(-r public.b -r public.d) }
|
72
|
+
|
73
|
+
it "subtracts rejected procs" do
|
74
|
+
result(args).should == [
|
75
|
+
"public.a",
|
76
|
+
"public.c"]
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
context "with -s then -r" do
|
81
|
+
let(:args) { %w(-s /\.[abc]/ -r public.b -r public.d) }
|
82
|
+
|
83
|
+
it "-r removes from -s matches" do
|
84
|
+
result(args).should == [
|
85
|
+
"public.a",
|
86
|
+
"public.c"]
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
context "with -r then -s" do
|
91
|
+
let(:args) { %w(-r /\.[bc]/ -s public.b -s public.a) }
|
92
|
+
|
93
|
+
it "-s adds to -r non-matches" do
|
94
|
+
result(args).should == [
|
95
|
+
"public.a",
|
96
|
+
"public.b",
|
97
|
+
"public.d"]
|
98
|
+
end
|
99
|
+
end
|
100
|
+
|
101
|
+
end
|
102
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -7,10 +7,6 @@ end
|
|
7
7
|
require "ostruct"
|
8
8
|
require File.expand_path("#{File.dirname(__FILE__)}/../lib/piggly")
|
9
9
|
|
10
|
-
#Dir[File.join(File.dirname(__FILE__), 'mocks', '*')].each do |m|
|
11
|
-
# require File.expand_path(m)
|
12
|
-
#end
|
13
|
-
|
14
10
|
# load runtime dependencies
|
15
11
|
Piggly::Parser.parser
|
16
12
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: piggly
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.2.
|
4
|
+
version: 2.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kvle Putnam
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-10-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: treetop
|
@@ -90,7 +90,6 @@ files:
|
|
90
90
|
- lib/piggly/util/process_queue.rb
|
91
91
|
- lib/piggly/util/thunk.rb
|
92
92
|
- lib/piggly/version.rb
|
93
|
-
- spec/028_spec.rb
|
94
93
|
- spec/examples/compiler/cacheable_spec.rb
|
95
94
|
- spec/examples/compiler/report_spec.rb
|
96
95
|
- spec/examples/compiler/trace_spec.rb
|
@@ -135,6 +134,8 @@ files:
|
|
135
134
|
- spec/issues/007_spec.rb
|
136
135
|
- spec/issues/008_spec.rb
|
137
136
|
- spec/issues/018_spec.rb
|
137
|
+
- spec/issues/028_spec.rb
|
138
|
+
- spec/issues/032_spec.rb
|
138
139
|
- spec/spec_helper.rb
|
139
140
|
- spec/spec_suite.rb
|
140
141
|
homepage: http://github.com/kputnam/piggly
|