From 1a7b791693b336b938578b57a6bc11585d6fc2b1 Mon Sep 17 00:00:00 2001
From: Anton Soldatov <igelhaus@gmail.com>
Date: Fri, 11 Apr 2014 10:04:29 +0400
Subject: [PATCH] RedMiner::API renamed to Redminer to avoid confusion with
 Redmine::API

---
 MANIFEST                             | 11 ++++++++---
 Makefile.PL                          |  6 +++---
 README.md                            |  4 ++--
 lib/{RedMiner/API.pm => Redminer.pm} | 22 +++++++++++-----------
 redminer                             |  4 ++--
 t/00-use.t                           |  2 +-
 t/01-dispatching.t                   |  4 ++--
 t/02-realworld.t                     | 14 +++++++-------
 t/03-realworld-no-wrapping.t         | 14 +++++++-------
 t/05-pod-coverage.t                  |  2 +-
 10 files changed, 44 insertions(+), 39 deletions(-)
 rename lib/{RedMiner/API.pm => Redminer.pm} (95%)

diff --git a/MANIFEST b/MANIFEST
index 9dc8f86..81188d9 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -1,6 +1,11 @@
 Changes
 Makefile.PL
 MANIFEST
-README
-t/RedMiner-API.t
-lib/RedMiner/API.pm
+README.md
+t/00-use.t
+t/01-dispatching.t
+t/02-realworld.t
+t/03-realworld-no-wrapping.t
+t/04-pod.t
+t/05-pod-coverage.t
+lib/Redminer.pm
diff --git a/Makefile.PL b/Makefile.PL
index cd80fa4..ed5a7b3 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -2,8 +2,8 @@ use 5.010;
 use ExtUtils::MakeMaker;
 
 WriteMakefile(
-	NAME         => 'RedMiner::API',
-	VERSION_FROM => 'lib/RedMiner/API.pm',
+	NAME         => 'Redminer',
+	VERSION_FROM => 'lib/Redminer.pm',
 	PREREQ_PM    => {
 		'URI'             => 0,
 		'URI::QueryParam' => 0,
@@ -11,7 +11,7 @@ WriteMakefile(
 		'JSON::XS'        => 0,
 	},
 	($] >= 5.005 ? ( ## Add these new keywords supported since 5.005
-		ABSTRACT_FROM => 'lib/RedMiner/API.pm',
+		ABSTRACT_FROM => 'lib/Redminer.pm',
 		AUTHOR        => 'Anton Soldatov <igelhaus@gmail.com>')
 	: ()),
 );
diff --git a/README.md b/README.md
index e786bfb..1d55a44 100644
--- a/README.md
+++ b/README.md
@@ -6,8 +6,8 @@ Currently the project consists of two parts:
 
 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](../master/lib/RedMiner/API.pm) for more details
+2. `Redminer` module, a Perl binding to [RedMine REST API](http://www.redmine.org/projects/redmine/wiki/Rest_api).
+Please refer to [built-in POD documentation](../master/lib/Redminer.pm) for more details
 
 ## Non-core Dependencies
 
diff --git a/lib/RedMiner/API.pm b/lib/Redminer.pm
similarity index 95%
rename from lib/RedMiner/API.pm
rename to lib/Redminer.pm
index d851bb1..0c62855 100644
--- a/lib/RedMiner/API.pm
+++ b/lib/Redminer.pm
@@ -1,4 +1,4 @@
-package RedMiner::API;
+package Redminer;
 
 use 5.010;
 use strict;
@@ -18,17 +18,17 @@ use Encode   qw/decode/;
 
 =head1 NAME
 
-RedMiner::API - Wrapper for RedMine REST API (http://www.redmine.org/projects/redmine/wiki/Rest_api).
+Redminer - Wrapper for RedMine REST API (http://www.redmine.org/projects/redmine/wiki/Rest_api).
 
 =head1 SYNOPSIS
 
-	use RedMiner::API;
-	my $redminer = RedMiner::API->new(
+	use Redminer;
+	my $redminer = Redminer->new(
 		host => 'example.com/redmine',
 		key  => 'xxx',
 	);
 	# password-based auth is also supported:
-	#my $redminer = RedMiner::API->new(
+	#my $redminer = Redminer->new(
 	#	host => 'example.com/redmine',
 	#	user => 'redminer',
 	#	pass => 'p@s$w0rD',
@@ -37,7 +37,7 @@ RedMiner::API - Wrapper for RedMine REST API (http://www.redmine.org/projects/re
 	my $project = $redminer->createProject({
 		identifier  => 'my-project',
 		name        => 'My Project',
-		description => 'My project, created with *RedMiner::API*',
+		description => 'My project, created with *Redminer*',
 	});
 	if (!$project) {
 		say STDERR 'Error(s) creating project: ', join("\n", map { $_ } $redminer->errorDetails->{errors});
@@ -52,7 +52,7 @@ RedMiner::API - Wrapper for RedMine REST API (http://www.redmine.org/projects/re
 	
 	my $issue = $redminer->createIssue({
 		project_id  => $project_id,
-		subject     => 'Test issue for RedMiner::API',
+		subject     => 'Test issue for Redminer',
 		description => 'Issue description',
 	});
 
@@ -145,7 +145,7 @@ be retrieved like this:
 
 =head2 new
 
-	my $redminer = RedMiner::API->new(%options);
+	my $redminer = Redminer->new(%options);
 
 Following options are recognized:
 
@@ -188,7 +188,7 @@ By default RedMine API requires you to wrap you object data like this:
 
 By default this module follows this convention. However, if you specify something like
 
-	my $redminer = RedMiner::API->new(
+	my $redminer = Redminer->new(
 		host => 'example.com/redmine',
 		key => 'xxx',
 		no_wrapper_object => 1,
@@ -510,13 +510,13 @@ between this module and Redmine::API are:
 =item *
 
 B<Dependencies>. Redmine::API depends on Moo and REST::Client which in turn depends on
-LWP::UserAgent, URI and possibly others. RedMiner::API uses pure Perl OOP and
+LWP::UserAgent, URI and possibly others. Redminer uses pure Perl OOP and
 depends directly on LWP::UserAgent and URI.
 
 =item *
 
 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
+requests, they do it in a different manner. In particular, Redminer tries to
 dispatch a single method name without using chains of interrim objects as Redmine::API does.
 
 =back
diff --git a/redminer b/redminer
index d3b81c5..d7d8592 100755
--- a/redminer
+++ b/redminer
@@ -11,7 +11,7 @@ use Encode qw/encode/;
 use Getopt::Long;
 use Config::IniFiles;
 
-use RedMiner::API;
+use Redminer;
 
 my $conf_fname   = $ENV{HOME} . '/.redminer/redminer.conf';
 my $layout_fname = $ENV{HOME} . '/.redminer/default-layout.conf';
@@ -44,7 +44,7 @@ if (!$layout) {
 	warn 'Unable to access layout config';
 }
 
-my $redminer = RedMiner::API->new(
+my $redminer = Redminer->new(
 	host              => $conf->val('redmine', 'host') // '',
 	user              => $conf->val('redmine', 'user') // '',
 	pass              => $conf->val('redmine', 'pass') // '',
diff --git a/t/00-use.t b/t/00-use.t
index 30126e4..6648bec 100644
--- a/t/00-use.t
+++ b/t/00-use.t
@@ -3,6 +3,6 @@ use warnings;
 
 use Test::More tests => 1;
 
-BEGIN { use_ok('RedMiner::API') };
+BEGIN { use_ok('Redminer') };
 
 exit;
diff --git a/t/01-dispatching.t b/t/01-dispatching.t
index f12bbf9..aa8f32a 100644
--- a/t/01-dispatching.t
+++ b/t/01-dispatching.t
@@ -3,12 +3,12 @@ use warnings;
 
 use Test::More tests => 29;
 
-eval 'use RedMiner::API';
+eval 'use Redminer';
 
 #
 # Testing internal name dispatching with a dummy object
 #
-my $redminer = RedMiner::API->new(
+my $redminer = Redminer->new(
 	host => '', 
 	key  => '',
 );
diff --git a/t/02-realworld.t b/t/02-realworld.t
index 0c827ba..f8290f6 100644
--- a/t/02-realworld.t
+++ b/t/02-realworld.t
@@ -4,13 +4,13 @@ use warnings;
 use Test::More;
 use JSON::XS qw/encode_json/;
 
-if ($ENV{REDMINER_API_DEVEL}) {
-    plan tests => 5;
+if ($ENV{REDMINER_DEVEL}) {
+	plan tests => 5;
 } else{
-	plan skip_all => 'Development tests (REDMINER_API_DEVEL not set)';
+	plan skip_all => 'Development tests (REDMINER_DEVEL not set)';
 }
 
-eval 'use RedMiner::API';
+eval 'use Redminer';
 
 #
 # Read API key from a simple config file in the format 'host;key'
@@ -20,7 +20,7 @@ my $key  = '';
 my $key_fname = $ENV{HOME} . '/.redminer/key';
 
 if (!-e $key_fname) {
-	BAIL_OUT('REDMINER_API_DEVEL set, but key file is not accessible');
+	BAIL_OUT('REDMINER_DEVEL set, but key file is not accessible');
 }
 
 open my $FH_key, '<', $key_fname;
@@ -29,7 +29,7 @@ my $key_data  = <$FH_key>;
 chomp $key_data;
 close $FH_key;
 
-my $redminer = RedMiner::API->new(
+my $redminer = Redminer->new(
 	host => $host,
 	key  => $key,
 );
@@ -50,7 +50,7 @@ ok($redminer->updateProject($project_id, { project => { inherit_members => 1 } }
 
 my $issue = $redminer->createIssue({ issue => {
 	project_id  => $project_id,
-	subject     => 'Test issue for RedMiner::API',
+	subject     => 'Test issue for Redminer',
 	description => 'Test description',
 }});
 ok(defined $issue->{issue}{id}, 'Issue created with ID #' . $issue->{issue}{id});
diff --git a/t/03-realworld-no-wrapping.t b/t/03-realworld-no-wrapping.t
index 6650f30..c18d8f4 100644
--- a/t/03-realworld-no-wrapping.t
+++ b/t/03-realworld-no-wrapping.t
@@ -4,13 +4,13 @@ use warnings;
 use Test::More;
 use JSON::XS qw/encode_json/;
 
-if ($ENV{REDMINER_API_DEVEL}) {
-    plan tests => 5;
+if ($ENV{REDMINER_DEVEL}) {
+	plan tests => 5;
 } else{
-	plan skip_all => 'Development tests (REDMINER_API_DEVEL not set)';
+	plan skip_all => 'Development tests (REDMINER_DEVEL not set)';
 }
 
-eval 'use RedMiner::API';
+eval 'use Redminer';
 
 #
 # Read API key from a simple config file in the format 'host;key'
@@ -20,7 +20,7 @@ my $key  = '';
 my $key_fname = $ENV{HOME} . '/.redminer/key';
 
 if (!-e $key_fname) {
-	BAIL_OUT('REDMINER_API_DEVEL set, but key file is not accessible');
+	BAIL_OUT('REDMINER_DEVEL set, but key file is not accessible');
 }
 
 open my $FH_key, '<', $key_fname;
@@ -29,7 +29,7 @@ my $key_data  = <$FH_key>;
 chomp $key_data;
 close $FH_key;
 
-my $redminer = RedMiner::API->new(
+my $redminer = Redminer->new(
 	host => $host,
 	key  => $key,
 	no_wrapper_object => 1,
@@ -51,7 +51,7 @@ ok($redminer->updateProject($project_id, { inherit_members => 1 }), 'Project upd
 
 my $issue = $redminer->createIssue({
 	project_id  => $project_id,
-	subject     => 'Test issue for RedMiner::API',
+	subject     => 'Test issue for Redminer',
 	description => 'Test description',
 });
 ok(defined $issue->{id}, 'Issue created with ID #' . $issue->{id});
diff --git a/t/05-pod-coverage.t b/t/05-pod-coverage.t
index a71fd67..61f6bd1 100644
--- a/t/05-pod-coverage.t
+++ b/t/05-pod-coverage.t
@@ -8,4 +8,4 @@ plan skip_all => 'Test::Pod::Coverage required for testing pod coverage' if $@;
  
 plan tests => 1;
 
-pod_coverage_ok('RedMiner::API', 'RedMiner::API POD ok');
+pod_coverage_ok('Redminer', 'Redminer POD ok');
-- 
GitLab