summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2013-06-08 15:10:21 -0500
committerJesse Luehrs <doy@tozt.net>2013-06-08 15:10:21 -0500
commit41060e3edf0b34aa0ed8bce3fe27f47377fa9a85 (patch)
tree247c117e940dad33c98b80c2c39e96f4b57eb596
parent47a3ee8663bb866d72583cb31ea8a89abb741fdd (diff)
downloadreply-41060e3edf0b34aa0ed8bce3fe27f47377fa9a85.tar.gz
reply-41060e3edf0b34aa0ed8bce3fe27f47377fa9a85.zip
document Reply::Config
-rw-r--r--lib/Reply/Config.pm43
1 files changed, 43 insertions, 0 deletions
diff --git a/lib/Reply/Config.pm b/lib/Reply/Config.pm
index ed1f53d..b23b623 100644
--- a/lib/Reply/Config.pm
+++ b/lib/Reply/Config.pm
@@ -1,11 +1,42 @@
package Reply::Config;
use strict;
use warnings;
+# ABSTRACT: config loading for Reply
use Config::INI::Reader::Ordered;
use File::HomeDir;
use File::Spec;
+=head1 SYNOPSIS
+
+ use Reply;
+ use Reply::Config;
+
+ Reply->new(config => Reply::Config->new(file => 'something_else'))->run;
+
+=head1 DESCRIPTION
+
+This class abstracts out the config file loading, so that other applications
+can start up Reply shells using similar logic. Reply configuration is specified
+in an INI format - see L<Reply> for more details.
+
+=cut
+
+=method new(%opts)
+
+Creates a new config object. Valid options are:
+
+=over 4
+
+=item file
+
+Configuration file to use. If the file is specified by a relative path, it will
+be relative to the user's home directory, otherwise it will be used as-is.
+
+=back
+
+=cut
+
sub new {
my $class = shift;
my %opts = @_;
@@ -28,8 +59,20 @@ sub new {
return $self;
}
+=method file
+
+Returns the absolute path to the config file that is to be used.
+
+=cut
+
sub file { shift->{file} }
+=method data
+
+Returns the loaded configuration data.
+
+=cut
+
sub data {
my $self = shift;