{"id":16548169,"url":"https://github.com/mscoutermarsh/exercism_coveralls","last_synced_at":"2026-07-17T03:34:13.413Z","repository":{"id":12948106,"uuid":"15626180","full_name":"mscoutermarsh/exercism_coveralls","owner":"mscoutermarsh","description":null,"archived":false,"fork":false,"pushed_at":"2014-01-04T04:19:41.000Z","size":7204,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-12-25T02:14:57.261Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mscoutermarsh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-01-04T04:17:31.000Z","updated_at":"2018-12-21T18:01:54.000Z","dependencies_parsed_at":"2022-09-01T11:51:24.137Z","dependency_job_id":null,"html_url":"https://github.com/mscoutermarsh/exercism_coveralls","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mscoutermarsh/exercism_coveralls","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mscoutermarsh%2Fexercism_coveralls","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mscoutermarsh%2Fexercism_coveralls/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mscoutermarsh%2Fexercism_coveralls/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mscoutermarsh%2Fexercism_coveralls/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mscoutermarsh","download_url":"https://codeload.github.com/mscoutermarsh/exercism_coveralls/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mscoutermarsh%2Fexercism_coveralls/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35566567,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-17T02:00:06.162Z","response_time":116,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-11T19:25:11.760Z","updated_at":"2026-07-17T03:34:13.394Z","avatar_url":"https://github.com/mscoutermarsh.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# exercism.io\n\n[![Build Status](https://travis-ci.org/exercism/exercism.io.png?branch=master)](https://travis-ci.org/exercism/exercism.io)\n[![Code Climate](https://codeclimate.com/github/exercism/exercism.io.png)](https://codeclimate.com/github/exercism/exercism.io)\n[![Gemnasium](https://gemnasium.com/exercism/exercism.io.png)](https://gemnasium.com/exercism/exercism.io)\n\nApplication to support working through sequential programming problems, with\ncrowd-sourced code reviews.\n\n## WARNING\n\nThis an experiment, and the code reflects that. Many features have been thrown\nin, only to be deprecated shortly thereafter, and there's scar tissue\nthroughout the system.\n\nFeatures may be here today, gone tomorrow.\n\nThings do seem to have settled a bit in the past couple of months, so there's\na chance that we'll reach some sort of 1.0 in early 2014.\n\nThe messaging right now is a disaster. The site is confusing, the process is\nopaque, and it's hard to figure out where you need to look to figure stuff\nout.\n\n### What we think we know\n\nThis is a process with two parts:\n\n* practice (writing code, iterating)\n* nitpicking (looking at code, providing insights and asking questions)\n\nIt's not about getting code perfect or right, but using the pieces of code to\ntalk about the little details of what makes code simple, readable, and/or\nexpressive.\n\n## The Data\n\nThe warmup exercises are collected from all over the web.\n\nThe common data for assignments are in\n\n```bash\nassignments/shared\n```\n\nThis includes some metadata that gets sewn into a README.\n\nNot all assignments will be appropriate for all languages.\n\nThe actual assignment consists of a test suite, where all test are pending\nexcept the first one.\n\nThe languages paths are configured in `lib/exercism/curriculum/LANGUAGE.rb`.\n\nThe list of assignments is just a really big array of assignment slugs in the order that they will be assigned.\n\nDifferent languages/trails do not need to have the same assignments or the same order.\n\n## Setup\n\n1. Install postgresql with: `brew install postgresql` or `apt-get install postgresql-9.2`\n2. Copy `.ruby-version.example` to `.ruby-version` if you use a Ruby version manager such as RVM, rbenv or chruby\n3. Install gems with: `bundle`\n4. Get a client id/secret from Github at https://github.com/settings/applications/new.\n  * Name: whatever\n  * URL: http://localhost:4567\n  * Callback url: http://localhost:4567/github/callback\n5. Presuming you have Postgres installed (if not: `brew install postgres`):\n  * create db user with: `createuser exercism`.\n  * create database with: `createdb -O exercism exercism_development`.\n6. Run the database migrations with `rake db:migrate`.\n7. Run the database seed with `rake db:seed`. If you want LOTS of data: `rake db:seed[1000]` or some other big number.\n8. Copy `config/env` to `.env`\n9. Edit `.env` to fill in the correct values.\n10. Start the server with `foreman start`\n11. Login at http://localhost:4567.\n12. You can view the mails send in [MailCatcher](http://mailcatcher.me/) in your browser at [localhost:1080](http://localhost:1080).\n13. Work through 'Frontend development setup' below and run lineman for correct styling at http://localhost:4567\n\n## Frontend development setup\n1. Install node and npm\n  * osx: brew install node\n  * others see: https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager\n2. Install lineman via `sudo npm install -g lineman`\n3. `cd frontend` and start lineman with `lineman run`\n  * note lineman watches for file changes and compiles them automatically, it is not required to be running for the server to run\n\n## Sending Emails\n\nIf you want to send emails, you will need to fill out the relevant environment variables in `.env` and uncomment the lines so that the variables get exported.\n\n## Console\n\nThere's a script in `bin/console` that will load pry with the exercism environment loaded.\n\n## Testing\n\n1. Prepare the test environment with `RACK_ENV=test rake db:migrate`.\n2. Make sure that `mailcatcher` is running.\n3. Run the test suite with `rake` or `rake test`.\n\nTo run a single test suite, you can do so with:\n\n```bash\nruby path/to/the_test.rb\n```\n\nIf it complains about dependencies, then either we forgot to require the correct dependencies (a distinct possibility), or we are dependening on a particular tag of a gem installed directly from github (this happens on occasion).\n\nIf there's a git dependency, you can do this:\n\n```bash\nbundle exec ruby path/to/the_test.rb\n```\n\nFor the require, you'll need to figure out what the missing dependency is. Feel free to open an issue on github. It's likely that someone familiar with the codebase will be able to identify the problem immediately.\n\n### Code coverage\n\nTo enable code coverage run:\n\n```bash\nCOVERAGE=1 rake test\n```\n\nBrowse the results located in `coverage/index.html`\n\n## Deployment\n\nLet Heroku know that Lineman will be building our assets. From the command line:\n```\nheroku config:set BUILDPACK_URL=https://github.com/testdouble/heroku-buildpack-lineman-ruby.git\n```\n\n## Contributing\n\nThank you for wanting to contribute! :heart::sparkling_heart::heart:\n\nFork and clone. Hack hack hack.\nSubmit a pull request and tell us why your idea is awesome.\n\nFor more details, please read the [contributing guide](https://github.com/exercism/exercism.io/blob/master/CONTRIBUTING.md).\n\n## License\n\nGNU Affero General Public License\n\nCopyright (C) 2013 Katrina Owen, _@kytrinyx.com\n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU Affero General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU Affero General Public License for more details.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmscoutermarsh%2Fexercism_coveralls","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmscoutermarsh%2Fexercism_coveralls","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmscoutermarsh%2Fexercism_coveralls/lists"}