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: 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