您现在的位置: 万盛学电脑网 >> 程序编程 >> 网络编程 >> 编程语言综合 >> 正文

Ruby优化继承类实例

作者:佚名    责任编辑:admin    更新时间:2022-06-22

   这篇文章主要介绍了Ruby优化继承类实例,本文直接给出一个优化实例及实现代码,需要的朋友可以参考下

  在Rails的原则里有简化Controller,丰富Model的说法。下面将用一个示例展示一个简单的继承优化。特别是你的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