DojoGen
=======
This project generates folders for coding dojo sessions following the
pattern YYYYMMDD[\_extra]\ *language*\ problem.
I (João Felipe Pimentel) started this project in a fork of
`DojoTools <https://github.com/JoaoFelipe/dojotools>`__ and now I'm
extracting it to a separate project.
Installing and using DojoGen is simple and easy. Please check our
installation and basic usage guidelines below.
Quick Installation
------------------
To install DojoGen, you should follow these basic instructions:
If you have pip, just run:
.. code:: bash
$ pip install dojogen
If you do not have pip, but already have Git (to clone our repository)
and Python:
.. code:: bash
$ git clone git@github.com:dojorio/dojogen.git
$ cd dojogen
$ ./setup.py install
This installs DojoGen on your system.
Usage
-----
There are 3 basic commands: generate (g), language (l), help (h)
1- Generate: generates a folder for the coding dojo session
Just call it with the desired language and problem
::
$ dojogen generate python fizz_buzz
Generates 20150517\_python\_fizz\_buzz
You can also pass extra arguments to describe custom dojo sessions
::
$ dojogen g python fizz_buzz freshmen
Generates 20150517\_freshmen\_python\_fizz\_buzz with fizz\_buzz.py and
test\_fizz\_buzz.py
There are also extra options:
Use non-specified generator or ignore language files: (-i/--ignore)
::
$ dojogen g -i python fizz_buzz
Generates an empty 20150517\_python\_fizz\_buzz
Specify the path (-p/--path)
::
$ dojogen g -p ~/dojo_niteroi python fizz_buzz
Generates 20150517\_python\_fizz\_buzz inside ~/dojo\_niteroi directory
2- Language: shows existing generators
::
$ dojogen language
moonscript
javascript
pascal
python
java
coffeescript
c
haskell
lua
ruby
3- Help: describes how to prepare the environment for a language
::
$ dojogen help ruby
Dependencies:
ruby
rspec
TestUnit:
It uses rspec that can be downloaded by
gem install rspec
Interactive Shell:
irb
Contributing
------------
If you want to create a new generator, you just need to create a folder
inside the generators directory and a text file inside generators/help.
The name of the folder and text file will be the name of the generator.
Please, make sure you create a file run.dojo inside the generator with
the command line used to compile and run tests (if applyable) and a
.dojoignore with rules to ignore compiled files.
Some strings will be replaced by the problem name according to the
expected case. Using the problem name fizz\_buzz as example:
::
'___dojogen___' : 'fizz_buzz'
'___class_dojogen___' : 'FizzBuzz',
'___down_dojogen___' : 'fizzbuzz',
'___camel_dojogen___' : 'fizzBuzz',
Contact
-------
Do not hesitate to contact me:
- João Felipe Pimentel joaofelipenp@gmail.com
License Terms
-------------
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.