clark_kent 0.3.2 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/helpers/clark_kent/application_helper.rb +10 -1
- data/app/models/clark_kent/report.rb +1 -1
- data/app/models/clark_kent/report_column.rb +8 -0
- data/app/models/clark_kent/report_config.rb +1 -1
- data/app/views/clark_kent/reports/show.html.erb +1 -1
- data/lib/clark_kent/version.rb +1 -1
- data/test/dummy/db/test.sqlite3 +0 -0
- data/test/dummy/log/test.log +1180 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/7wkkNeyL-5f8CXSn7mMl8AVNJDqKAiYwQs3n_B6mQyU.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/8S9BWbkqyqZJQUbtQschJbKqEQhGcIJGHi3MQwciyag.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/9wAn82iO6baAuljoEQVoaVPuY9XDGcbcBtl8qv6StxQ.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/HOfAHEuP6I8KPPyp98JcoOXTGi11_FBhOJwFtsevX-A.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/HoeR2i4C0fFw3InDLqJk6bUaQeky8AuUobvnvjv6pHM.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/ICbkYKfaoZRUPEOztDCgFmCKItizJSF6nxzG5MhlT5k.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/JbcAACpMmVlknG104wCtLY73aNeelGB5NNPiF4uDf5s.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/MBGxecGwxTYQEY7eD6RjPwyEK-nzQYdEg6L1CKxeNrg.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/O8akbUwAbmIKY-AhITimq-JDQ6IgsO3Hvq2v5etufFw.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/O_lf7JlEpHIA6lJttTUysIjiZne0WHcrriF_gfYEPuk.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/QiWdA0USMx1DANK8U_xj8UkshlB2A5ERdXEtrOCdNgU.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/UwMFS8rJmeOVTOPUAsy5rBsPqe-mwJgvTSCg-8xwSK8.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/VnraCsf7KCfpeFS2tHzBzKw_a2CO0CW7p-jo_0Ov0-U.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/X-bY_yeJIl4hwsbTN_dx12dUEzsaExaUkthjOEOBjUM.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Yg4blpsarsGK85xxkPyxeXWfUmlqediuIlTkheX7BH4.cache +1 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/hj8Ir9wcVSy1KYrnWu9bpD24vDhCG3tvt-nKbNxb1Wg.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/oCsZTGZyV4kH8Y4OeSDUdrwfkJFPzTODZjuBKZB8oGQ.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/tPF6H9NRpGO3whu2y5_e_R_1EACKdCwu5437D83qJT0.cache +0 -0
- data/test/helpers/clark_kent/reports_helper_test.rb +20 -0
- data/test/models/clark_kent/report_email_test.rb +1 -1
- metadata +26 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fe22bd3faedb9def5b87a6d211ad636b4a19d205
|
4
|
+
data.tar.gz: d29d05f7cd1eef5d5d51ea3571a97ab214f1235e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0a3af043dddd9aa010e65f75b9c2d4ced95a4fe36d0b7cf8df68a9568f058c2e054968872a47d65cead3fb8f30d3e507cf439c5e14d007cb257e36336bcf35e8
|
7
|
+
data.tar.gz: 7a9fb1a4648833e2e73e99692806a5b16966a786931df1c7660d8e2cc31c01b48f6c6d3b624126a85dec59a358a76e9636402be747cddf58ccf7e44dc2e9da4f
|
@@ -33,11 +33,20 @@ module ClarkKent
|
|
33
33
|
(value =~ /\d/) && (value =~ /\./) && !(value =~ /[a-zA-Z]/)
|
34
34
|
end
|
35
35
|
|
36
|
-
def display_for_value(value, column
|
36
|
+
def display_for_value(value, column, row)
|
37
37
|
##TODO, genericize this link display. link info must come from model config.
|
38
38
|
return link_to(value, main_app.send(column.link, id: value)) if column.try(:link) && value.present?
|
39
39
|
return value.join(', ') if value.is_a? Array
|
40
40
|
return value.to_formatted_s(:datepicker) if value.is_a? Date
|
41
|
+
if [DateTime,Time,ActiveSupport::TimeWithZone].any?{|k| value.class <= k}
|
42
|
+
if column.try(:time_zone_column) && row[column.time_zone_column].present?
|
43
|
+
time_zone = row[column.time_zone_column]
|
44
|
+
display_time = value.in_time_zone(time_zone)
|
45
|
+
else
|
46
|
+
display_time = value
|
47
|
+
end
|
48
|
+
return display_time.to_s(column.try :time_format)
|
49
|
+
end
|
41
50
|
return number_to_currency(value) if value.is_a? Float or value.is_a? BigDecimal or is_decimal?(value)
|
42
51
|
return '✓'.html_safe if 't' == value or true == value
|
43
52
|
return '' if 'f' == value or false == value
|
@@ -26,7 +26,7 @@ module ClarkKent
|
|
26
26
|
report = ('ClarkKent::ReportEmail' == report_class.name) ? reportable.report : reportable
|
27
27
|
query = reportable.get_query(params)
|
28
28
|
row_count = reportable.get_query(params, true)
|
29
|
-
bucket =
|
29
|
+
bucket = Aws::S3::Bucket.new(ClarkKent::ReportUploaderBucketName)
|
30
30
|
report_destination = bucket.objects[params[:report_result_name]]
|
31
31
|
byte_count = 0
|
32
32
|
temp_buffer = report.headers.to_csv
|
@@ -32,6 +32,14 @@ module ClarkKent
|
|
32
32
|
def link
|
33
33
|
report.column_options_for(self.name.to_sym).link
|
34
34
|
end
|
35
|
+
|
36
|
+
def time_zone_column
|
37
|
+
report.column_options_for(self.name.to_sym).time_zone_column
|
38
|
+
end
|
39
|
+
|
40
|
+
def time_format
|
41
|
+
report.column_options_for(self.name.to_sym).time_format
|
42
|
+
end
|
35
43
|
end
|
36
44
|
|
37
45
|
class AbstractCalculator
|
@@ -16,7 +16,7 @@ module ClarkKent
|
|
16
16
|
end
|
17
17
|
end
|
18
18
|
class ReportColumnConfig
|
19
|
-
attr_accessor :name, :order_sql, :custom_select, :link, :summarizable, :includes, :joins, :extra_scopes, :where, :group
|
19
|
+
attr_accessor :name, :order_sql, :custom_select, :link, :time_zone_column, :time_format, :summarizable, :includes, :joins, :extra_scopes, :where, :group
|
20
20
|
def initialize params = {}
|
21
21
|
params.each { |key, value| send "#{key}=", value }
|
22
22
|
end
|
@@ -33,7 +33,7 @@
|
|
33
33
|
<% @rows.each do |row| %>
|
34
34
|
<tr>
|
35
35
|
<% @report.report_columns.each do |column| %>
|
36
|
-
<td><%= display_for_value(row[column.column_name], column) %></td>
|
36
|
+
<td><%= display_for_value(row[column.column_name], column, row) %></td>
|
37
37
|
<% end %>
|
38
38
|
</tr>
|
39
39
|
<% end %>
|
data/lib/clark_kent/version.rb
CHANGED
data/test/dummy/db/test.sqlite3
CHANGED
Binary file
|