arel_extensions 1.0.4 → 1.0.5
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
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 364a53a49187891d3add1e4a814e82260c1d4b7a
|
4
|
+
data.tar.gz: 2d900d081c019b2ae21820e1d58846ef86ed05d6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f203bce68e820023fc7ab8213a9b252318a81cc5cc9ee4eb736a1910b16ab4c5ce5575c33d4ca8742fc15c3bd21e54cc88b64eaa4133040ce10aee664e2c6300
|
7
|
+
data.tar.gz: 266c7f340ebf29c64adf2064a6d7db4578a4918174bc932811b3b7c242f9c27217e5d094ae407fe34eba8c4509cf687ea6b9d21df85b03b9889c4bce315c6799
|
@@ -12,19 +12,19 @@ module ArelExtensions
|
|
12
12
|
@@return_type= :int
|
13
13
|
when 'decimal', 'numeric', 'money', 'smallmoney', 'float', 'real'
|
14
14
|
@@return_type= :decimal
|
15
|
-
when 'datetime', 'smalldatetime','time','date'
|
16
|
-
@@return_type= :ruby_time
|
17
15
|
when 'char', 'varchar', 'text', 'nchar', 'nvarchar', 'ntext'
|
18
|
-
@@return_type= :string
|
19
|
-
when 'binary', 'varbinary', 'image'
|
20
|
-
@@return_type= :binary
|
16
|
+
@@return_type= :string
|
21
17
|
when :int
|
22
18
|
@@return_type= :number
|
23
19
|
when :float, :decimal
|
24
20
|
@@return_type= :decimal
|
25
|
-
when :datetime,
|
26
|
-
@@return_type= :
|
27
|
-
when :
|
21
|
+
when :datetime, 'datetime','smalldatetime'
|
22
|
+
@@return_type= :datetime
|
23
|
+
when :time,'time'
|
24
|
+
@@return_type= :time
|
25
|
+
when :date,'date'
|
26
|
+
@@return_type= :date
|
27
|
+
when :binary, 'binary', 'varbinary', 'image'
|
28
28
|
@@return_type= :binary
|
29
29
|
else
|
30
30
|
@@return_type= :string
|
@@ -140,15 +140,14 @@ module ArelExtensions
|
|
140
140
|
collector
|
141
141
|
end
|
142
142
|
|
143
|
-
def visit_ArelExtensions_Nodes_Cast o, collector
|
144
|
-
collector << "CAST("
|
145
|
-
left = o.left
|
143
|
+
def visit_ArelExtensions_Nodes_Cast o, collector
|
146
144
|
case o.as_attr
|
147
145
|
when :string
|
148
146
|
as_attr = Arel::Nodes::SqlLiteral.new('varchar(255)')
|
149
147
|
when :time
|
150
|
-
left = Arel::Nodes::NamedFunction.new('TO_CHAR',[left,Arel::Nodes
|
151
|
-
|
148
|
+
left = Arel::Nodes::NamedFunction.new('TO_CHAR',[o.left,Arel::Nodes.build_quoted('HH24:MI:SS')])
|
149
|
+
collector = visit left, collector
|
150
|
+
return collector
|
152
151
|
when :number
|
153
152
|
as_attr = Arel::Nodes::SqlLiteral.new('int')
|
154
153
|
when :datetime
|
@@ -158,7 +157,8 @@ module ArelExtensions
|
|
158
157
|
else
|
159
158
|
as_attr = Arel::Nodes::SqlLiteral.new(o.as_attr.to_s)
|
160
159
|
end
|
161
|
-
|
160
|
+
collector << "CAST("
|
161
|
+
collector = visit o.left, collector
|
162
162
|
collector << " AS "
|
163
163
|
collector = visit as_attr, collector
|
164
164
|
collector << ")"
|
@@ -399,6 +399,7 @@ module ArelExtensions
|
|
399
399
|
return res
|
400
400
|
end
|
401
401
|
|
402
|
+
|
402
403
|
remove_method(:visit_Arel_Nodes_GreaterThanOrEqual) rescue nil
|
403
404
|
def visit_Arel_Nodes_GreaterThanOrEqual o, collector
|
404
405
|
collector = visit get_time_converted(o.left), collector
|
@@ -414,11 +414,8 @@ module ArelExtensions
|
|
414
414
|
# TODO; cast types
|
415
415
|
def test_cast_types
|
416
416
|
assert_equal "5", t(@lucas, @age.cast(:string))
|
417
|
-
if @env_db == 'mysql' || @env_db == 'postgresql'
|
417
|
+
if @env_db == 'mysql' || @env_db == 'postgresql' || @env_db == 'oracle'
|
418
418
|
assert_equal "12:42:21", t(@laure, @duration.cast(:time).cast(:string))
|
419
|
-
assert_equal "12:42:21", t(@laure, @duration.cast(:string))
|
420
|
-
assert_includes [true,1,'t'], t(@laure, @duration.cast('time').cast(:string) > @updated_at.cast('time').cast(:string))
|
421
|
-
assert_includes [false,0,'f'], t(@laure, @duration.cast('time').cast(:string) < @updated_at.cast('time').cast(:string))
|
422
419
|
end
|
423
420
|
end
|
424
421
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: arel_extensions
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yann Azoury
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2018-03-
|
13
|
+
date: 2018-03-23 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: arel
|