Skip to content

Latest commit

 

History

History
79 lines (55 loc) · 2.52 KB

README.md

File metadata and controls

79 lines (55 loc) · 2.52 KB

Real world Ruby apps

Real World Ruby apps and their open source codebases for developers to learn from

You'll find the source code in the apps/ subdirectory. These apps are:

  • Executable via the command line
  • Not based on any framework (see other repos for Rails, Sinatra, etc.)

Thank you to every developer who has worked on a project this repo links to, your work is helping developers learn Ruby.

How to install on your computer

# Clone this git repo:
git clone git@github.com:jeromedalbert/real-world-ruby-apps.git

cd real-world-ruby-apps/

# The apps are linked to as git submodules.
# This will take some time...
git submodule update --init --single-branch --jobs 4

Other Real World codebase collections

Information for contributors

Is your app the right fit?

  • The majority of the codebase should not be based on any framework, like Rails or Sinatra. There are dedicated Real World repos for these.
  • The vast majority of the codebase should be written in Ruby.
  • The main app should be executable via a binary.
  • The app should be somewhat popular, in order to limit the apps in this repo to a manageable amount. There is some leeway in what constitutes a popular app. A possible indicator can be GitHub stars compared to similar apps.

Don't hesitate to submit a pull request if you meet the criteria!

How to add a Real World app

Given a GitHub repo for an app githubuser/foo:

# Inside the project root:
# Replace <DEFAULT_BRANCH> with correct branch (probably 'main').
git submodule add -b <DEFAULT_BRANCH> git@github.com:githubuser/foo.git apps/foo

Updating the apps submodules to latest

The apps in apps/ are git submodules. Git submodules are locked to a revision and don't stay in sync with the latest revision.

To update the revisions, run:

# This will take some time:
git submodule update --remote --single-branch --jobs 4

Contributors

  • Jerome Dalbert http://jeromedalbert.com
  • Contributions are welcome, fork the GitHub repo, make your changes, then submit your pull request! Reach out if you'd like some help.