Skip to content

Removing ActiveSupport dependency #74

@tomasmiguez

Description

@tomasmiguez

Hello!

We were looking for a gem to handle rrules, and found this one, which seems excellent. The only issue we found while trying it out is that it pulls ActiveSupport as a dependency. Internally, we try to keep dependencies as lean as possible, and this one is usually a no go due to issues we have had with it on previous projects.

Looking at the codebase, it also seems a bit disproportionate for what it is used for. As far as I've seen, it is used for blank?, present?, in_time_zone and Array.wrap; all of them easily replaceable in the standard library, or just with TZInfo (which ActiveSupport wraps). Changing this would remove quite a few transitive dependencies and a lot of code from ActiveSupport itself.

So, would there be any interest in merging a PR that aims to remove this dependency?

It would:

  • Reduce the amount of dependencies of this gem significantly (from ActiveSupport and 11 transitive dependencies to just TZInfo).
  • It would make this gem more accessible for non-rails Ruby users.

The only issue that I can think of with this change, would be the effort required to review it and that we currently support timezones through ActiveSupport aliases (e.g. Brisbane instead of Australia/Brisbane) which would be difficult to preserve.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions