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
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Update the
rails_app
to reflect any changes made. - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - 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 external-services@codeschool.com
Gemfury credentials. For more information on how
to get setup with Gemfury, read this.