欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Ruby優(yōu)化繼承類實例

 更新時間:2015年05月26日 09:57:29   投稿:junjie  
這篇文章主要介紹了Ruby優(yōu)化繼承類實例,本文直接給出一個優(yōu)化實例及實現(xiàn)代碼,需要的朋友可以參考下

在Rails的原則里有簡化Controller,豐富Model的說法。下面將用一個示例展示一個簡單的繼承優(yōu)化。特別是你的method里有一個寫變化的self變量的時候。

假設我們有如下的Model

復制代碼 代碼如下:

class SubjectMatterExpert < User 
 include HashCodeCreatorModule 
 def make_activation_code 
   self.deleted_at = nil 
   self.activation_code ||= make_hash_code 
 end 
end 
 
class Administrator < User 
 include HashCodeCreatorModule 
 def make_activation_code 
   self.deleted_at = nil 
   self.activation_code ||= make_hash_code 
 end 
end 

我們可以通過繼承的使用簡化代碼如下SubjectMatterExpert Administrator

復制代碼 代碼如下:

class SubjectMatterExpert < User 
end 
 
class Administrator < User 
end 
 
class User 
 include HashCodeCreatorModule 
 def make_activation_code 
   self.deleted_at = nil 
   self.activation_code ||= make_hash_code 
 end 

那么我們也可以在測試中這么使用:

復制代碼 代碼如下:

it 'should create an activation code' do 
  admin = Factory(:administrator) 
  admin.make_activation_code 
  admin.activation_code.should_not be_empty 
end 

相關文章

最新評論