diff --git a/README.md b/README.md index 1dada2cc9e0df430d03f46385348a8d2a2396650..61c8983820c9b701556394e5ffd5462c52884bd7 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,18 @@ -redminer +# redminer -Automating RedMine (http://www.redmine.org) with Perl. +Automating routine [RedMine](http://www.redmine.org) tasks with Perl 5.10+. -The script is equipped with an in-place RedMiner::API wrapper for RedMine REST API (http://www.redmine.org/projects/redmine/wiki/Rest_api). +Currently the project consists of two parts: -New calls and commands are supposed to be added on demand. +1. `redminer` script itself. For now it supports only creating projects with subprojects +from a given layout, but in the future it's aimed for various RedMine automation tasks +2. `RedMiner::API` module, a Perl binding to [RedMine REST API](http://www.redmine.org/projects/redmine/wiki/Rest_api). +Please refer to [built-in POD documentation](../blob/master/lib/RedMiner/API.pm) for more details -Dependencies +## Non-core Dependencies -* Perl 5.10+ -* Config::IniFiles -* LWP::UserAgent -* JSON::XS +1. [LWP::UserAgent](https://metacpan.org/pod/LWP::UserAgent) +2. [URI](https://metacpan.org/pod/URI) +3. [URI::QueryParam](https://metacpan.org/pod/URI::QueryParam) +4. [JSON::XS](https://metacpan.org/pod/JSON::XS) +5. [Config::IniFiles](https://metacpan.org/pod/Config::IniFiles) (`redminer` only) diff --git a/lib/RedMiner/API.pm b/lib/RedMiner/API.pm index 8f68dffb4aae8a4410abd245149321c6411c1c4d..d851bb1cc629d919a27bdbfec556a935103c68eb 100644 --- a/lib/RedMiner/API.pm +++ b/lib/RedMiner/API.pm @@ -454,7 +454,7 @@ sub _normalize_objects my $objects = shift; $objects = ucfirst $objects; - # These are token that for a *single* entry in the resulting request path, + # These are tokens that form a *single* entry in the resulting request path, # e.g.: PUT /time_entries/1.json # But it is natural to spell them like this: # $api->updateTimeEntry(1, { ... }); @@ -479,7 +479,7 @@ sub _object return $object; } -# If an object is singular, pluralize to make its category name: user -> users +# If an object is singular, pluralize it to make its category name: user -> users sub _category { my $self = shift; @@ -518,9 +518,11 @@ depends directly on LWP::UserAgent and URI. B<Call conventions>. Although both modules use dynamic dispatching for building actual HTTP requests, they do it in a different manner. In particular, RedMiner::API tries to dispatch a single method name without using chains of interrim objects as Redmine::API does. - + =back +Fork this project on GitHub: https://github.com/igelhaus/redminer + =head1 AUTHOR Anton Soldatov, E<lt>igelhaus@gmail.comE<gt>