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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions