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 +4 -4
- data/README.md +11 -0
- data/lib/generators/templates/controllers/queries_controller.rb +3 -5
- data/lib/query_storage.rb +8 -0
- data/lib/query_storage/version.rb +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b8b8801adbefeb2976b75a8f7782fb65b3f6e4e0ec12709f38c6dbc62f6ccac9
|
4
|
+
data.tar.gz: c4c6be78c36801e39ab2c32cb747379f5c8a3a3781228c011f8002073a4c96e7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7ff8608ae007d91d11251f5e9233f120841f2c4feb85c8972678a795aaff06207dfbe7b3893bc92ae611769cee0c39d4accf7b0fd6647db5e5ad1eac0d57f091
|
7
|
+
data.tar.gz: 9d8f1a4590feb65fe1196d75d4d792c044a043ed61f8fab5a02369510fb34db496d97d245d843fc0b7e408ca696570f660f4fc8232166b640d0fcb81e54b4b7a
|
data/README.md
ADDED
@@ -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
|
-
#
|
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
|
-
|
97
|
-
csv_data =
|
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" }
|
data/lib/query_storage.rb
CHANGED
@@ -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|
|
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.
|
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
|