diff options
author | Jesse Luehrs <doy@tozt.net> | 2013-06-08 13:56:03 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2013-06-08 13:56:03 -0500 |
commit | cef5feaae1d2472e2d2b5090d680dd3d7289d76d (patch) | |
tree | e89d4503366b970ff9f71cde2e006ac4f8f19ad2 /lib/Reply/Config.pm | |
parent | 1d7c2a0959a8e91ff3d6ccb279fd6928d397e602 (diff) | |
download | reply-cef5feaae1d2472e2d2b5090d680dd3d7289d76d.tar.gz reply-cef5feaae1d2472e2d2b5090d680dd3d7289d76d.zip |
split out config handling
Diffstat (limited to 'lib/Reply/Config.pm')
-rw-r--r-- | lib/Reply/Config.pm | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/lib/Reply/Config.pm b/lib/Reply/Config.pm new file mode 100644 index 0000000..ed1f53d --- /dev/null +++ b/lib/Reply/Config.pm @@ -0,0 +1,39 @@ +package Reply::Config; +use strict; +use warnings; + +use Config::INI::Reader::Ordered; +use File::HomeDir; +use File::Spec; + +sub new { + my $class = shift; + my %opts = @_; + + $opts{file} = '.replyrc' + unless defined $opts{file}; + + my $file = File::Spec->catfile( + (File::Spec->file_name_is_absolute($opts{file}) + ? () + : (File::HomeDir->my_home)), + $opts{file} + ); + + my $self = bless {}, $class; + + $self->{file} = $file; + $self->{config} = Config::INI::Reader::Ordered->new; + + return $self; +} + +sub file { shift->{file} } + +sub data { + my $self = shift; + + return $self->{config}->read_file($self->{file}); +} + +1; |