Project

claw

0.0
No commit activity in last 3 years
No release in over 3 years
A tool for staff to quickly download student AG submissions
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

 Project Readme

Claw

Welcome to Claw, a CLI for UofM teaching staff to help students more effectively.

Claw downloads a student's latest Autograder submission locally and then prompts the instructor to sync the students files to CAEN.

Installation

Run gem install claw in your command line.

Usage

Obtaining a Token

Log in to autograder.io in Chrome and open up the developer tools from the Chrome menu (View->Developer->Developer Tools on a Mac). Click on a course link. In the developer console, click on a request (e.g. my_roles/ or projects/). Under Request Headers, there is an Authorization entry that looks like "Token ". Copy the hex string and save it to the file .agtoken in your home directory. -- autograder-contrib

Setting Up a Solution Repository

  1. Clone a solution repository (like eecs280staff/<solution repo>) locally via git clone
  2. Ensure the solution repo Makefile has an autograde target (all EECS280 project repos do)
  3. Optionally add a sync target to the Makefile. This target should sync the entire solution repo to CAEN. An example target would be:
# Copy files to CAEN Linux
sync :
	rsync \
  -rtv \
  --delete \
  --exclude '.git*' \
  --filter=':- .gitignore' \
  ./ \
	<your uniqname here>@login.engin.umich.edu:ia-280-p3

Running Claw

In a solution repo, run claw <project id> <student uniqname>.

You can determine the project id by navigating to the project on autograder.io and looking at the URL. For instance, in Fall 2020, EECS280's Euchre project was available at https://autograder.io/web/project/721 which means the project id was 721.

The students code will be downloaded to a folder corresponding to their uniqname.

Finally, Claw will prompt the user whether to upload to CAEN. It assumes the Makefile has a sync target.

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/neiljohari/claw.

License

The gem is available as open source under the terms of the MIT License.