Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/neiljohari/claw
🦞 A CLI tool for staff to help students more effectively by downloading their submission from the Autograder
https://github.com/neiljohari/claw
autograder eecs280 uofm
Last synced: 27 days ago
JSON representation
🦞 A CLI tool for staff to help students more effectively by downloading their submission from the Autograder
- Host: GitHub
- URL: https://github.com/neiljohari/claw
- Owner: neiljohari
- License: mit
- Created: 2020-10-22T22:44:59.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2020-12-01T06:58:13.000Z (about 4 years ago)
- Last Synced: 2024-10-29T15:10:34.292Z (2 months ago)
- Topics: autograder, eecs280, uofm
- Language: Ruby
- Homepage:
- Size: 14.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Claw
Welcome to Claw, a CLI for UofM teaching staff to help students more effectively.
Claw downloads a student's latest [Autograder](https://autograder.io) 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](https://github.com/eecs-autograder/autograder-contrib)### Setting Up a Solution Repository
1. Clone a solution repository (like `eecs280staff/`) 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' \
./ \
@login.engin.umich.edu:ia-280-p3
```### Running Claw
In a solution repo, run `claw `.
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](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](https://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](https://opensource.org/licenses/MIT).