Module: Devel::REPL::Plugin::* aus modules/override verschoben
authorMoritz Bunkus <m.bunkus@linet-services.de>
Fri, 29 Mar 2019 14:22:00 +0000 (15:22 +0100)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Fri, 29 Mar 2019 14:22:00 +0000 (15:22 +0100)
Es handelt sich um explizit für kivitendo geschriebene Module, daher
sind sie im override falsch.

Devel/REPL/Plugin/AutoloadModules.pm [new file with mode: 0644]
Devel/REPL/Plugin/PermanentHistory.pm [new file with mode: 0644]
modules/override/Devel/REPL/Plugin/AutoloadModules.pm [deleted file]
modules/override/Devel/REPL/Plugin/PermanentHistory.pm [deleted file]

diff --git a/Devel/REPL/Plugin/AutoloadModules.pm b/Devel/REPL/Plugin/AutoloadModules.pm
new file mode 100644 (file)
index 0000000..e36ee96
--- /dev/null
@@ -0,0 +1,29 @@
+package Devel::REPL::Plugin::AutoloadModules;
+
+use Moose::Role;
+use namespace::clean -except => [ 'meta' ];
+use Data::Dumper;
+
+has 'autoloaded' => ( is => 'rw', isa => 'HashRef', default => sub { {} } );
+
+my $re = qr/Runtime error: Can.t locate object method "\w+" via package "\w+" \(perhaps you forgot to load "(\w+)"\?\)/;
+around 'execute' => sub {
+  my $orig = shift;
+  my $self = shift;
+
+  my @re = $self->$orig(@_);                           # original call
+
+  return @re unless defined $re[0] && $re[0] =~ /$re/; # if there is no "perhaps you forgot" error, just return
+  my $module = $1;                                     # save the missing package name
+
+  return @re if $self->autoloaded->{$module};          # if we tried to load it before, give up and return the error
+
+  $self->autoloaded->{$module} = 1;                    # make sure we don't try this again
+  $self->eval("use SL::$module");                      # try to load the missing module
+
+  @re = $self->$orig(@_);                              # try again
+
+  return @re;
+};
+
+1;
diff --git a/Devel/REPL/Plugin/PermanentHistory.pm b/Devel/REPL/Plugin/PermanentHistory.pm
new file mode 100644 (file)
index 0000000..3a46b56
--- /dev/null
@@ -0,0 +1,39 @@
+package Devel::REPL::Plugin::PermanentHistory;
+
+use Moose::Role;
+use namespace::clean -except => [ 'meta' ];
+use File::Slurp;
+use Data::Dumper;
+
+has 'history_file' => ( is => 'rw' );
+
+sub load_history {
+  my $self = shift;
+  my $file = shift;
+
+  $self->history_file( $file );
+
+  return unless $self->history_file && -f $self->history_file;
+
+  my @history =
+    map { chomp; $_ }
+    read_file($self->history_file);
+#  print  Dumper(\@history);
+  $self->history( \@history );
+  $self->term->addhistory($_) for @history;
+}
+
+before 'DESTROY' => sub {
+  my $self = shift;
+
+  return unless $self->history_file;
+
+  write_file $self->history_file,
+    map { $_, $/ }
+    grep $_,
+    grep { !/^quit\b/ }
+    @{ $self->history };
+};
+
+1;
+
diff --git a/modules/override/Devel/REPL/Plugin/AutoloadModules.pm b/modules/override/Devel/REPL/Plugin/AutoloadModules.pm
deleted file mode 100644 (file)
index e36ee96..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-package Devel::REPL::Plugin::AutoloadModules;
-
-use Moose::Role;
-use namespace::clean -except => [ 'meta' ];
-use Data::Dumper;
-
-has 'autoloaded' => ( is => 'rw', isa => 'HashRef', default => sub { {} } );
-
-my $re = qr/Runtime error: Can.t locate object method "\w+" via package "\w+" \(perhaps you forgot to load "(\w+)"\?\)/;
-around 'execute' => sub {
-  my $orig = shift;
-  my $self = shift;
-
-  my @re = $self->$orig(@_);                           # original call
-
-  return @re unless defined $re[0] && $re[0] =~ /$re/; # if there is no "perhaps you forgot" error, just return
-  my $module = $1;                                     # save the missing package name
-
-  return @re if $self->autoloaded->{$module};          # if we tried to load it before, give up and return the error
-
-  $self->autoloaded->{$module} = 1;                    # make sure we don't try this again
-  $self->eval("use SL::$module");                      # try to load the missing module
-
-  @re = $self->$orig(@_);                              # try again
-
-  return @re;
-};
-
-1;
diff --git a/modules/override/Devel/REPL/Plugin/PermanentHistory.pm b/modules/override/Devel/REPL/Plugin/PermanentHistory.pm
deleted file mode 100644 (file)
index 3a46b56..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-package Devel::REPL::Plugin::PermanentHistory;
-
-use Moose::Role;
-use namespace::clean -except => [ 'meta' ];
-use File::Slurp;
-use Data::Dumper;
-
-has 'history_file' => ( is => 'rw' );
-
-sub load_history {
-  my $self = shift;
-  my $file = shift;
-
-  $self->history_file( $file );
-
-  return unless $self->history_file && -f $self->history_file;
-
-  my @history =
-    map { chomp; $_ }
-    read_file($self->history_file);
-#  print  Dumper(\@history);
-  $self->history( \@history );
-  $self->term->addhistory($_) for @history;
-}
-
-before 'DESTROY' => sub {
-  my $self = shift;
-
-  return unless $self->history_file;
-
-  write_file $self->history_file,
-    map { $_, $/ }
-    grep $_,
-    grep { !/^quit\b/ }
-    @{ $self->history };
-};
-
-1;
-