query_storage 0.0.1 → 0.0.2

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: ca2171330d366349e4f9196f1dd19f355aedb0efb94b10008eefce2b741162ba
4
- data.tar.gz: 9a3b6b454e35e0410dec963df4d3439ea2aff8717ac56768c568159eacb82702
3
+ metadata.gz: b8b8801adbefeb2976b75a8f7782fb65b3f6e4e0ec12709f38c6dbc62f6ccac9
4
+ data.tar.gz: c4c6be78c36801e39ab2c32cb747379f5c8a3a3781228c011f8002073a4c96e7
5
5
  SHA512:
6
- metadata.gz: 249fd11d92fc14653116e0dc74e58bc816f443127d08e1b2ad207aeba373e67f2508ee00244a697aba35b0bf98ada97c2b8612a0bfa61cc12d62e003c75cc574
7
- data.tar.gz: 3140930ce7c2eb2eb614f92bccef378a45d7b31502cc3530af807b63f0ff4ea790eacf37547168ba029eff9bae83a307eb3bb286fb48ec41fb87d8876a110ddc
6
+ metadata.gz: 7ff8608ae007d91d11251f5e9233f120841f2c4feb85c8972678a795aaff06207dfbe7b3893bc92ae611769cee0c39d4accf7b0fd6647db5e5ad1eac0d57f091
7
+ data.tar.gz: 9d8f1a4590feb65fe1196d75d4d792c044a043ed61f8fab5a02369510fb34db496d97d245d843fc0b7e408ca696570f660f4fc8232166b640d0fcb81e54b4b7a
@@ -0,0 +1,11 @@
1
+ # query-storage
2
+
3
+
4
+ I will write README when I finish creating this gem
5
+
6
+ ## Set up View,Controller,Model
7
+
8
+ ```
9
+ rails generate query_storage:install query
10
+ ```
11
+
@@ -19,8 +19,7 @@ class QueriesController < ApplicationController
19
19
  @query = Query.find_by_id(params[:id])
20
20
  sql = @query.sql
21
21
  @result = QueryStorage.execute_sql(sql)
22
- # has_header = true
23
- # @csv_date = QueryStorage.get_csv_data(@result, has_header)
22
+ # @csv_date = QueryStorage.get_csv_data_array(@result)
24
23
  # @tsv_date = QueryStorage.get_tsv_data(@result, has_header)
25
24
  @header = @result[0].keys
26
25
  @result = Kaminari.paginate_array(@result.to_a).page(params[:page]).per(1000)
@@ -93,9 +92,8 @@ class QueriesController < ApplicationController
93
92
  def download_csv
94
93
  query = Query.find_by_id(params[:id])
95
94
  result = QueryStorage.execute_sql(query.sql)
96
- has_header = true
97
- csv_data = QueryStorage.get_csv_data(result, has_header)
98
- csv_data = csv_data.encode(Encoding::SJIS, :invalid => :replace, :undef => :replace)
95
+ csv_data = QueryStorage.get_csv_data_array(result)
96
+ # csv_data = csv_data.encode(Encoding::SJIS, :invalid => :replace, :undef => :replace)
99
97
  respond_to do |format|
100
98
  format.html
101
99
  format.csv { send_data csv_data, :type => 'text/csv; charset=shift_jis', :filename => query.title+".csv" }
@@ -22,6 +22,14 @@ module QueryStorage
22
22
  return csv_data
23
23
  end
24
24
 
25
+ def get_csv_data_array list, key_order=nil
26
+ key_order ||= list.map(&:keys).flatten.uniq
27
+ arr = list.map do |hash|
28
+ key_order.map{|key| hash[key]}
29
+ end
30
+ arr.unshift(key_order).map{|a| a.join(", ").insert(-1, "\n") }.join
31
+ end
32
+
25
33
  def get_tsv_data input_data, has_header=false
26
34
  tsv_data = CSV.generate("", :headers => input_data[0].keys, :write_headers => has_header, :col_sep => "\t") do |tsv|
27
35
  input_data.each_with_index do |record, index|
@@ -1,3 +1,3 @@
1
1
  module QueryStorage
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: query_storage
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Keisuke Nakama
@@ -19,6 +19,7 @@ extra_rdoc_files: []
19
19
  files:
20
20
  - ".gitignore"
21
21
  - Gemfile
22
+ - README.md
22
23
  - Rakefile
23
24
  - lib/generators/query_storage/install/install_generator.rb
24
25
  - lib/generators/templates/controllers/queries_controller.rb