csv-query 0.1.7 → 0.1.8

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 01ff93f69a2cef019019a334725f9efe0eb652a83c58d1b35ed335cce82bcc37
4
- data.tar.gz: 45ff59e71a07a868e8b802545c1b0e7ab3956fad51e18529526db9e52b247e66
3
+ metadata.gz: 10e0753855ecc08fcd04cc4d16fce8b8d0aa9aa6113faeee99a6cb001f3767ca
4
+ data.tar.gz: 9f401840f83d8644f0294f5d5981a3709203d46ed673dc9b0a07076b34f047ef
5
5
  SHA512:
6
- metadata.gz: 6fb6d6cb7b740f3672c0ce3418e1e8a42afaf82a67a005a4a6b29a1109b1bc47e0aafa330a1aace678e342fb5809a879de847491055fd5a17a0f6003f06cd2c3
7
- data.tar.gz: 6df400103ab554f11339dca04b19b1119a2e2681d7445c181038c8ff886c88f6709d43daf4a005aa13747fb67e8573b13e9ab8c6a1afb8afbacc09507c15463a
6
+ metadata.gz: e053344687d0998203130842f8ed356d6ba86c800e4399d6de97b3bcaa8e1d12ccadcb33e50cf9d9f33cd78f6f6ebe88333113208e1cdc81be213ec7b1b6ada8
7
+ data.tar.gz: b5c6a24d6c36b907f5a6f71b7d930bdf2854e6346255cee30da1dfca3c09b45ffd655c742422b98d9e89cb660814d8cb7059ae493f8c4ea9549fe96770908ff4
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- csv-query (0.1.7)
4
+ csv-query (0.1.8)
5
5
  activerecord
6
6
  charlock_holmes
7
7
  sqlite3
data/Makefile ADDED
@@ -0,0 +1,3 @@
1
+ release:
2
+ bump patch
3
+ gem build csv-query
@@ -1,5 +1,5 @@
1
1
  module Csv
2
2
  module Query
3
- VERSION = "0.1.7"
3
+ VERSION = "0.1.8"
4
4
  end
5
5
  end
data/lib/csv/query.rb CHANGED
@@ -12,10 +12,10 @@ module Csv
12
12
  module Query
13
13
  # Your code goes here...
14
14
  def self.run!
15
- file_path, query =
16
- ARGV.getopts(nil, 'file:', 'query:').values
15
+ file_path, query, json =
16
+ ARGV.getopts(nil, 'file:', 'query:', 'json').values
17
17
 
18
- InMemoryAR.new(file_path).run! {
18
+ InMemoryAR.new(file_path, json).run! {
19
19
  # InMemoryAR::Record.all
20
20
  eval(query)
21
21
  }
@@ -52,7 +52,8 @@ module Csv
52
52
 
53
53
  attr_reader :file_path
54
54
 
55
- def initialize file_path
55
+ def initialize(file_path, json)
56
+ @json = json
56
57
  @file_path = file_path
57
58
 
58
59
  migration(csv_headers)
@@ -72,13 +73,22 @@ module Csv
72
73
  end
73
74
  end
74
75
 
76
+ def json_format?
77
+ @json
78
+ end
79
+
75
80
  def run!
76
81
  csv.each do |row|
77
82
  Record.create!(row.to_h)
78
83
  end
79
84
  records = yield
80
- rows = records.map { |e| e.attributes.values }
81
- puts Terminal::Table.new :headings => csv_headers, :rows => rows
85
+
86
+ if json_format?
87
+ puts records.map { |e| e.attributes }.to_json
88
+ else
89
+ rows = records.map { |e| e.attributes.values }
90
+ puts Terminal::Table.new :headings => csv_headers, :rows => rows
91
+ end
82
92
  end
83
93
  end
84
94
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: csv-query
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - naofumi-fujii
@@ -124,6 +124,7 @@ files:
124
124
  - Gemfile
125
125
  - Gemfile.lock
126
126
  - LICENSE.txt
127
+ - Makefile
127
128
  - README.md
128
129
  - Rakefile
129
130
  - bin/console