clark_kent 0.3.2 → 0.4.0
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 +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
|