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