Skip to content

Infinite loop when missing until parameter (and trying to .count the number of events) #154

@Tao-Galasse

Description

@Tao-Galasse

Hello @rossta ! 👋

First of all, thanks for your gem :)

I encountered a bug where montrose get stucked in an infinite loop in this scenario :

Montrose.every(:week, interval: 1, starts: Time.zone.today).events.count

I know it seems strange to not give the until parameter, but I encountered this in a context where it was a variable which was not always initialized and its value was nil, resulting in the following :

Montrose.every(:week, interval: 1, starts: Time.zone.today, until: nil).events.count

In my application, I have to count the number of dates generated with the recurrence parameters, which is why there is the count method used in the end (and it is this one causing the error).

I know the count method is not a Montrose method, so maybe you can't do something on your side to fix this ; but I was wondering if montrose should return an error if no end_date is given ?

I noticed the starts parameter could be omitted, and the current_date would be used by default. But you obviously cannot have a default end_date, because it makes no sense.

Do you think the gem should return an error, or at least a warning or something, if there is no end given for the recurrence ? 🤔

Thanks for your time and your thoughts on this 🙂

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions