piggly 2.2.0 → 2.2.1
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 +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
|