From cef5feaae1d2472e2d2b5090d680dd3d7289d76d Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Sat, 8 Jun 2013 13:56:03 -0500 Subject: split out config handling --- lib/Reply/Config.pm | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 lib/Reply/Config.pm (limited to 'lib/Reply') 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; -- cgit v1.2.3-54-g00ecf