class PeriodicCalculations::LazyQuery
Public Class Methods
new(query)
click to toggle source
# File lib/periodic_calculations/lazy_query.rb, line 3 def initialize(query) @query = query @executed = false @result = nil end
Public Instance Methods
method_missing(method_name, *args, &block)
click to toggle source
# File lib/periodic_calculations/lazy_query.rb, line 9 def method_missing(method_name, *args, &block) if method_name == :to_sql @query.to_sql else lazy_result.send(method_name, *args, &block) end end
respond_to?(method_name, include_private = false)
click to toggle source
Calls superclass method
# File lib/periodic_calculations/lazy_query.rb, line 17 def respond_to?(method_name, include_private = false) method_name == :to_sql || super || lazy_result.respond_to?(method_name) end
result()
click to toggle source
# File lib/periodic_calculations/lazy_query.rb, line 21 def result lazy_result end
Private Instance Methods
lazy_result()
click to toggle source
# File lib/periodic_calculations/lazy_query.rb, line 27 def lazy_result if @executed @result else @executed = true @result = @query.execute end end