Firefox-Marionette
view release on metacpan or search on metacpan
lib/Firefox/Marionette/UpdateStatus.pm view on Meta::CPAN
package Firefox::Marionette::UpdateStatus;
use strict;
use warnings;
use URI();
our $VERSION = '1.70';
sub _NUMBER_OF_MILLISECONDS_IN_A_SECOND { return 1000 }
sub new {
my ( $class, %parameters ) = @_;
my $self = bless \%parameters, $class;
return $self;
}
sub _convert_time_to_seconds {
my ( $self, $milliseconds ) = @_;
if ( defined $milliseconds ) {
my $seconds = $milliseconds / _NUMBER_OF_MILLISECONDS_IN_A_SECOND();
return int $seconds;
}
else {
return;
}
}
sub _resolve_to_boolean {
my ( $self, $key ) = @_;
if ( defined $self->{$key} ) {
return $self->{$key} ? 1 : 0;
}
else {
return;
}
}
sub successful {
my ($self) = @_;
return ( ( defined $self->{update_status_code} )
&& ( $self->{update_status_code} eq 'PENDING_UPDATE' ) );
}
sub update_status_code {
my ($self) = @_;
return $self->{update_status_code};
}
sub type {
my ($self) = @_;
return $self->{type};
}
sub service_url {
my ($self) = @_;
return URI->new( $self->{service_url} );
}
sub details_url {
my ($self) = @_;
return URI->new( $self->{details_url} );
}
sub selected_patch {
my ($self) = @_;
return $self->{selected_patch};
}
sub build_id {
my ($self) = @_;
return $self->{build_id};
}
sub channel {
my ($self) = @_;
return $self->{channel};
}
sub unsupported {
my ($self) = @_;
return $self->_resolve_to_boolean('unsupported');
}
sub status_text {
my ($self) = @_;
return $self->{status_text};
}
sub elevation_failure {
my ($self) = @_;
return $self->_resolve_to_boolean('elevation_failure');
}
sub display_version {
my ($self) = @_;
return $self->{display_version};
}
sub update_state {
my ($self) = @_;
return $self->{update_state};
}
sub name {
my ($self) = @_;
return $self->{name};
}
sub app_version {
my ($self) = @_;
return $self->{app_version};
}
sub error_code {
my ($self) = @_;
return $self->{error_code};
}
sub install_date {
my ($self) = @_;
return $self->_convert_time_to_seconds( $self->{install_date} );
}
sub patch_count {
my ($self) = @_;
return $self->{patch_count};
}
sub number_of_updates {
my ($self) = @_;
return $self->{number_of_updates};
}
sub is_complete_update {
my ($self) = @_;
return $self->_resolve_to_boolean('is_complete_update');
}
sub prompt_wait_time {
my ($self) = @_;
return $self->{prompt_wait_time};
}
sub previous_app_version {
my ($self) = @_;
return $self->{previous_app_version};
}
1; # Magic true value required at end of module
__END__
=head1 NAME
Firefox::Marionette::UpdateStatus - Represents the resulting status of an Firefox update
=head1 VERSION
Version 1.70
( run in 1.009 second using v1.01-cache-2.11-cpan-e93a5daba3e )