cvg 0.1.3 → 0.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 +5 -13
- data/CHANGELOG +21 -0
- data/bin/cvg +13 -4
- data/cvg.gemspec +1 -0
- data/lib/cvg/version.rb +1 -1
- metadata +38 -25
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
MjQ5NDE2Mzk4OGI2ZWNlZWIyYzU5MDI5ZmQ4N2M2YjkwMjg1N2E3MQ==
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: b0ce58bb750f80bab8a43e12f89ce6f793ddbb1a
|
4
|
+
data.tar.gz: 24674fffa48caede3c99e5d4adbb99ab4939b906
|
7
5
|
SHA512:
|
8
|
-
metadata.gz:
|
9
|
-
|
10
|
-
YzQ1OWMxOWM3Mjk1MTBjOTBhZTFkMDJmMTg5YzcyYTlkYjBjMGJhZWU0NTJl
|
11
|
-
ZDliYmY3MDhkMTM0NmVlYTgwZGYzYjU3OGIxNTVjNTJmOTZjZjU=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
N2FhY2QyZTAwMzkyY2YwMGQ0MDMwYzQwZmQ0ZmRjY2Q0MTdlNDQ0NzgwOWVl
|
14
|
-
ZjA2YTdlZTJkNDQ0MjFmOTUyNTA3MDJhY2UyMGMyYTgyZDhkZGE0YTVkYjU0
|
15
|
-
NzNlNTNiNmUxN2Q2MTgxYzZmYzczNjU2NWM3ZmE4NzFiYzM5M2Q=
|
6
|
+
metadata.gz: 91b318d4c10b2bbed129084091661435e054a136ede8d19020a7a31cc81cfdd4285647df6531e16956bb8f58301a974d5df1f46600f1724de41c9ac9f916376f
|
7
|
+
data.tar.gz: 8ff44eb888b5df7471b85214dfa7edaae653e9a92d2ae18287dc60e2e426003c120fde1438b80c2d20eb5e5a2a0f2a5f2605f1a3e8cfec635300a380dcf443c3
|
data/CHANGELOG
CHANGED
@@ -1,3 +1,24 @@
|
|
1
|
+
0.2.1 / 2014-03-07
|
2
|
+
|
3
|
+
* Bug fixes
|
4
|
+
|
5
|
+
* Reverted to stdlib's (slow) CSV parser because it is more correct that fastest-csv, which silently fails on Excel CSVs
|
6
|
+
|
7
|
+
0.2.0 / 2014-02-28 [yanked]
|
8
|
+
|
9
|
+
* Breaking changes
|
10
|
+
|
11
|
+
* Faster CSV parsing using fastest-csv (should work on MRI and JRuby, but YMMV)
|
12
|
+
|
13
|
+
* Bug fixes
|
14
|
+
|
15
|
+
* Safer deduping using a real digest function
|
16
|
+
|
17
|
+
* Enhancements
|
18
|
+
|
19
|
+
* Faster deduping using a Set instead of an Array
|
20
|
+
* --version command line option
|
21
|
+
|
1
22
|
0.1.3 / 2013-11-14
|
2
23
|
|
3
24
|
* Bug fixes
|
data/bin/cvg
CHANGED
@@ -1,8 +1,17 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
+
require 'cvg/version'
|
4
|
+
|
5
|
+
if ARGV[0] == '--version'
|
6
|
+
puts Cvg::VERSION
|
7
|
+
exit
|
8
|
+
end
|
9
|
+
|
10
|
+
require 'set'
|
3
11
|
require 'csv'
|
4
12
|
require 'to_regexp'
|
5
13
|
require 'active_support/core_ext'
|
14
|
+
require 'hash_digest'
|
6
15
|
|
7
16
|
class Cvg
|
8
17
|
class << self
|
@@ -154,14 +163,14 @@ class Cvg
|
|
154
163
|
end
|
155
164
|
end
|
156
165
|
def registry
|
157
|
-
@registry ||=
|
166
|
+
@registry ||= Set.new
|
158
167
|
end
|
159
168
|
def pass?(row)
|
160
|
-
|
161
|
-
if registry.include?(
|
169
|
+
digest = HashDigest.digest3 row.values_at(*cols)
|
170
|
+
if registry.include?(digest)
|
162
171
|
false
|
163
172
|
else
|
164
|
-
registry <<
|
173
|
+
registry << digest
|
165
174
|
end
|
166
175
|
end
|
167
176
|
end
|
data/cvg.gemspec
CHANGED
@@ -20,6 +20,7 @@ Gem::Specification.new do |spec|
|
|
20
20
|
|
21
21
|
spec.add_runtime_dependency "activesupport"
|
22
22
|
spec.add_runtime_dependency "to_regexp"
|
23
|
+
spec.add_runtime_dependency 'hash_digest'
|
23
24
|
|
24
25
|
spec.add_development_dependency "bundler", "~> 1.3"
|
25
26
|
spec.add_development_dependency "rake"
|
data/lib/cvg/version.rb
CHANGED
metadata
CHANGED
@@ -1,125 +1,139 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cvg
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Seamus Abshere
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-03-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: to_regexp
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: hash_digest
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
39
53
|
- !ruby/object:Gem::Version
|
40
54
|
version: '0'
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: bundler
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
44
58
|
requirements:
|
45
|
-
- - ~>
|
59
|
+
- - "~>"
|
46
60
|
- !ruby/object:Gem::Version
|
47
61
|
version: '1.3'
|
48
62
|
type: :development
|
49
63
|
prerelease: false
|
50
64
|
version_requirements: !ruby/object:Gem::Requirement
|
51
65
|
requirements:
|
52
|
-
- - ~>
|
66
|
+
- - "~>"
|
53
67
|
- !ruby/object:Gem::Version
|
54
68
|
version: '1.3'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: rake
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
58
72
|
requirements:
|
59
|
-
- -
|
73
|
+
- - ">="
|
60
74
|
- !ruby/object:Gem::Version
|
61
75
|
version: '0'
|
62
76
|
type: :development
|
63
77
|
prerelease: false
|
64
78
|
version_requirements: !ruby/object:Gem::Requirement
|
65
79
|
requirements:
|
66
|
-
- -
|
80
|
+
- - ">="
|
67
81
|
- !ruby/object:Gem::Version
|
68
82
|
version: '0'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: rspec
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
72
86
|
requirements:
|
73
|
-
- -
|
87
|
+
- - ">="
|
74
88
|
- !ruby/object:Gem::Version
|
75
89
|
version: '0'
|
76
90
|
type: :development
|
77
91
|
prerelease: false
|
78
92
|
version_requirements: !ruby/object:Gem::Requirement
|
79
93
|
requirements:
|
80
|
-
- -
|
94
|
+
- - ">="
|
81
95
|
- !ruby/object:Gem::Version
|
82
96
|
version: '0'
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
98
|
name: rspec-expectations
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
86
100
|
requirements:
|
87
|
-
- -
|
101
|
+
- - ">="
|
88
102
|
- !ruby/object:Gem::Version
|
89
103
|
version: '0'
|
90
104
|
type: :development
|
91
105
|
prerelease: false
|
92
106
|
version_requirements: !ruby/object:Gem::Requirement
|
93
107
|
requirements:
|
94
|
-
- -
|
108
|
+
- - ">="
|
95
109
|
- !ruby/object:Gem::Version
|
96
110
|
version: '0'
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
112
|
name: posix-spawn
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
100
114
|
requirements:
|
101
|
-
- -
|
115
|
+
- - ">="
|
102
116
|
- !ruby/object:Gem::Version
|
103
117
|
version: '0'
|
104
118
|
type: :development
|
105
119
|
prerelease: false
|
106
120
|
version_requirements: !ruby/object:Gem::Requirement
|
107
121
|
requirements:
|
108
|
-
- -
|
122
|
+
- - ">="
|
109
123
|
- !ruby/object:Gem::Version
|
110
124
|
version: '0'
|
111
125
|
- !ruby/object:Gem::Dependency
|
112
126
|
name: pry
|
113
127
|
requirement: !ruby/object:Gem::Requirement
|
114
128
|
requirements:
|
115
|
-
- -
|
129
|
+
- - ">="
|
116
130
|
- !ruby/object:Gem::Version
|
117
131
|
version: '0'
|
118
132
|
type: :development
|
119
133
|
prerelease: false
|
120
134
|
version_requirements: !ruby/object:Gem::Requirement
|
121
135
|
requirements:
|
122
|
-
- -
|
136
|
+
- - ">="
|
123
137
|
- !ruby/object:Gem::Version
|
124
138
|
version: '0'
|
125
139
|
description: Like jq or grep for csv. Combine one or more CSVs while filtering on
|
@@ -131,9 +145,9 @@ executables:
|
|
131
145
|
extensions: []
|
132
146
|
extra_rdoc_files: []
|
133
147
|
files:
|
134
|
-
- .gitignore
|
135
|
-
- .rspec
|
136
|
-
- .travis.yml
|
148
|
+
- ".gitignore"
|
149
|
+
- ".rspec"
|
150
|
+
- ".travis.yml"
|
137
151
|
- CHANGELOG
|
138
152
|
- Gemfile
|
139
153
|
- LICENSE.txt
|
@@ -160,17 +174,17 @@ require_paths:
|
|
160
174
|
- lib
|
161
175
|
required_ruby_version: !ruby/object:Gem::Requirement
|
162
176
|
requirements:
|
163
|
-
- -
|
177
|
+
- - ">="
|
164
178
|
- !ruby/object:Gem::Version
|
165
179
|
version: '0'
|
166
180
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
167
181
|
requirements:
|
168
|
-
- -
|
182
|
+
- - ">="
|
169
183
|
- !ruby/object:Gem::Version
|
170
184
|
version: '0'
|
171
185
|
requirements: []
|
172
186
|
rubyforge_project:
|
173
|
-
rubygems_version: 2.
|
187
|
+
rubygems_version: 2.2.2
|
174
188
|
signing_key:
|
175
189
|
specification_version: 4
|
176
190
|
summary: Like jq or grep for csv. Combine one or more CSVs while filtering on fields
|
@@ -183,4 +197,3 @@ test_files:
|
|
183
197
|
- features/support/env.rb
|
184
198
|
- spec/cvg_spec.rb
|
185
199
|
- spec/spec_helper.rb
|
186
|
-
has_rdoc:
|