From 09e6f14522231e33ece7eb28671ebc0d2c24e277 Mon Sep 17 00:00:00 2001 From: Andrew Kane Date: Sun, 22 Jun 2014 03:43:36 -0700 Subject: [PATCH] Fixed tests for ActiveRecord 3.1 --- lib/groupdate.rb | 2 +- lib/groupdate/enumerable.rb | 9 ++++++--- test/array_test.rb | 10 ---------- test/enumerable_test.rb | 12 ++++++++++++ 4 files changed, 19 insertions(+), 14 deletions(-) delete mode 100644 test/array_test.rb create mode 100644 test/enumerable_test.rb diff --git a/lib/groupdate.rb b/lib/groupdate.rb index f751c7f..a7cf258 100644 --- a/lib/groupdate.rb +++ b/lib/groupdate.rb @@ -1,8 +1,8 @@ require "active_support/time" require "groupdate/version" require "groupdate/magic" -require "groupdate/enumerable" require "groupdate/active_record" +require "groupdate/enumerable" module Groupdate mattr_accessor :week_start, :day_start, :time_zone diff --git a/lib/groupdate/enumerable.rb b/lib/groupdate/enumerable.rb index b80054d..b0cdb78 100644 --- a/lib/groupdate/enumerable.rb +++ b/lib/groupdate/enumerable.rb @@ -1,8 +1,11 @@ module Enumerable - [:second, :minute, :hour, :day, :week, :month, :year, :day_of_week, :hour_of_day].each do |field| - define_method :"group_by_#{field}" do |options = {}, &block| - Groupdate::Magic.new(field, options).group_by(self, &block) + # skip due to ActiveRecord bug + unless ActiveRecord::VERSION::MAJOR == 3 and ActiveRecord::VERSION::MINOR < 2 + [:second, :minute, :hour, :day, :week, :month, :year, :day_of_week, :hour_of_day].each do |field| + define_method :"group_by_#{field}" do |options = {}, &block| + Groupdate::Magic.new(field, options).group_by(self, &block) + end end end diff --git a/test/array_test.rb b/test/array_test.rb deleted file mode 100644 index 217f856..0000000 --- a/test/array_test.rb +++ /dev/null @@ -1,10 +0,0 @@ -require_relative "test_helper" - -class TestArray < Minitest::Unit::TestCase - include TestGroupdate - - def call_method(method, field, options) - Hash[ User.all.to_a.send(:"group_by_#{method}", options){|u| u.send(field) }.map{|k, v| [k, v.size] } ] - end - -end diff --git a/test/enumerable_test.rb b/test/enumerable_test.rb new file mode 100644 index 0000000..eb099c4 --- /dev/null +++ b/test/enumerable_test.rb @@ -0,0 +1,12 @@ +require_relative "test_helper" + +unless ActiveRecord::VERSION::MAJOR == 3 and ActiveRecord::VERSION::MINOR < 2 + class TestEnumerable < Minitest::Unit::TestCase + include TestGroupdate + + def call_method(method, field, options) + Hash[ User.all.to_a.send(:"group_by_#{method}", options){|u| u.send(field) }.map{|k, v| [k, v.size] } ] + end + + end +end -- libgit2 0.21.0