dashboard icon indicating copy to clipboard operation
dashboard copied to clipboard

Add minimum required Ruby version column

Open ashmaroli opened this issue 5 years ago • 4 comments

This may be a bit far-fetched but was wondering if you could add a column displaying the required minimum Ruby version for each "gem" listed. Rubygems.org listings have a field for it, so there's already an available API to procure the info.

This change will allow us to easily gauge if (a) particular gem(s) will force a user to install a newer Ruby.

Thanks.

ashmaroli avatar Mar 26 '19 02:03 ashmaroli

Something like this could help spot differences in plugin requirements:

Ruby version required Jekyll version required
>= 2.3.0 >= 3.6
>= 2.3.0 >= 3.3
>= 2.3.0 >= 3.8
>= 2.4.0 >= 3.7

DirtyF avatar Mar 26 '19 07:03 DirtyF

Technically, minor-version bump in JEKYLL_VERSION wouldn't be a hassle for the user because the gap is easily covered by running gem update jekyll or bundle update. But RUBY_VERSION is a whole thing altogether:

  • Requires installing a whole new environment.
  • The difficulty-level (of installing ruby) is platform-dependent (Unix, Windows, Java, etc..) and program-dependent (rvm, rbenv, RubyInstaller, JVM, etc..)
  • The gems installed for one Ruby Version is not available on another Ruby Version (Maintenance overhead)

So bumping minor RUBY_VERSION requirement is a major change that needs proper handling.

ashmaroli avatar Mar 26 '19 08:03 ashmaroli

Looks like this is missing from the v1 API (e.g. curl https://rubygems.org/api/v1/gems/jekyll.json):

{
  "name": "jekyll",
  "downloads": 20153714,
  "version": "4.2.2",
  "version_created_at": "2022-03-03T10:47:40.602Z",
  "version_downloads": 507860,
  "platform": "ruby",
  "authors": "Tom Preston-Werner, Parker Moore, Matt Rogers",
  "info": "Jekyll is a simple, blog aware, static site generator.",
  "licenses": [
    "MIT"
  ],
  "metadata": {
    "homepage_uri": "https://jekyllrb.com",
    "changelog_uri": "https://github.com/jekyll/jekyll/releases",
    "bug_tracker_uri": "https://github.com/jekyll/jekyll/issues",
    "source_code_uri": "https://github.com/jekyll/jekyll"
  },
  "yanked": false,
  "sha": "f7c2ec8fdc41e5565c1e0e20df3bd6896162a5c26d75a684bef3eb144f9bfb36",
  "project_uri": "https://rubygems.org/gems/jekyll",
  "gem_uri": "https://rubygems.org/gems/jekyll-4.2.2.gem",
  "homepage_uri": "https://jekyllrb.com",
  "wiki_uri": null,
  "documentation_uri": null,
  "mailing_list_uri": null,
  "source_code_uri": "https://github.com/jekyll/jekyll",
  "bug_tracker_uri": "https://github.com/jekyll/jekyll/issues",
  "changelog_uri": "https://github.com/jekyll/jekyll/releases",
  "funding_uri": null,
  "dependencies": {
    "development": [],
    "runtime": [
      {
        "name": "addressable",
        "requirements": "~> 2.4"
      },
      {
        "name": "colorator",
        "requirements": "~> 1.0"
      },
      {
        "name": "em-websocket",
        "requirements": "~> 0.5"
      },
      {
        "name": "i18n",
        "requirements": "~> 1.0"
      },
      {
        "name": "jekyll-sass-converter",
        "requirements": "~> 2.0"
      },
      {
        "name": "jekyll-watch",
        "requirements": "~> 2.0"
      },
      {
        "name": "kramdown",
        "requirements": "~> 2.3"
      },
      {
        "name": "kramdown-parser-gfm",
        "requirements": "~> 1.0"
      },
      {
        "name": "liquid",
        "requirements": "~> 4.0"
      },
      {
        "name": "mercenary",
        "requirements": "~> 0.4.0"
      },
      {
        "name": "pathutil",
        "requirements": "~> 0.9"
      },
      {
        "name": "rouge",
        "requirements": "~> 3.0"
      },
      {
        "name": "safe_yaml",
        "requirements": "~> 1.0"
      },
      {
        "name": "terminal-table",
        "requirements": "~> 2.0"
      }
    ]
  }
}

parkr avatar Aug 22 '22 01:08 parkr

Thanks for looking into this, @parkr. I believe my original thought behind opening this ticket (don't remember exactly, tbh) is probably redundant now after the release of Ruby 3.0.

ashmaroli avatar Aug 22 '22 11:08 ashmaroli