query_storage 0.0.1 → 0.0.2

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: 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