CodeSchoolCourse

This code_school_course gem is a "source" gem for all of the gems we use to create courses. These gems include:

  • codeschool-client talks to codeschool.com over http
  • codeschool-engine provides the Rails::Engine that powers much of the course
  • codeschool-httprunner run lessons over http
  • codeschool-lesson the DSL for creating challenges
  • codeschool-omniauth the OmniAuth strategy for logging into codeschool.com

Installation

Add this line to your application's Gemfile:

gem 'code_school_course'

If you want to use this gem from github, you have to do this:

gem 'code_school_course', github: 'envylabs/code_school_course' do
  gem 'codeschool-client'
  gem 'codeschool-engine'
  gem 'codeschool-httprunner'
  gem 'codeschool-lesson'
  gem 'codeschool-omniauth'
end

And then execute:

$ bundle

Or install it yourself as:

$ gem install code_school_course

Usage

For usage, check out the example rails application included in the repo under ROOT/rails_app. Some files of note:

  • Gemfile
  • config/application.rb
  • config/initializers/code_school_course.rb
  • config/code_school_course.yml
  • lib/lessons/lab1/one.rb
  • lib/lessons/lesson/course.rb
  • db/seeds.rb

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Update the rails_app to reflect any changes made.
  4. Commit your changes (git commit -am 'Add some feature')
  5. Push to the branch (git push origin my-new-feature)
  6. Create new Pull Request

Releasing

Update any CHANGELOG.md file in the individual gems for which you've made changes. Commit the CHANGELOG and an update to CODE_SCHOOL_COURSE_VERSION in the same commit, and use the commit message template:

git commit -m "Up to version <version #>"

Once everything is committed and pushed, and you are ready to release a new version of the gem to our Gemfury server, just run rake tag_and_release from the root directory. Make sure you have the [email protected] Gemfury credentials. For more information on how to get setup with Gemfury, read this.