csv-query 0.1.15 → 0.1.16

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e8e17d94f4639a9c2e4cf7cdfe8adb34dcf6b1b11df7c1d090359459fa7be28e
4
- data.tar.gz: 1fd06fd46fb342f5cac6a77da1f6d60833836da4628672da65116e1080102453
3
+ metadata.gz: 81ed069b8d621a0f2b417b723427518730e34172fced51d716c35840d6632f2d
4
+ data.tar.gz: 1d9a05eee111aece4a15637643d51433cd7178a6447c2848eac3353fe5cf928d
5
5
  SHA512:
6
- metadata.gz: a857379ae8761c81bd36bbc5aa08437bd24d3071b509d8686a2f8ad45e368c78f078b83a02653fa91bda981064da2eb78974c5b1a37d2f636b2bd5663786158c
7
- data.tar.gz: bdf2a82b644fd8b8ffd7049104948ffb465fb258b376f7ae1d5af9adf02b22455610d48720f3398847f34b7674a5051b3533da48226bc40d91cbefd254a26211
6
+ metadata.gz: 1f1e68ad18f62b75b53fae391a676ba045829044efee4acc70e699e5cc5b6659500a67471c91f575847c2556a85a7bae97f30dfc1d8994eb3a20d11accfcbdf4
7
+ data.tar.gz: 890b54e8f653aeefd08b8bfc262202b932ff398a2c6dbb790a7aa0d753dfafc2095de3eb5229e00fe5a0f5b7307546ffb8c77d011174c16897663eeffe79e9b6
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- csv-query (0.1.15)
4
+ csv-query (0.1.16)
5
5
  activerecord
6
6
  charlock_holmes
7
7
  sqlite3
data/lib/csv/query.rb CHANGED
@@ -11,10 +11,11 @@ module Csv
11
11
  class CLI < Thor
12
12
  # Your code goes here...
13
13
  method_option :file, type: :string, required: true
14
+ method_option :sql, type: :string
14
15
  method_option :json
15
16
  desc "main", "do something"
16
17
  def main
17
- InMemoryAR.new(options[:file], options[:json]).run!
18
+ InMemoryAR.new(options[:file], options[:json], options[:sql]).run!
18
19
  end
19
20
  default_task :main
20
21
 
@@ -58,9 +59,10 @@ module Csv
58
59
  csv.headers
59
60
  end
60
61
 
61
- attr_reader :file_path
62
+ attr_reader :file_path, :json, :sql
62
63
 
63
- def initialize(file_path, json)
64
+ def initialize(file_path, json, sql)
65
+ @sql = sql
64
66
  @json = json
65
67
  @file_path = file_path
66
68
 
@@ -82,7 +84,7 @@ module Csv
82
84
  end
83
85
 
84
86
  def json_format?
85
- @json
87
+ json
86
88
  end
87
89
 
88
90
  def run!
@@ -90,11 +92,17 @@ module Csv
90
92
  Record.create!(row.to_h)
91
93
  end
92
94
 
93
- records = InMemoryAR::Record.all
94
-
95
95
  render(records)
96
96
  end
97
97
 
98
+ def records
99
+ if sql.present?
100
+ InMemoryAR::Record.find_by_sql(sql)
101
+ else
102
+ InMemoryAR::Record.all
103
+ end
104
+ end
105
+
98
106
  def render records
99
107
  if json_format?
100
108
  puts Array.wrap(records).map { |e| e.to_h }.to_json
@@ -1,5 +1,5 @@
1
1
  module Csv
2
2
  module Query
3
- VERSION = "0.1.15"
3
+ VERSION = "0.1.16"
4
4
  end
5
5
  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.15
4
+ version: 0.1.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - naofumi-fujii