Commit ad05bc1fe66aabbc010bc30408985840466ec626
1 parent
0ec3b929
Exists in
master
and in
7 other branches
Fix for associations with mysql (not mysql2) gem
Showing
2 changed files
with
18 additions
and
9 deletions
Show diff stats
lib/groupdate/magic.rb
... | ... | @@ -130,7 +130,7 @@ module Groupdate |
130 | 130 | lambda { |k| k.to_i } |
131 | 131 | else |
132 | 132 | utc = ActiveSupport::TimeZone["UTC"] |
133 | - lambda { |k| (k.is_a?(String) ? utc.parse(k) : k.to_time).in_time_zone(time_zone) } | |
133 | + lambda { |k| (k.is_a?(String) || !k.respond_to?(:to_time) ? utc.parse(k.to_s) : k.to_time).in_time_zone(time_zone) } | |
134 | 134 | end |
135 | 135 | |
136 | 136 | count = | ... | ... |
test/test_helper.rb
... | ... | @@ -270,7 +270,11 @@ module TestDatabase |
270 | 270 | |
271 | 271 | def test_associations |
272 | 272 | user = create_user("2014-03-01 00:00:00 UTC") |
273 | - assert_empty user.posts.group_by_day(:created_at).count | |
273 | + user.posts.create!(created_at: "2014-04-01 00:00:00 UTC") | |
274 | + expected = { | |
275 | + utc.parse("2014-04-01 00:00:00 UTC") => 1 | |
276 | + } | |
277 | + assert_equal expected, user.posts.group_by_day(:created_at).count | |
274 | 278 | end |
275 | 279 | |
276 | 280 | # activerecord default_timezone option |
... | ... | @@ -320,12 +324,18 @@ module TestDatabase |
320 | 324 | end |
321 | 325 | |
322 | 326 | def create_user(created_at, score = 1) |
323 | - User.create!( | |
324 | - name: "Andrew", | |
325 | - score: score, | |
326 | - created_at: created_at ? utc.parse(created_at) : nil, | |
327 | - created_on: created_at ? Date.parse(created_at) : nil | |
328 | - ) | |
327 | + user = | |
328 | + User.create!( | |
329 | + name: "Andrew", | |
330 | + score: score, | |
331 | + created_at: created_at ? utc.parse(created_at) : nil, | |
332 | + created_on: created_at ? Date.parse(created_at) : nil | |
333 | + ) | |
334 | + | |
335 | + # hack for MySQL adapter | |
336 | + user.update_attributes(created_at: nil, created_on: nil) if created_at.nil? | |
337 | + | |
338 | + user | |
329 | 339 | end |
330 | 340 | |
331 | 341 | def teardown |
... | ... | @@ -864,7 +874,6 @@ module TestGroupdate |
864 | 874 | |
865 | 875 | def test_zeros_null_value |
866 | 876 | create_user nil |
867 | - User.update_all created_at: nil, created_on: nil # for MySQL adapter | |
868 | 877 | assert_equal 0, call_method(:hour_of_day, :created_at, range: true)[0] |
869 | 878 | end |
870 | 879 | ... | ... |