Sha256: 5cb750c9b3246d3e9b06374c15bc82575c6fa33eac449a8344d4caaf3d2c09c7
Contents?: true
Size: 712 Bytes
Versions: 2
Compression:
Stored size: 712 Bytes
Contents
module Microscope class InstanceMethod class DatetimeInstanceMethod < InstanceMethod def apply cropped_field = field.name.gsub(/_at$/, '') infinitive_verb = self.class.past_participle_to_infinitive(cropped_field) model.class_eval <<-RUBY, __FILE__, __LINE__ + 1 define_method "#{cropped_field}?" do value = send("#{field.name}") !value.nil? && value <= Time.now end define_method "not_#{cropped_field}?" do !#{cropped_field}? end define_method "#{infinitive_verb}!" do send("#{field.name}=", Time.now) save! end RUBY end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
microscope-0.5.2 | lib/microscope/instance_method/datetime_instance_method.rb |
microscope-0.5.1 | lib/microscope/instance_method/datetime_instance_method.rb |