package Devel::REPL::Script;
+our $VERSION = '1.003030';
+
use Moose;
use Devel::REPL;
-use File::HomeDir;
use File::Spec;
-use vars qw($CURRENT_SCRIPT);
+use Module::Runtime 'use_module';
use namespace::autoclean;
+our $CURRENT_SCRIPT;
+
with 'MooseX::Getopt';
has 'rcfile' => (
has 'profile' => (
is => 'ro',
isa => 'Str',
- default => sub { $ENV{DEVEL_REPL_PROFILE} || 'Default' },
+ default => sub { $ENV{DEVEL_REPL_PROFILE} || 'Minimal' },
);
has '_repl' => (
sub load_profile {
my ($self, $profile) = @_;
$profile = "Devel::REPL::Profile::${profile}" unless $profile =~ /::/;
- Class::MOP::load_class($profile);
+ use_module $profile;
confess "Profile class ${profile} doesn't do 'Devel::REPL::Profile'"
unless $profile->does('Devel::REPL::Profile');
$profile->new->apply_profile($self->_repl);
# plain name => ~/.re.pl/${rc_file}
if ($rc_file !~ m!/!) {
- $rc_file = File::Spec->catfile(File::HomeDir->my_home, '.re.pl', $rc_file);
+ $rc_file = File::Spec->catfile(($^O eq 'MSWin32' && "$]" < 5.016 ? $ENV{HOME} || $ENV{USERPROFILE} : (<~>)[0]), '.re.pl', $rc_file);
}
$self->apply_script($rc_file);