• Stars
    star
    174
  • Rank 219,104 (Top 5 %)
  • Language
  • License
    MIT License
  • Created about 7 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

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 [email protected]:jeromedalbert/real-world-ruby-apps.git

cd real-world-ruby-apps/

# The apps are linked to as git submodules.
# This will take some time... (see comment below for possible speedup)
git submodule update --init

# OR if you've got git 2.9+ installed try to run updates in parallel:
# git submodule update --init --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:
git submodule add -b master [email protected]: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 foreach git pull origin master

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.