2 个不稳定版本
使用旧的 Rust 2015
0.3.0 | 2018年3月10日 |
---|---|
0.2.0 | 2018年2月26日 |
0.1.0 |
|
#41 in #entry
12KB
281 代码行(不包括注释)
cronenberg
简单的 cron 命令输入解析器
cronenberg
提供两个核心组件
TimeItem
: 一个枚举,表示 cron 命令的时间或日期字段CronItem
: 一个结构体,表示 cron 命令条目,例如,* * 5-7 1,2,5 8 sudo rm -rf /
安装
cronenberg
可在 crates.io 上找到,并且可以像这样包含到你的 Cargo 项目中
[dependencies]
cronenberg = "0.2.0"
然后在你的代码中这样包含它
extern crate cronenberg;
示例
extern crate cronenberg;
use cronenberg::cron_item::CronItem;
use cronenberg::cron_item::TimeItem::*;
use std::str::FromStr;
use std::string::ToString;
let s = "* * 5-7 1,2,5 8 ls -la";
assert_eq!(
CronItem::from_str(s).unwrap(),
CronItem {
minute: AllValues,
hour: AllValues,
day_of_month: Interval((5, 7)),
month: MultipleValues(vec![1, 2, 5]),
day_of_week: SingleValue(8),
command: String::from("ls -la"),
}
);
let cron_item = CronItem {
minute: MultipleValues(vec![1, 10]),
hour: Interval((1, 4)),
day_of_month: Interval((1, 11)),
month: MultipleValues(vec![1, 2, 5]),
day_of_week: AllValues,
command: String::from("pwd"),
};
assert_eq!("1,10 1-4 1-11 1,2,5 * pwd", cron_item.to_string());
贡献
- 创建分支!
- 创建你的功能分支(
git checkout -b my-new-feature
) - 提交你的更改(
git commit -am 'Add some feature'
) - 推送到分支(
git push origin my-new-feature
) - 创建新的 Pull Request
作者
Ayrat Badykov (@ayrat555)
许可证
cronenberg 在 MIT 许可证下发布。
依赖
~1MB
~18K SLoC