{"id":18560939,"url":"https://github.com/artichoke/strftime-ruby","last_synced_at":"2025-04-10T02:31:17.817Z","repository":{"id":40311419,"uuid":"507436263","full_name":"artichoke/strftime-ruby","owner":"artichoke","description":"⏳ Ruby `Time#strftime` parser and formatter","archived":false,"fork":false,"pushed_at":"2025-04-08T00:09:37.000Z","size":2176,"stargazers_count":16,"open_issues_count":2,"forks_count":1,"subscribers_count":4,"default_branch":"trunk","last_synced_at":"2025-04-08T01:22:41.622Z","etag":null,"topics":["artichoke","ruby","rust","rust-crate","strftime","time"],"latest_commit_sha":null,"homepage":"https://crates.io/crates/strftime-ruby","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/artichoke.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-06-25T23:23:12.000Z","updated_at":"2025-03-29T18:44:07.000Z","dependencies_parsed_at":"2023-09-26T04:51:52.846Z","dependency_job_id":"8d65f478-0d7e-4b4c-875a-874cbf15afc3","html_url":"https://github.com/artichoke/strftime-ruby","commit_stats":{"total_commits":172,"total_committers":4,"mean_commits":43.0,"dds":0.5581395348837209,"last_synced_commit":"2a19ab126452c279c6a42b8ed1a910a891a98014"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artichoke%2Fstrftime-ruby","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artichoke%2Fstrftime-ruby/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artichoke%2Fstrftime-ruby/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artichoke%2Fstrftime-ruby/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/artichoke","download_url":"https://codeload.github.com/artichoke/strftime-ruby/tar.gz/refs/heads/trunk","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248144198,"owners_count":21054883,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["artichoke","ruby","rust","rust-crate","strftime","time"],"created_at":"2024-11-06T22:05:11.880Z","updated_at":"2025-04-10T02:31:17.808Z","avatar_url":"https://github.com/artichoke.png","language":"Rust","readme":"# strftime-ruby\n\n[![GitHub Actions](https://github.com/artichoke/strftime-ruby/workflows/CI/badge.svg)](https://github.com/artichoke/strftime-ruby/actions)\n[![Code Coverage](https://codecov.artichokeruby.org/strftime-ruby/badges/flat.svg?nocache=2)](https://codecov.artichokeruby.org/strftime-ruby/index.html)\n[![Discord](https://img.shields.io/discord/607683947496734760)](https://discord.gg/QCe2tp2)\n[![Twitter](https://img.shields.io/twitter/follow/artichokeruby?label=Follow\u0026style=social)](https://twitter.com/artichokeruby)\n\u003cbr\u003e\n[![Crate](https://img.shields.io/crates/v/strftime-ruby.svg)](https://crates.io/crates/strftime-ruby)\n[![API](https://docs.rs/strftime-ruby/badge.svg)](https://docs.rs/strftime-ruby)\n[![API trunk](https://img.shields.io/badge/docs-trunk-blue.svg)](https://artichoke.github.io/strftime-ruby/strftime/)\n\n`strftime-ruby` is a Ruby 3.1.2 compatible implementation of the\n[`Time#strftime`] method. The `strftime` routines provided by this crate are\n[POSIX-compatible], except for intentionally ignoring the `E` and `O` modified\nconversion specifiers.\n\n[`time#strftime`]: https://ruby-doc.org/core-3.1.2/Time.html#method-i-strftime\n[posix-compatible]:\n  https://pubs.opengroup.org/onlinepubs/9699919799/functions/strftime.html\n\n\u003e Formats time according to the directives in the given format string.\n\u003e\n\u003e The directives begin with a percent (%) character. Any text not listed as a\n\u003e directive will be passed through to the output string.\n\u003e\n\u003e The directive consists of a percent (%) character, zero or more flags,\n\u003e optional minimum field width, optional modifier and a conversion specifier as\n\u003e follows:\n\u003e\n\u003e ```text\n\u003e %\u003cflags\u003e\u003cwidth\u003e\u003cmodifier\u003e\u003cconversion\u003e\n\u003e ```\n\n## Usage\n\nAdd this to your `Cargo.toml`:\n\n```toml\n[dependencies]\nstrftime-ruby = \"1.3.1\"\n```\n\n## Crate features\n\nAll features are enabled by default.\n\n- **std** - Enables a dependency on the Rust Standard Library. Activating this\n  feature the `strftime::io` module, which depends on [`std::io::Write`].\n  Activating this feature also activates the **alloc** feature.\n- **alloc** - Enables a dependency on the Rust [`alloc`] crate. Activating this\n  feature enables the `strftime::bytes` and `stftime::string` modules, which\n  depend on [`alloc::vec::Vec`] and [`alloc::string::String`]. When the\n  **alloc** feature is enabled, this crate only uses [fallible allocation APIs].\n\n[`std::io::write`]: https://doc.rust-lang.org/std/io/trait.Write.html\n[`alloc`]: https://doc.rust-lang.org/alloc/\n[`alloc::vec::vec`]: https://doc.rust-lang.org/alloc/vec/struct.Vec.html\n[`alloc::string::string`]:\n  https://doc.rust-lang.org/alloc/string/struct.String.html\n[fallible allocation apis]:\n  https://doc.rust-lang.org/alloc/vec/struct.Vec.html#method.try_reserve\n\n### Minimum Supported Rust Version\n\nThis crate requires at least Rust 1.84.0. This version can be bumped in minor\nreleases.\n\n## License\n\n`strftime-ruby` is licensed under the [MIT License](LICENSE) (c) Ryan Lopopolo\nand x-hgg-x.\n\nThis repository includes a vendored copy of [`strftime.c`] from Ruby 3.1.2,\nwhich is licensed under the [Ruby license] or [BSD 2-clause license]. See\n[`vendor/README.md`] for more details. These sources are not distributed on\n[crates.io].\n\n[`strftime.c`]: vendor/ruby-3.1.2/strftime.c\n[ruby license]: vendor/ruby-3.1.2/COPYING\n[bsd 2-clause license]: vendor/ruby-3.1.2/BSDL\n[`vendor/readme.md`]: vendor/README.md\n[crates.io]: https://crates.io/\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartichoke%2Fstrftime-ruby","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fartichoke%2Fstrftime-ruby","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartichoke%2Fstrftime-ruby/lists"}