Coder Social home page Coder Social logo

stdgems's Introduction

About the Gemified Standard Library

Large portions of Ruby's standard library come in the form of RubyGems, which can be updated independently from Ruby.

There are two different kinds of standard gems:

  • Default gems: These gems are part of Ruby and you can always require them directly. You cannot remove them. They are maintained by Ruby core.

  • Bundled gems: The behavior of bundled gems is similar to normal gems, but they get automatically installed when you install Ruby. They can be uninstalled and they are maintained outside of Ruby core.

There are a few libraries that will stay non-gem default libraries, because they are very dependent on the specific Ruby version.

About the stdgems.org project

This repository contains four JSON files:

The first two files contain data about all default and bundled gems and which Ruby version comes with which version of the gem. The third file contains data about all the non-gemified standard libraries. The fourth JSON combines the above ones into a single unified list.

Go to stdgems.org to easily browse the standard gem data and more info.

stdgems's People

Contributors

andystabler avatar bquorning avatar deivid-rodriguez avatar elliotwutingfeng avatar janlelis avatar kojix2 avatar nobu avatar pvalena avatar tnir avatar trausti101 avatar znz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

stdgems's Issues

Time / Date information for std-ified gems?

Hello Jan,

I am in the process of updating my old ruby documentation over the last 20 years right now.

One entry is "irb.md", so I will update that file locally.

I split this in two things:

core/
add_ons_for_ruby/

So, for instance, in core I have string.md which will explain how to use strings in ruby. I also
store lots of examples in that .md file eventually.

In add_ons_for_ruby/ I store things such as puma.md or sequel.md and so forth - external
gems.

So, my use case is to want to know which ruby gems are part of core ruby and which ones
are not. I may have to add a third directory ... but anyway.

When I encounter irb, I wonder if irb is core of ruby or not. If it is an external gem then perhaps
it is both an add-on and core, but I believe it belongs more to core. So I would put it into
core/irb.md.

This now brings me to the website.

I found it recently and you keep track of versions, e. g. which ruby version came with which
release. This is super-useful.

Would it be possible to also show WHEN a particular core-gem became an external gem
too? For instance, "irb became a gem in 2018" or so? Year may suffice, but year + month
may be even better to know. Ideally this could also be shown in that table layout you
use on the website.

This probably takes some time, so perhaps entries "(not known)" can be the default,
and the information when a gem became external (to ruby core) be added at a later
time.

This may be useful for people to know too. At any rate, this is a not so important
suggestion, so please feel free to proceed as you wish in this regard. Thank you for
reading this issue request. Grüße nach Berlin.

Fix duplication between default and bundled gems

Overview

Hello. 👋 Thanks for maintaining the index of these gems. The JSON API is quite helpful and makes my life a lot easier.

I stumbled across a problem where if you combine the Default API with the Bundled API, you end up with duplicate gem entries. Would it be possible to de-duplicate these APIs so there isn't double entry?

Another option, which might be nice, would be to supply a index.json API which could combine both APIs as one for convenience. At the moment, I merge them by making two API calls but would be handy to have a single API call.

Screenshots/Screencasts

Here's an illustration of how the above plays out when wired up via my Pennyworth gem (planning to release support with Standard Gems later this week):

pennyworth.mp4

The above demonstration combines both the default and bundled APIs. I could de-duplicate these entries myself before presenting within the UI but was thinking the root issue might be work fixing first.

Steps to Recreate

If you search through both APIs, you'll see duplicate entries for the Debug, Matrix, Did You Mean, etc gems.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.