Project

codeunion

0.0
No commit activity in last 3 years
No release in over 3 years
There's a lot of open issues
The CodeUnion command-line tool helps students work through CodeUnion's curriculum.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies

Development

~> 1.7
~> 5.5
~> 10.0
~> 0.27

Runtime

 Project Readme

The CodeUnion Command-Line Tool

The CodeUnion command-line tool is meant to be used in conjunction with CodeUnion's curriculum. Think of it as your "learning sherpa."

Installing

To install the CodeUnion command-line tool, run

$ gem install codeunion

If you're using rbenv to manage your Ruby environment, make sure to run

$ rbenv rehash

after you install the gem. This is required for rbenv to pick up any new executables installed by a gem, including ours.

Getting Started

Once you've installed the gem, you will be able to run the codeunion command:

$ codeunion

To run a particular subcommand, add it to the codeunion base command. For example, to use the search command you would run:

$ codeunion search [your search query]

You can see a help window for any subcommand by appending a -h or --help flag:

$ codeunion search -h
Usage: codeunion search [options] <terms>

Options:
-c, --category   CATEGORY        Display config variable NAME
-h, --help                       Print this help message

Subcommands

Config

Read and write configuration for the CodeUnion command-line tool.

Example usage:

# Set the feedback.repository value
$ codeunion config set feedback.repository codeunion/feedback-requests-web-fundamentals

# Get the feedback.repository value
$ codeunion config get feedback.repository
codeunion/feedback-requests-web-fundamentals

Feedback

Request feedback on your code.

Feedback requests require a URL for a specific commit or a pull request.

Example usage:

$ codeunion feedback request https://github.com/codeunion/overheard-server/commit/0edb7866809620013d4a3c2d3b5bea57b12bf255

This will add an issue to the feedback repository specified in the config variable feedback.repository.

To use the feedback command, you will need to set the following configuration variables:

github.access_token
Allows the tool to interact with GitHub as you. See this article for more information.

You can use the default OAuth scopes. As of this writing those are: repo, public_repo, gist, and user.

feedback.repository
URL of the GitHub repository to submit feedback requests in. For example: https://github.com/codeunion/feedback-requests-web-fundamentals

If you don't know which repository to use, see your workshop's base repository or ask your instructor.

Search

Search the repositories in the CodeUnion curriculum.

Example usage:

$ codeunion search html
  Project: social-wall
  Your First Web Application
  https://github.com/codeunion/social-wall
  tags:
  Excerpt: HTML templating and ERB - Deploying an application to Heroku
  The following video tutorials are all based...

  [...]

You can narrow your searches by category with the --category flag.

$ codeunion search html --category example

Or you can use the alias commands to narrow your search to either projects or examples.

$ codeunion examples html

...and...

$ codeunion projects html

Development

The CodeUnion client targets Ruby 1.9.3, 2.0, and 2.1. Assuming you have homebrew installed already:

make install      # Installs npm, wach, rbenv, ruby-build and ruby 1.9.3, 2.0
                  # and 2.1
make unit-test    # Runs the unit tests against all ruby versions. Thread-safe.
make feature-test # Runs the feature tests against all ruby versions. Not-thread-safe.
make test         # Runs unit and feature tests against all ruby versions

How Subcommands Work

The command-line tool is organized into subcommands, a la git. If we were to run this command, for example

$ codeunion waffles

the CodeUnion tool would look for an executable named codeunion-waffles. If the executable exists, the tool will run it. If it doesn't exist, we would see a CommandNotFound error.