upgrade files as objects

This commit is contained in:
Graham Knop 2010-05-18 20:58:57 -05:00
parent 8326c63c1e
commit 4a61946399
7 changed files with 62 additions and 36 deletions

View file

@ -3,6 +3,14 @@ use Moose::Role;
requires 'run';
has file => ( is => 'ro' );
has configFile => ( is => 'ro' );
has version => ( is => 'ro' );
has upgrade => (
is => 'ro',
handles => [ 'quiet' ],
);
sub once { 0 }
1;

View file

@ -6,13 +6,12 @@ use namespace::autoclean -also => qr/^_/;
with 'WebGUI::Upgrade::File';
sub run {
my $class = shift;
my ($upgrade, $configFile, $version, $file) = @_;
my $self = shift;
local $ENV{WEBGUI_CONFIG} = $configFile;
local $ENV{WEBGUI_UPGRADE_VERSION} = $version;
local $ENV{WEBGUI_UPGRADE_QUIET} = $upgrade->quiet;
return _runScript($file);
local $ENV{WEBGUI_CONFIG} = $self->configFile;
local $ENV{WEBGUI_UPGRADE_VERSION} = $self->version;
local $ENV{WEBGUI_UPGRADE_QUIET} = $self->quiet;
return _runScript($self->file);
}
sub _runScript {

View file

@ -5,10 +5,9 @@ with 'WebGUI::Upgrade::File';
sub once { 1 }
sub run {
my $class = shift;
my ($upgrade, $configFile, $version, $file) = @_;
if ( ! $upgrade->quiet ) {
system { $^X } $^X, '-MPod::Perldoc', '-ePod::Perldoc->run', $file;
my $self = shift;
if ( ! $self->quiet ) {
system { $^X } $^X, '-MPod::Perldoc', '-ePod::Perldoc->run', $self->file;
}
return 1;

View file

@ -3,14 +3,13 @@ use Moose;
with 'WebGUI::Upgrade::File';
sub run {
my $class = shift;
my ($upgrade, $configFile, $version, $file) = @_;
my $self = shift;
my @command_line = (
$upgrade->mysql,
$upgrade->mysqlCommandLine($configFile),
$self->upgrade->mysql,
$self->upgrade->mysqlCommandLine($self->configFile),
'--batch',
'--execute=source ' . $file,
'--execute=source ' . $self->file,
);
system { $command_line[0] } @command_line

View file

@ -5,10 +5,9 @@ with 'WebGUI::Upgrade::File';
sub once { 1 }
sub run {
my $class = shift;
my ($upgrade, $configFile, $version, $file) = @_;
if ( ! $upgrade->quiet ) {
open my $fh, '<', $file;
my $self = shift;
if ( ! $self->quiet ) {
open my $fh, '<', $self->file;
while ( my $line = <$fh> ) {
print $line;
}

View file

@ -11,19 +11,18 @@ use Try::Tiny;
use namespace::clean;
sub run {
my $class = shift;
my ($upgrade, $configFile, $version, $file) = @_;
my $self = shift;
my $session = WebGUI::Session->open($configFile);
my $session = WebGUI::Session->open($self->configFile);
$session->user({userId => 3});
my $versionTag = WebGUI::VersionTag->getWorking($session);
(undef, undef, my $shortname) = File::Spec->splitpath($file);
(undef, undef, my $shortname) = File::Spec->splitpath($self->file);
$shortname =~ s/\.[^.]*$//;
$versionTag->set({name => "Upgrade to $version - $shortname"});
$versionTag->set({name => "Upgrade to @{[$self->version]} - $shortname"});
my $package = $class->import_package($session, $file);
if (! $upgrade->quiet) {
my $package = $class->import_package($session, $self->file);
if (! $self->quiet) {
printf "\tImported '%s'\n", $package->title;
}