15 个版本 (9 个破坏性更新)

0.10.4 2024 年 1 月 6 日
0.10.3 2023 年 10 月 22 日
0.10.0 2023 年 6 月 29 日
0.7.3 2023 年 2 月 8 日
0.4.0 2022 年 7 月 20 日

#135压缩

Download history 2/week @ 2024-03-15 10/week @ 2024-03-29 15/week @ 2024-04-05 176/week @ 2024-04-12

每月 97 次下载
用于 ts-cli

AGPL-3.0 或更高版本

42KB
917

timestudy

弗雷德里克·W·泰勒是个混蛋,但如果是为了自己的利益而做某事,跟踪你在活动上花费的时间还是很有帮助的。timestudy 为应用(例如,我一直在开发的CLI)提供了一个基础,以帮助你在这一过程中。它深受 Timewarrior 的启发。

有关组件文档,请参阅 docs.rs/timestudy

存储

活动存储在用户数据目录中的文件中,在名为 "timestudy" 的新创建的子目录中。有关各种操作系统的数据目录位置,请参阅 dirs 组件。(在 Linux 上,文件位于 ~/.local/share/timestudy/activities。)此外,还会存储与此文件相邻的备份("activities.bk")以及用于存档标签的文件("archived_tags")。

开发

请参阅 变更日志 了解每个版本所做的更改。功能、增强、错误、问题等都在 问题 中跟踪。然后这些被提炼成 里程碑。我打算定期更新下一个两个里程碑,作为思考并计划接下来要立即做的事情的方式。

测试

测试依赖于创建临时文件以及从该文件写入和读取。它位于运行测试的 OS 的临时目录中(例如 Linux 上的 /tmp)。单元测试通过具有 #[test] 属性来使用它,而集成测试则使用一个功能来访问此功能。

使用此库构建的客户端应在 Cargo.toml 文件的 dev-dependencies 部分指定此功能(test-utils),并将可能更改存储活动的任何测试作为集成测试运行(即在 tests/ 目录中的文件,以终端用户的方式与客户端交互),以便它们使用临时文件来存储(以及可能更改或删除)活动,而不是用于存储用户活动的真实文件。否则,您可能在运行测试后发现您已经清除了您辛勤记录的活动。 是的,我一度就犯了这个错误。以下是 Cargo.toml 文件的有关部分。

[dependencies]
timestudy = "0.7" # or whatever the latest version is

[dev-dependencies]
timestudy = { version = "0.7", features = ["test-utils"] }

请注意,还有一个包含一些测试便利函数的模块,即 test_utils(使用下划线,而不是像功能那样使用连字符)。

最后,测试必须连续运行而不是并行运行,因为在测试过程中临时数据文件会被反复创建和删除。这已在 .cargo/config.toml 文件中配置,客户端也应进行相同的设置。

依赖项

~1.3–2.4MB
~40K SLoC