module Past

Public Class Methods

included(klass) click to toggle source
# File lib/past/checker.rb, line 55
def self.included(klass)
  klass.extend Checker
end

Public Instance Methods

define_past_checker(name) click to toggle source
# File lib/past/checker.rb, line 2
def define_past_checker(name)
  attribute = self.class.checker_attribute(name)
  return false if attribute.nil?
  self.class.class_eval do
    define_method name do
      it = send(attribute)
      return nil if it.nil?
      (Time.try(:zone).try(:now) || Time.now) > it
    end
  end
end
method_missing(name, *args, &block) click to toggle source
Calls superclass method
# File lib/past/checker.rb, line 14
def method_missing(name, *args, &block)
  return send(name) if define_past_checker(name) && respond_to?(name)
  super
end
respond_to_missing?(name, *args, &block) click to toggle source
Calls superclass method
# File lib/past/checker.rb, line 19
def respond_to_missing?(name, *args, &block)
  super unless name.to_s.last == '?'
  return true unless self.class.checker_attribute(name).nil?
  super
end