后端开发2025年06月18日
Installation: http://rubygems.org/gems/ci_reporter sample rakefile require 'rake/testtask' require 'ci/reporter/rake/test_unit' # use this if you're using Test::Unit ENV['CI_REPOR...
后端开发2025年06月18日
一般来说,观察者模式的定义应该是这样的:building a clean interface between the source of news that some object has changed and the consumers of that news。 观察者模式在消息的生产者和消费者之间建立了clean interface,这样就使得消息...
后端开发2025年06月18日
strategy.txt 模板模式固然不错,但其还是有一些缺陷的。比如其实现依赖于继承并且缺足够的灵活性。在这时候我们就需要找到一个更加优化的解决方案——策略模式。 下面是使用策略模式实现的Report模板 1 #encoding: utf-8 2 3 class Formatter 4 def output_report title, text 5 ra...
后端开发2025年06月18日
我们经常要在子类的initialize方法中调用super和super()。 从语法上说super和super()是有微妙区别的。 super不带括号表示调用父类的同名函数,并将本函数的所有参数传入父类的同名函数; super()带括号则表示调用父类的同名函数,但是不传入任何参数; 演示代码如下: class SParent def initialize ...
后端开发2025年06月18日
从上一篇博文我们可以看出,策略模式的策略类实际上就是一组实现特定功能的代码集合。而ruby实际上已经原生提供了操作一组代码集合的对象,Proc类。于是我们可以用更加ruby些的方式来实现我们的Report类和策略模式。具体代码如下: class Report attr_reader :title, :text attr_accessor :formatte...
后端开发2025年06月18日
昨天因为要装watir-webdriver的原因将用了快一年的ruby1.8.6升级到了1.9。由于1.9是原生支持unicode编码,所以我们可以使用中文进行自动化脚本的编写工作。做了简单的封装后,我们可以实现如下的自动化测试代码。请注意,这些代码是可以正确运行并作为正式的自动化测试用例的。 测试浏览器 = Watir::Browser.new :fir...
后端开发2025年06月18日
前几天在《戏说设计模式》这篇文章中看到了一段关于组合模式的描述: COMPOSITE—Mary今天过生日。“我过生日,你要送我一件礼物。”“嗯,好吧,去商店,你自己挑。”“这件T恤挺漂亮,买,这条裙子好看,买,这个包也不错,买。”“喂,买了三件了呀,我只答应送一件礼物的哦。”“什么呀,T恤加裙子加包包,正好配成一套呀,小姐,麻烦你包起来。” “……”,MM...
后端开发2025年06月17日
AutoIt是windows上强大的自动化工具。我们可以通过ruby去调用AutoItX3.dll来使用autoit的部分功能。具体代码如下 require 'win32ole' at = WIN32OLE.new('AutoItX3.Control') # 然后就可以使用 at.WinWait at.Send ...
后端开发2025年06月17日
昨天在stack overflow上问了2个关于Rspec源码的问题,结果由于表意不清加之问题含糊被老外鄙视了一遍。但是没有想到的是,竟然还是高人非常清楚的问答了出来。其中一个问题是这样的: class OptionParser < ::OptionParser 这句代码究竟是什么意思?原来这句话的作用是定义1个OptionParser类,其...
后端开发2025年06月17日
本章节展开对model的介绍:包括查增删改操作。紧接着上面一节《[ruby on rails] 跟我学之HelloWorld》 使用命令创建模型 创建表post,默认自带两栏位 title :string, content:text , 在模型里面按照约定使用单数post而不是复数posts cd blog rails g model post title...