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连接使用windows下sql server数据库代码实例
require'win32ole'classSqlServer#Thisclassmanagesdatabaseconnectionandqueriesattr_accessor:connection,:data,:fieldsdefinitialize@connection=nil@data=nilenddefopen#OpenADOconnectiontotheSQLServerdatabas
Ruby遍历文件夹同时计算文件的md5sum
#!/usr/bin/ruby-w#require'digest/md5'ifARGV.emptyputs"usgae:#$0path"exit0enddir_name=ARGV.shiftdefdir_md5sum(path)md5s=Array.newifFile.directory(path)Dir.new(path).eachdo|file|nextiffile=~/^.+$/file=
Ruby常用文件操作代码实例
#建立一个222.rb文件并且输入字符file=File.open("222.rb","w+")file.puts"123nwadwan12124124ndwdw"file.close#输出222.rb的内容File.open("222.rb","r+")do|file|whileline=file.getsputsline