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: c66dd287fd3b27c733812e1bc6c0a516bbc54494
4
- data.tar.gz: accb309d06e293a5d5542d76ad4e6dd1c6da8411
3
+ metadata.gz: 364a53a49187891d3add1e4a814e82260c1d4b7a
4
+ data.tar.gz: 2d900d081c019b2ae21820e1d58846ef86ed05d6
5
5
  SHA512:
6
- metadata.gz: e80b2f3c6950084e9b654e7ce213b7cda34b2d1c3142f559c04a4d7be3db090cafb4efd74532f3400b669eaae7f787980804347d7eefc1d398dd8af6849d5a93
7
- data.tar.gz: 3e52c96fd662d2e8a6869480ddb53f6714a07dfb6dfdf080a0864d092a14dc53e6f4186d5531467eeac0877e49fe3c559c744919fa0dc93de336d564b4a12caf
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, :time, :date
26
- @@return_type= :ruby_time
27
- when :binary
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
@@ -1,3 +1,3 @@
1
1
  module ArelExtensions
2
- VERSION = "1.0.4".freeze
2
+ VERSION = "1.0.5".freeze
3
3
  end
@@ -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::SqlLiteral.new('HH24:MI:SS')])
151
- as_attr = Arel::Nodes::SqlLiteral.new('varchar(8)')
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
- collector = visit left, collector
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
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-22 00:00:00.000000000 Z
13
+ date: 2018-03-23 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: arel