InfoQ技术大会双节活动折上折,限时特惠,满10000-1000>> 了解详情
写点什么

Boson:超越 Rake 的另一选择?

2009 年 10 月 31 日

相信大多数 Ruby 开发者对 Rake 都不陌生,而那些 Rails 开发者更是每天都要与它打交道。每天看着 task…do…end,你需要一些新鲜玩意儿了, Gabriel Horner 为我们带来了一个新的命令 / 任务框架,那就是 Boson

Boson 借鉴了 Rake 和 Thor 的成功经验,同时也做了一些创新。例如,你既可以像使用 Rake 那样,通过命令行来执行 Boson 的命令,也可以在 irb 中运行所有这些命令。

Boson 的设计理念非常简单——任务即方法,方法即任务。Boson 库就是普通的 Ruby 模块,而 Boson 命令就是这些模块中的方法,每个库还能拥有自己的名字空间。所有的命令都是纯 Ruby 写的,对 Boson 没有任何依赖,当你决定不再使用 Boson 时,仍然可以在 irb 中运行它们。Gabriel 的博客中详细说明了如何在命令行及 irb 中使用 Boson ,以及如何用 Boson 来增强 irb

例如,可以像下面这样在 Bash 中执行 Boson 命令:

复制代码
bash> boson libraries
+----------+----------+------+--------------+
| name | commands | gems | library_type |
+----------+----------+------+--------------+
| core | 6 | | module |
| web_core | 3 | | module |
+----------+----------+------+--------------+
2 rows in set

创建命令也比较简单,只需简单地定义一个模块和相应的方法就 OK 了。

复制代码
# Let's list boson's default libraries
module Brain
# Help Brain live his dream
def take_over(destination)
puts "Pinky, it's time to take over the #{destination}!"
end
end

将上面的代码放置在~/.boson/commands/brain.rb中,随后调用:

复制代码
bash> boson take_over farm
Pinky, it's time to take over the farm!

究竟 Boson 这只新轮子有多好,它是否能够超越 Rake?每个人都有自己的评判标准,例如 John Barnette 在最近的一篇博客上表示——把 Rake 当作一个封装任务的引擎固然没错,但那并不是 Rake 的全部,它更是一个解析依赖的引擎。现在要给出一个结论,可能为时尚早,不妨先 gem install boson,与 Boson 亲密接触一下吧!

2009 年 10 月 31 日 01:141076
用户头像

发布了 135 篇内容, 共 52.6 次阅读, 收获喜欢 34 次。

关注

评论

发布
暂无评论
发现更多内容

GaussDB(for MySQL)如何快速创建索引?华为云数据库资深架构师为您揭秘

华为云数据库小助手

华为云 GaussDB 华为云数据库 GaussDB(for MySQL)

低代码在这些方面充满优势

低代码小观

程序员 低代码 企业管理 开发平台 低代码开发

企业级理解Spring IOC

不想秃头

Java spring springioc

链路压测中如何记录每一个耗时的请求

FunTester

性能测试 接口测试 测试框架 FunTester 链路压测

数据湖特点

奔向架构师

数据湖 9月日更

JS完美收官之——闭包

法医

9月日更

☕【JVM 技术指南】「理论总结笔记」Java 虚拟机垃圾回收认知和调优的"思南(司南)"【下部】

李浩宇/Alex

ZGC JVM G1垃圾回收器 9月日更

推荐一个Mac端的截图工具

IT蜗壳-Tango

9月日更

挑战进阶教程,和MindSpore更近一步!

Geek_6cdeb6

mindspore

如何利用极狐GitLab CI/CD 完成 Jenkins 的迁移

极狐GitLab

CI/CD #GitLab

站在巨人的肩膀上学习可以看得更远:五位阿里大牛联手撰写的《深入浅出Java多线程》

程序员知识圈

Java 程序员 架构 面试 编程语言

影像篡改与识别(三):人工智能时代

腾讯安全云鼎实验室

AI 影像识别

百分点认知智能实验室:智能校对的技术原理和实践

百分点科技技术团队

学生管理系统详细设计

缘分呐

设计 学生管理系统架构

Python——Map-Reduce

在即

9月日更

多租户的共享与隔离

金蝶天燕云

云计算 多租户

关于技术团队搭建&管理的一些思考

LigaAI

团队管理

区块链将帮助监管科技突破壁垒,刺激金融市场的监管活力

CECBC区块链专委会

微前端拆分实践

Teobler

前端 服务拆分

这份GitHub上标星75k+的《Java面试突击》PDF版,能够让你在面试前做好充足的准备

程序员知识圈

Java 程序员 架构 面试 编程语言

被腾讯问蒙的各种Redis复杂问题

hanaper

跟着我乔鲁诺学面试(大误)

姬翔

9月日更

【Vuex 源码学习】第二篇 - vuex 插件安装 install 逻辑

Brave

源码 vuex 9月日更

【架构实战营作业】模块三:学生管理系统架构设计文档

聆息

从特岗教师的需求金字塔,重新理解乡村、教育和科技

脑极体

架构实战训练营|作业|模块3

Frode

架构实战

算法裁员,释放出了哪些“恶之花”?

脑极体

Flutter 多引擎支持 PlatformView 以及线程合并解决方案

字节跳动终端技术

字节跳动 前端 跨平台 火山引擎

【直播预告】从校园学习到职场实践——淘系技术开学季特别分享系列

阿里巴巴淘系技术

程序员 应聘tips

内网渗透攻击技术的利用

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 安全漏洞

hutool如何实现数据导出到Excel

卢卡多多

hutool 数据导出 9月日更

Boson:超越Rake的另一选择?-InfoQ