随笔分类 -  Ruby

摘要:条件 我们可以用:if和:unless公共属性来进行条件判断,或者使用if,given,once或者equals(已经过时)关键字。 使用:if属性: 1 cursor do2 participant 'customer'3 rewind :if => '${not_enough_info} == true'4 participant 'logistics'5 end 当使用given表达式的时候: 1 given do 2 that "${location} == paris" do 3 subprocess &quo 阅读全文
posted @ 2013-12-12 13:21 天添 阅读(2827) 评论(0) 推荐(0) 编辑
摘要:今天遇到一个问题,就是在Ruby中对于Time和DateTime的使用,不是很明了,现在研究一下: 先说Time: 在Ruby2.0中关于Time有两处定义一个是在Core中,http://www.ruby-doc.org/core-2.0.0/Time.html,一个是在stdlib中,先说在核心模块中的Time。http://www.ruby-doc.org/stdlib-2.0.0/libdoc/time/rdoc/Time.html后者是对前者的扩展。 Time是对日期和时间的一个抽象,其实内部保存的是从1970年1月1日到现在的时间差。 下面通过Time的类方法的例子熟... 阅读全文
posted @ 2013-11-27 09:49 天添 阅读(2262) 评论(0) 推荐(0) 编辑
摘要:罗列一下表达式所支持的属性::timeout:if/ unless:forget:lose:flank:on_error:on_cancel:on_timeout:tag:filter:take:discard:timers:scope:await:time 下面举个例子,如果两个参与者过两天之后还没有做他们的工作,这个工作流程会提交给editor:1 sequence do2 participant :ref => 'author'3 sequence :timeout => '2d' do4 participant :ref => ' 阅读全文
posted @ 2013-11-19 18:12 天添 阅读(1101) 评论(0) 推荐(0) 编辑
摘要:由于最近自己写点小东西,需要有工作流程管理方面的应用,所有的环境为Ruby on rails,所有在选择流程引擎的时候选择了ruote,但是对于ruote是完全陌生的,所以在这里记下点滴,如果理解的不正确,还请大家批评指正。 Ruote:用Ruby写的一个工作流引擎。 开始了解Ruote先要了解几个很重要的概念: storage是ruote的核心,保存这所有的持续流程。Storage实现线程安全,多个工作可以同时使用。 worker 围绕在Storage周围的流程本省。 engine(dashboard) 包含一些图标和按钮,是所有进程实例的控制面板,能够对进程实例就行运行... 阅读全文
posted @ 2013-11-18 15:54 天添 阅读(3088) 评论(0) 推荐(1) 编辑
摘要:今天在安装gem安装Ruote的过程中遇到问题,改用bundle安装: 1 steven@steven-Latitude-D630:/usr$ sudo mkdir bundel 2 [sudo] password for steven: 3 Sorry, try again. 4 [sudo] password for steven: 5 steven@steven-Latitude-D630:/usr$ cd bundel/ 6 steven@steven-Latitude-D630:/usr/bundel$ vi Gemfile 7 steven@steven-Latitude-D... 阅读全文
posted @ 2013-11-18 12:50 天添 阅读(541) 评论(0) 推荐(0) 编辑
摘要:继体验一和体验二中的内容,此节将体验二中最开始的目标来实现,体验二中已经将部门添加的部分添加到了公司的show页面,剩下的部分是将部门列表也添加到公司的显示页面,整体思路和体验二中相同,但是还是会有点小问题,下面看具体实现。 将app/views/departments/index.html.erb复制到app/views/companies/_department_list.html.erb,在company的show.html.erb页面模版中添加如下代码:1 "department_list" %> company的show.html.erb页面模板如下: 浏览 阅读全文
posted @ 2013-11-08 10:06 天添 阅读(1066) 评论(2) 推荐(0) 编辑
摘要:体验一中添加了一个最基本的支架和一个简单的数据迁移,实现了一个基本的增删改查的功能列表。体验二中要在次功能上继续丰满一下功能。实现如下效果: 在每个公司中都包含有不同的部门,按照体验一中的方法,添加一个部门的支架,一个数据迁移。实现部门的增删改查功能。部门的数据结果如下: 具体方式省略。 简单创建了支架而没有定制应用,它将难以使用,为了给一个公司添加部门,将会边的很麻烦。我们把我们希望的页面和支架生成的部门的页面比较一下: Cid和Chargeuserid先不用做关联,手添即可,只是为了能够重新组织页面。 部门列表和创建部门的页面看起来和我们想要的页面上出现的内容非... 阅读全文
posted @ 2013-11-06 15:37 天添 阅读(1858) 评论(2) 推荐(0) 编辑
摘要:接触ruby on rails 已经有一段时间了,想记录一下自己的rails历程。自己写一些小例子来帮助学习。 Rails 适用于那些以数据为中心的应用,很多应用的核心部分包括一个数据库,这些引用的存在的主要原因是为了让客户可以通过它们来操作数据库,而不是直接使用SQL。 Rails应用的组成部分: (1)ActionPack的应用框架。用来负责帮助生成数据驱动的交互页面来访问和修改数据库。 (2)Web服务器。可以是rails内置的web服务器也可以用apache等。 (3)数据库。可以是rails自带的sqLite或者是mysql等。 (4)对象-关系映射库。Rails... 阅读全文
posted @ 2013-11-01 14:47 天添 阅读(12759) 评论(4) 推荐(1) 编辑
摘要:1:Update package repository.1 sudo apt-get update2:Install git and Curl. Git:是一个简单,快速,高效的版本控制系统。(对于安装ruby on rails 环境没有关系,只是为了在以后的开发过程中进行版本控制的时候使用。) Curl:是一个根据web协议获取文件的简单命令行工具。 1 sudo apt-get install git2 sudo apt-get install curl3:Install RVM and Dependencies.1 curl -L get.rvm.io | bash -s stable. 阅读全文
posted @ 2013-10-29 12:49 天添 阅读(2317) 评论(0) 推荐(1) 编辑
摘要:最近工作需要用到定时任务。原来写java的时候也用到过类似的Scheduler的功能。 Ruby语言中也有同样功能的工具。rufus-scheduler。下面介绍一下rufus-scheduler。 定义: a Ruby gem for scheduling pieces of code (jobs). It understands running a job AT a certain time, IN a certain time, EVERY x time or simply via a CRON statement. 安装:gem install rufus-scheduler... 阅读全文
posted @ 2013-10-26 00:06 天添 阅读(3576) 评论(0) 推荐(0) 编辑