lib/groupdate/series.rb in groupdate-3.0.2 vs lib/groupdate/series.rb in groupdate-3.1.0
- old
+ new
@@ -3,25 +3,25 @@
attr_accessor :magic, :relation
def initialize(magic, relation)
@magic = magic
@relation = relation
+ @calculations = Groupdate::Calculations.new(relation)
end
# clone to prevent modifying original variables
def method_missing(method, *args, &block)
- # https://github.com/rails/rails/blob/master/activerecord/lib/active_record/relation/calculations.rb
- if ActiveRecord::Calculations.method_defined?(method)
+ if @calculations.include?(method)
magic.perform(relation, method, *args, &block)
- elsif @relation.respond_to?(method, true)
+ elsif relation.respond_to?(method, true)
Groupdate::Series.new(magic, relation.send(method, *args, &block))
else
super
end
end
def respond_to?(method, include_all = false)
- ActiveRecord::Calculations.method_defined?(method) || relation.respond_to?(method) || super
+ @calculations.include?(method) || relation.respond_to?(method) || super
end
def reverse_order_value
nil
end