35 lines
		
	
	
		
			787 B
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			787 B
		
	
	
	
		
			Ruby
		
	
	
	
| class Site
 | |
|   
 | |
|   include Mongoid::Document
 | |
|   include Mongoid::Timestamps
 | |
|   
 | |
|   field :in_use_locales, :type => Array
 | |
|   field :valid_locales, :type => Array
 | |
|   
 | |
|   field :roaming_id
 | |
|   field :private_key, :type => Binary
 | |
|   field :public_key, :type => Binary
 | |
|   
 | |
|   field :school
 | |
|   field :department
 | |
| 
 | |
|   has_many :site_metas, :autosave => true, :dependent => :destroy
 | |
|   
 | |
|   def generate_keys
 | |
|     private_key = OpenSSL::PKey::RSA.generate(2048)
 | |
|     self.public_key = private_key.public_key.to_s
 | |
|     self.private_key = private_key.to_s
 | |
|   end
 | |
|   
 | |
|   def registered?
 | |
|     !self.roaming_id.blank?
 | |
|   end
 | |
|   
 | |
|   def up_to_date?
 | |
|     p res = %x(git remote show origin)
 | |
|     res = res.split('rails_3_1').pop.gsub('(', '').gsub(')','').strip rescue nil
 | |
|     res.eql?('local out of date') ? false : true
 | |
|   end
 | |
|   
 | |
| end
 |