/lighthouse_addons

Allows you to create/print tickets directly from annotations defined in your code !

Primary LanguageRubyMIT LicenseMIT

== Lighthouse Addons

Package contains two addons:

1. Annotater - Convert your annotations into lighthouse tickets
2. Printer   - Print your lighthouse tickets to PDF.

== Configure before starting up

Rename lighthouse.example to lighthouse.yml and fill-in the required fields available in config directory.

== Lighthouse Annotater

Based on rake:notes, lighthouse annotater is prefixed with 'lh', 
so there are following rake tasks that convert annotations into lighthouse tickets:

rake lhnotes:todo
rake lhnotes:fixme
rake lhnotes:optimize
rake lhnotes:custom ANNOTATION=custom_tag

and

rake lhnotes to run all of them (except custom).

=== Customizing Annotates

You can provide additional options to annotates to set certain features related to lighthouse ticket. 
Currently the following features are provided:

1. Title: 
By default the title of lighthouse ticket will be in this format:
[TYPE OF ANNOTATION] - CUSTOM TITLE - FILE NAME - LINE NUMBER
Here you can set the CUSTOM TITLE by specifying the title in **, as: *this will be the title*
if CUSTOM TITLE is missing, first 25 characters of annotation will be used.

2. Code: 
You can encode code in double dots, as:
..:if => proc {|user| user.password?}..

3. Tags: 
Prefix any word with # and it will be added as a tag for that ticket.


=== A complete example:
# TODO: *Use #dynamic-finders*, like ..User.find_by_name(name).. in #models, #controllers

For this annotate,
title = Use #dynamic-finders
code =  User.find_by_name(name)
tags = dynamic-finders, models, controllers

== Lighthouse Ticket Printer

Based on rake:lhnotes, Lighthouse Ticket Printer gives the following tasks:

rake lhprint:todo
rake lhprint:fixme
rake lhprint:optimize
rake lhprint:custom ANNOTATION=custom_tag

and

rake lhprint to print all of them.

== Print individual tickets

To print individual tickets, use:

rake lhprint:tickets ticket_nos

a. ticket_nos can be either individual ticket nos. or ticket ranges
b. ticket_nos need to be seperated by spaces and not comma.

ex:

rake lhprint:tickets 1-5 7 9
rake lhprint:tickets 10 15 27

== Print all tickets of a milestone
To print tickets belonging to a milestone, use:

rake lhprint:ms milestone_id

ex:

rake lhprint:ms 12345

== Print all tickets for the current milestone
To print all tickets for the current milestone, 
don't provide the milestone_id: 

rake lhprint:ms

== Print tickets by search
You can also print selected tickets returned as a result of lighhouse search, use:

rake lhprint:search "search_string"

a. search_string should be enclosed in quotes ""

ex:

rake lhprint:search "milestone:'milestone 1' tagged:'tag 1'"

== Print all tickets
To print all tickets, don't provide any search string: 

rake lhprint:search

=== Bugs or Feedback ?
Use lighthouse :)
http://lhaddons.lighthouseapp.com/

=== Copyrights
PDFWriter:      http://www.hollo.org/pdfwriter/
LighthouseAPI:  http://github.com/Caged/lighthouse-api/tree/master