arel_extensions 1.0.4 → 1.0.5
Sign up to get free protection for your applications and to get access to all the features.
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
|