Conversation
jrauh01
left a comment
There was a problem hiding this comment.
You could take the opportunity and realign the functions in the Frequency implementations so they are all in the same order.
Did you think of something like 903eebf? |
Yes, the order looks very reasonable to me. |
90732d7 to
3b4fb4c
Compare
|
@jrauh01 I also introduced two new changes. |
|
Afaik we want to keep the |
These guidelines are from a time before strict typing. Today, I would consider such annotations boilerplate and would omit or remove them. I would only keep them if they tighten types or add valuable explanations. |
Then shouldn't we create a new fix guideline for such cases? Because I don't get the impression that this is done consistently in our projects. |
jrauh01
left a comment
There was a problem hiding this comment.
Assuming we remove @var annotations for typed properties that don't provide additional content from now on, this looks good to me now.
3528735 to
2d3f7bc
Compare
Rename the license file to `LICENSE.md`, switch to a Markdown heading, and normalize the Icinga URL. This aligns the license file with the repository's Markdown-based documentation and establishes `LICENSE.md` as a consistent convention across all Icinga repositories.
2d3f7bc to
9d2ead6
Compare
Introduced changelog covers all releases and unreleased changes, derived from tags, release notes, commits, and related pull requests.
Add a package overview, installation requirements, and focused examples for scheduling tasks with cron expressions, one-off datetimes, and iCalendar recurrence rules, including event listener setup. This gives users practical guidance without turning the README into a class-by-class API reference.
Add missing docblocks and replace fenced code examples with indented blocks for better IDE rendering.
Recurr requires all dates (`start`, `until`) to share the rrule's configured timezone; passing a datetime in a different timezone causes recurrences to be calculated against the wrong UTC offset. The three affected sites (`startAt()`, `endAt()`, `setTimezone()`) all carried the same inline call and their own comment explaining this requirement. A shared protected method documents the reasoning once and makes the intent clear at each call site.
Inline comments should read as complete sentences and be easy to scan. Ending each comment with a full stop signals that the thought is complete and keeps the style consistent across the codebase. Where comments were verbose or imprecise, take the opportunity to tighten the wording without changing meaning.
Establish a consistent method order across all frequency implementations: constructor → static factories → interface methods → class-specific mutators/accessors → serialization → magic methods → protected helpers.
Maintain type safety by explicitly converting `DateTimeInterface` to mutable `DateTime`. Original input remains unmodified.
9d2ead6 to
a731903
Compare
This PR consolidates several maintenance tasks to bring the repository in
line with shared conventions across our projects.
Repository
LICENSE.mdto align with the repository’sMarkdown‑based documentation and establish a consistent convention
across all repositories.
Documentation
CHANGELOG.mdto summarize notable changes per release.README.mdwith a package overview, installation requirements,and focused examples for scheduling tasks with cron expressions,
one‑off datetimes, and iCalendar recurrence rules, including event
listener setup.