greatest_updated_at 0.1.0 → 0.1.1

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: b4972e75f678551d7572c46d2679fb160dbfa395
4
- data.tar.gz: 17d201b2f70d4123fbfee160637ab560c3651043
3
+ metadata.gz: 2e95b453dd9f4ea33869194dedcd7b9093184b19
4
+ data.tar.gz: 1d9dab18849262848089db47022fe4df0da795df
5
5
  SHA512:
6
- metadata.gz: 4c1184bab68f4ec25cddd1218de294e3158bdda49693cd49f1419c4edd527f0bc2b34790b0a0cc2b7f4c65aa3f0729eb28cead7d28244b7bf389180ad8c09f5f
7
- data.tar.gz: 82b418b5ac5272b5006ecdd5b7309caf03c6bffab8001bc34a1201c571518bfdc4b817f835adc67b88a68db69ce872236fd7f63be8a5a79435da41ae3c493d72
6
+ metadata.gz: b7ba0a6352aaa2f20d5f0d179f521cadd1f1be87f426c3f13ab7932278dc7f1fd8b9fae887725b30f097fe6180fdb07eb0dc428cd44e72b20504ab4c64742a20
7
+ data.tar.gz: 1a8ba25c36139c98a5e0970300daeba27da9ea9a34e17eaa806b617e1cc6c9a12360be0a03c249b27aeab8dcf51603694365d7ad3a995201c5f866f3df879e03
@@ -33,15 +33,16 @@ module GreatestUpdatedAt
33
33
  arel.projections = []
34
34
 
35
35
  arel.project greatest_select_val(table_names)
36
-
37
- relation.klass.connection.select_value(arel, 'SQL', arel.bind_values + relation.bind_values)
38
36
 
37
+ # Get the result, and make sure it is cast the same as updated_at
38
+ result = relation.klass.connection.select_value(arel, 'SQL', arel.bind_values + relation.bind_values)
39
+ relation.klass.column_types["updated_at"].type_cast_from_database(result)
39
40
  end
40
41
 
41
42
  protected
42
43
  def greatest_select_val(table_names)
43
44
  max_calcs = Array(table_names).collect{|name|
44
- "MAX(#{connection.quote_table_name(name.to_s)}.#{connection.quote_column_name("updated_at")})"
45
+ "COALESCE(MAX(#{connection.quote_table_name(name.to_s)}.#{connection.quote_column_name("updated_at")}), 0)"
45
46
  }
46
47
 
47
48
  if max_calcs.length == 1
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: greatest_updated_at
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Prior