summaryrefslogtreecommitdiffstats
path: root/extra
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2008-09-16 21:54:53 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2008-09-16 21:54:53 +0000
commit9afaf26d66e5cef3e49dfa93c7dd3e366a0ea246 (patch)
tree1e02fb69862ba56c1127718062e6bd0f3f8d260d /extra
parenta07a6d4aa4baf3218ba5ad7d18919727b43e4c24 (diff)
downloadredmine-9afaf26d66e5cef3e49dfa93c7dd3e366a0ea246.tar.gz
redmine-9afaf26d66e5cef3e49dfa93c7dd3e366a0ea246.zip
Use RDoc.usage
git-svn-id: http://redmine.rubyforge.org/svn/trunk@1867 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'extra')
-rw-r--r--extra/mail_handler/rdm-mailhandler.rb99
1 files changed, 50 insertions, 49 deletions
diff --git a/extra/mail_handler/rdm-mailhandler.rb b/extra/mail_handler/rdm-mailhandler.rb
index 96e975187..498c2cb04 100644
--- a/extra/mail_handler/rdm-mailhandler.rb
+++ b/extra/mail_handler/rdm-mailhandler.rb
@@ -1,13 +1,51 @@
#!/usr/bin/ruby
-# rdm-mailhandler
+# == Synopsis
+#
# Reads an email from standard input and forward it to a Redmine server
-# Can be used from a remote mail server
+# through a HTTP request.
+#
+# == Usage
+#
+# rdm-mailhandler [options] --url=<Redmine URL> --key=<API key>
+#
+# == Arguments
+#
+# -u, --url URL of the Redmine server
+# -k, --key Redmine API key
+#
+# General options:
+# -h, --help show this help
+# -v, --verbose show extra information
+# -V, --version show version information and exit
+#
+# Issue attributes control options:
+# -p, --project=PROJECT identifier of the target project
+# -t, --tracker=TRACKER name of the target tracker
+# --category=CATEGORY name of the target category
+# --priority=PRIORITY name of the target priority
+# -o, --allow-override=ATTRS allow email content to override attributes
+# specified by previous options
+# ATTRS is a comma separated list of attributes
+#
+# == Examples
+# No project specified. Emails MUST contain the 'Project' keyword:
+#
+# rdm-mailhandler --url http://redmine.domain.foo --key secret
+#
+# Fixed project and default tracker specified, but emails can override
+# both tracker and priority attributes using keywords:
+#
+# rdm-mailhandler --url https://domain.foo/redmine --key secret \\
+# --project foo \\
+# --tracker bug \\
+# --allow-override tracker,priority
require 'net/http'
require 'net/https'
require 'uri'
require 'getoptlong'
+require 'rdoc/usage'
module Net
class HTTPS < HTTP
@@ -31,15 +69,15 @@ class RedmineMailHandler
self.issue_attributes = {}
opts = GetoptLong.new(
- [ '--help', '-h', GetoptLong::NO_ARGUMENT ],
- [ '--version', '-V', GetoptLong::NO_ARGUMENT ],
- [ '--verbose', '-v', GetoptLong::NO_ARGUMENT ],
- [ '--url', '-u', GetoptLong::REQUIRED_ARGUMENT ],
- [ '--key', '-k', GetoptLong::REQUIRED_ARGUMENT],
- [ '--project', '-p', GetoptLong::REQUIRED_ARGUMENT ],
- [ '--tracker', '-t', GetoptLong::REQUIRED_ARGUMENT],
- [ '--category', GetoptLong::REQUIRED_ARGUMENT],
- [ '--priority', GetoptLong::REQUIRED_ARGUMENT],
+ [ '--help', '-h', GetoptLong::NO_ARGUMENT ],
+ [ '--version', '-V', GetoptLong::NO_ARGUMENT ],
+ [ '--verbose', '-v', GetoptLong::NO_ARGUMENT ],
+ [ '--url', '-u', GetoptLong::REQUIRED_ARGUMENT ],
+ [ '--key', '-k', GetoptLong::REQUIRED_ARGUMENT],
+ [ '--project', '-p', GetoptLong::REQUIRED_ARGUMENT ],
+ [ '--tracker', '-t', GetoptLong::REQUIRED_ARGUMENT],
+ [ '--category', GetoptLong::REQUIRED_ARGUMENT],
+ [ '--priority', GetoptLong::REQUIRED_ARGUMENT],
[ '--allow-override', '-o', GetoptLong::REQUIRED_ARGUMENT]
)
@@ -62,7 +100,7 @@ class RedmineMailHandler
end
end
- usage if url.nil?
+ RDoc.usage if url.nil?
end
def submit(email)
@@ -79,43 +117,6 @@ class RedmineMailHandler
private
- def usage
- puts <<-USAGE
-Usage: rdm-mailhandler [options] --url=<Redmine URL> --key=<API key>
-Reads an email from standard input and forward it to a Redmine server
-
-Required:
- -u, --url URL of the Redmine server
- -k, --key Redmine API key
-
-General options:
- -h, --help show this help
- -v, --verbose show extra information
- -V, --version show version information and exit
-
-Issue attributes control options:
- -p, --project=PROJECT identifier of the target project
- -t, --tracker=TRACKER name of the target tracker
- --category=CATEGORY name of the target category
- --priority=PRIORITY name of the target priority
- -o, --allow-override=ATTRS allow email content to override attributes
- specified by previous options
- ATTRS is a comma separated list of attributes
-
-Examples:
- # No project specified. Emails MUST contain the 'Project' keyword:
- rdm-mailhandler --url http://redmine.domain.foo --key secret
-
- # Fixed project and default tracker specified, but emails can override
- # both tracker and priority attributes:
- rdm-mailhandler --url https://domain.foo/redmine --key secret \\
- --project foo \\
- --tracker bug \\
- --allow-override tracker,priority
-USAGE
- exit
- end
-
def debug(msg)
puts msg if verbose
end