写点什么

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:14999
用户头像

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

关注

评论

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

ARTS打卡 第11周

引花眠

ARTS 打卡计划

计算机网络基础(十六)---传输层-可靠传输的基本原理

书旅

计算机网络 网络 协议族 网络层

吃灰的旧显示器别扔!

Sicolas Flamel

学习 随笔杂谈

ARTS-WEEK10

一周思进

ARTS 打卡计划

十年一梦,小米的原罪得到救赎了吗?

脑极体

十多位全球技术专家,为你献上近十个小时的.Net微服务介绍

newbe36524

微服务 .net core netcore 容器化

学了那么多技术,为何依然成不了架构师

菜根老谭

架构设计原则

品质网络的迭变之路,以及运营商的未来之匙

脑极体

应用开发基础之-并发编程

superman

设计模式之——JDK动态代理的源码分析

诸葛小猿

动态代理 cglib 代理模式 Proxy

微服务、DDD

chenzt

Suricata-流的处理

Phantasm

网络安全 suricata flow

BGP、OSPF、MPLS路由协议RFC分享

Phantasm

云图说 | 3分钟创建一个游戏类工作负载

华为云开发者社区

Docker 容器 华为云 工作负载 2048游戏

如何让区块链技术能够更好赋能数字社会建设

CECBC区块链专委会

区块链 数字经济

求刚好大于当前数组组合,Code Review最佳实践,JVM框架原理,JVM垃圾回收原理 John 易筋 ARTS 打卡 Week 12

John(易筋)

Code Review ARTS 打卡计划 JVM虚拟机原理 JVM垃圾回收原理 Array算法

ARTS 打卡(20.07.20-20.07.26)

小王同学

面试这么撩准拿offer,HashMap深度学习,扰动函数、负载因子、扩容拆分,原理和实践验证,让懂了就是真的懂!

小傅哥

Java 面试 hashmap 负载因子 扰动函数

【API进阶之路】帮公司省下20万调研费!如何巧用情感分析API实现用户偏好调研

华为云开发者社区

反馈 API 华为云 API Explorer平台 用户调研

《Java并发编程的艺术》读书笔记1:说说并发编程

Jason

多线程 并发

那些不可貌相的代码规范

双儿么么哒

代码质量

热潮-区块链的价值能够体现在哪些方面?

CECBC区块链专委会

区块链技术 标准化 应用价值

关于 Bash 的 10 个常见误解

柴锋

bash Linux DevOps Shell

深化区块链技术的应用 体现其价值产业发展良机

CECBC区块链专委会

区块链技术 数字经济

当实证资产定价遇上机器学习

分析101

人工智能 学习 金融科技 金融 资产定价

Java 常见的几种 OOM

hepingfly

Java OOM

程序的机器级表示-控制

引花眠

计算机基础

一次好的聊天可以超过自己努力啃几周的书籍

良知犹存

程序人生

边云协同!EM-BOX视频分析盒加速安全生产场景落地AI应用

百度大脑

人工智能 人脸识别 图像识别 百度大脑 人体识别

图文讲解 AQS ,一起看看 AQS 的源码……(图文较长)

程序员小航

AQS jdk源码 源码阅读 java 并发

ARTS打卡Week 10

teoking

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