32 lines
		
	
	
		
			592 B
		
	
	
	
		
			Ruby
		
	
	
	
		
		
			
		
	
	
			32 lines
		
	
	
		
			592 B
		
	
	
	
		
			Ruby
		
	
	
	
|  | module OrbitModel | ||
|  | 
 | ||
|  |   module TimeFrame | ||
|  | 
 | ||
|  |     def self.included(base) | ||
|  |       base.class_eval do | ||
|  |         field :postdate , :type => DateTime | ||
|  |         field :deadline , :type => DateTime | ||
|  |         before_save :check_deadline | ||
|  |         send :include, InstanceMethods | ||
|  |       end | ||
|  |     end | ||
|  | 
 | ||
|  |     module InstanceMethods | ||
|  | 
 | ||
|  |       def is_expired? | ||
|  |         Date.today > self.deadline ? true : false  rescue false | ||
|  |       end | ||
|  |        | ||
|  |       private | ||
|  | 
 | ||
|  |       def check_deadline | ||
|  |         if(!self.deadline.nil? and (self.deadline < self.postdate )) | ||
|  |           self.deadline = nil | ||
|  |         end | ||
|  |       end | ||
|  |        | ||
|  |     end | ||
|  | 
 | ||
|  |   end | ||
|  | 
 | ||
|  | end |