Ruby优化继承类实例

 更新时间:2015年05月26日 09:57:29   投稿:junjie  
这篇文章主要介绍了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 

相关文章

  • 使用Ruby on Rails快速开发web应用的教程实例

    使用Ruby on Rails快速开发web应用的教程实例

    这篇文章主要介绍了使用Ruby on Rails快速开发web应用的教程实例,本文来自于IBM官方技术文档,需要的朋友可以参考下
    2015-04-04
  • Ruby的基本语法学习总结

    Ruby的基本语法学习总结

    这篇文章主要介绍了Ruby的基本语法学习总结,本文讲解了Ruby中的关键字、注释、数据类型、赋值和条件运算、输出和输入、条件判断语句、循环语句等内容,需要的朋友可以参考下
    2014-11-11
  • 在Ruby程序中连接数据库的详细教程

    在Ruby程序中连接数据库的详细教程

    这篇文章主要介绍了在Ruby程序中连接数据库的详细教程,包括介绍数据库支持Ruby的接口等,是学习Ruby on Rails的基础,需要的朋友可以参考下
    2015-04-04
  • Ubuntu系统安装Ruby语言的三种方法

    Ubuntu系统安装Ruby语言的三种方法

    这篇文章主要介绍了Ubuntu系统安装Ruby语言的三种方法,本文讲解了使用apt-get安装、使用brightbox ppa仓库安装、使用RVM安装3种方法,需要的朋友可以参考下
    2015-01-01
  • redis集群搭建教程及遇到的问题处理

    redis集群搭建教程及遇到的问题处理

    本文主要给大家讲诉的是如何搭建redis集群的方法以及在此过程中需要注意的问题,非常不错,推荐给大家,有需要的小伙伴可以来参考下
    2017-09-09
  • Ruby设计模式编程之适配器模式实战攻略

    Ruby设计模式编程之适配器模式实战攻略

    这篇文章主要介绍了Ruby设计模式编程之适配器模式实战攻略,适配器模式中主张将一个类的接口转换成客户希望的另外一个接口,需要的朋友可以参考下
    2016-03-03
  • 剖析 rudy 访问控制

    剖析 rudy 访问控制

    剖析 rudy 访问控制...
    2007-11-11
  • GitHub倡导的Ruby代码编写风格总结

    GitHub倡导的Ruby代码编写风格总结

    GitHub网站服务器端主要就是使用的Ruby作为编程语言,因而GitHub所提倡采用的Ruby书写规范也就显得更有些说服力XD 下面我们就整理除了这份GitHub倡导的Ruby代码编写风格总结,需要的朋友可以参考下
    2016-05-05
  • Ruby和元编程之万物皆为对象

    Ruby和元编程之万物皆为对象

    这篇文章主要介绍了Ruby和元编程之万物皆为对象,想要掌握Ruby和Ruby的元编程,对象就是第一门必修功课,需要的朋友可以参考下
    2014-10-10
  • Ruby中嵌套对象转换成json的方法

    Ruby中嵌套对象转换成json的方法

    这篇文章主要介绍了Ruby中嵌套对象转换成json的方法,同时介绍了普通对象to_json的方法,需要的朋友可以参考下
    2014-06-06

最新评论