dorian-csv-all 0.0.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/bin/csv-all +7 -21
  3. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1e29fbb6caf58bae65811effe01b3b6e28413c2dd637980992f3afdc2e46e9dc
4
- data.tar.gz: 213f695ef33f954f214e9679cff470b97edd2fec0eb47df0854cc476406b6426
3
+ metadata.gz: 858bed804d85030475b691b4c9b9165fd6c4d5ce4d42a70c8f1cb2ba0cb87f1b
4
+ data.tar.gz: 2fdf2f8ccac8ea010af83472d6d14e10230942eaa3238e4f5dd8ae068f3b58b6
5
5
  SHA512:
6
- metadata.gz: 8f9e7aadea1ce39138c450344f6c3b5a8bcce797c4eaa91c2c2478388237be5807ecf1f1c81fad3e67038156da215dedec7f938afa806eb4db09ecf86b80f5db
7
- data.tar.gz: 8017f75c607bc9676448d6fee92f0c7336943cf43c839ebf554ff773bb090c3595084d28f798a3125847072828835e7584a91e34ce55b5aa0d353b2d0e2bdf99
6
+ metadata.gz: a0e51348629b647e35cacd43676401e0a3366f0e44579c3ae68d49c810ddbaed57f4f8fb8ca030683a3f722abcd16f7a5d864904992a3f696d72cc3752e743ad
7
+ data.tar.gz: 2a1b588ea78c12d72b58d547d99b8488fde41a6d0b91282ee0549ffab5f834c5f346a80cb84ae29eaca75c945c08a3351d8b11dedadaf4c88905cf2f430de148
data/bin/csv-all CHANGED
@@ -2,27 +2,13 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  require "csv"
5
- require "optparse"
6
- require "active_support"
7
- require "active_support/core_ext/hash/indifferent_access"
5
+ require "dorian-to_struct"
8
6
 
9
- options = { headers: false }
7
+ HEADERS = ARGV.detect { |argv| argv == "-h" || argv == "--headers" }
10
8
 
11
- argv =
12
- OptionParser
13
- .new do |opts|
14
- opts.banner = "Usage: cat ... | csv-all [-h|--headers] RUBY\n\n"
9
+ it =
10
+ CSV
11
+ .parse($stdin.each_line.to_a.map(&:strip).join("\n"), headers: !!HEADERS)
12
+ .map { |line| HEADERS ? line.to_h.to_struct : line.to_a }
15
13
 
16
- opts.on("-h", "--headers", "with headers") do |parse|
17
- options[:headers] = true
18
- end
19
- end
20
- .parse!
21
-
22
- abort "See --help" if argv.size != 1
23
-
24
- it = CSV.parse($stdin.each_line.to_a.join, headers: options[:headers]).map do |line|
25
- options[:headers] ? line.to_h.with_indifferent_access : line.to_a
26
- end
27
-
28
- eval(argv.first)
14
+ eval((ARGV - [HEADERS]).join(" "))
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dorian-csv-all
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dorian Marié
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-08-15 00:00:00.000000000 Z
11
+ date: 2024-08-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: csv
@@ -25,7 +25,7 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: activesupport
28
+ name: dorian-to_struct
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="