effective_datatables 4.19.0 → 4.20.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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c5bf5141b655e975b0e158b2f33572d8b8acc1f13ffa50d25f761795c6cdeb25
|
4
|
+
data.tar.gz: 67c30d8895b19d093e43e6ae1b521a528a18ea8ca156ca90209e8c1c922248c2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0d08c8f32b066240576a4e4ee4cdea3916999d6c26f44e9c4533b125625de29922ae49ceebfdbd9ce68ba6be5d7da81255f9b60e54af5a250b380ae9bab94952
|
7
|
+
data.tar.gz: e20da9812bae53fbcaf98fc18022d624c41fe918f544607ea6a7ad0c8d8d062b9f4c8dc89fe5ca067e3b9daf2e47e2537404ce40a50d0c514b475a06b9aa05b7
|
@@ -15,7 +15,7 @@ module Effective
|
|
15
15
|
EffectiveDatatables.authorize!(self, :index, @datatable.collection_class)
|
16
16
|
|
17
17
|
render json: @datatable.to_json
|
18
|
-
rescue => e
|
18
|
+
rescue Exception => e
|
19
19
|
EffectiveDatatables.authorized?(self, :index, @datatable.try(:collection_class))
|
20
20
|
render json: error_json(e)
|
21
21
|
|
@@ -84,7 +84,7 @@ module Effective
|
|
84
84
|
render status: :ok, body: :ok
|
85
85
|
rescue Effective::AccessDenied => e
|
86
86
|
render(status: :unauthorized, body: 'Access Denied')
|
87
|
-
rescue => e
|
87
|
+
rescue Exception => e
|
88
88
|
render(status: :error, body: 'Unexpected Error')
|
89
89
|
end
|
90
90
|
|
@@ -24,20 +24,16 @@ module Effective
|
|
24
24
|
raise "#{method} block must be declared outside the datatable do ... end block"
|
25
25
|
end
|
26
26
|
|
27
|
-
if datatable.respond_to?(method)
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
view.send(method, *args, **kwargs) { yield }
|
36
|
-
else
|
37
|
-
view.send(method, *args, **kwargs)
|
38
|
-
end
|
27
|
+
subject = datatable if datatable.respond_to?(method)
|
28
|
+
subject ||= view if view.respond_to?(method)
|
29
|
+
subject ||= Tenant.helpers if defined?(Tenant) && Tenant.helpers.respond_to?(method)
|
30
|
+
|
31
|
+
return super unless subject
|
32
|
+
|
33
|
+
if block_given?
|
34
|
+
subject.send(method, *args, **kwargs) { yield }
|
39
35
|
else
|
40
|
-
|
36
|
+
subject.send(method, *args, **kwargs)
|
41
37
|
end
|
42
38
|
end
|
43
39
|
|
@@ -92,10 +92,6 @@ module Effective
|
|
92
92
|
def format_column(value, column, csv: false)
|
93
93
|
return if value.nil? || (column[:resource] && value.blank?)
|
94
94
|
|
95
|
-
unless column[:as] == :email
|
96
|
-
return value if value.kind_of?(String)
|
97
|
-
end
|
98
|
-
|
99
95
|
if value.kind_of?(Array) && column[:as] == :string
|
100
96
|
if csv
|
101
97
|
return value.map { |v| format_column(v, column, csv: csv) }.join("\n")
|
@@ -145,6 +141,16 @@ module Effective
|
|
145
141
|
end
|
146
142
|
when :time
|
147
143
|
value.respond_to?(:strftime) ? value.strftime(EffectiveDatatables.format_time) : BLANK
|
144
|
+
when :text
|
145
|
+
if csv
|
146
|
+
value
|
147
|
+
elsif value.to_s.starts_with?('<') && value.ends_with?('>')
|
148
|
+
view.sanitize(value.to_s)
|
149
|
+
else
|
150
|
+
view.simple_format(value.to_s)
|
151
|
+
end
|
152
|
+
when :string
|
153
|
+
csv ? value : view.escape_once(value.to_s)
|
148
154
|
else
|
149
155
|
value.to_s
|
150
156
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: effective_datatables
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.20.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Code and Effect
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-10-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|