Astro-Coord-ECI-TLE-Iridium
view release on metacpan or search on metacpan
inc/My/Module/Build.pm view on Meta::CPAN
or push @depends_on, 'build';
-e 'META.json'
or push @depends_on, 'distmeta';
@depends_on
and $self->depends_on( @depends_on );
return;
}
sub harness_switches {
my ( $self ) = @_;
my @res = $self->SUPER::harness_switches();
foreach ( @res ) {
'-MDevel::Cover' eq $_
or next;
$_ .= '=-db,cover_db,-ignore,inc/';
}
return @res;
}
1;
lib/Astro/Coord/ECI/TLE/Iridium.pm view on Meta::CPAN
return;
}
}
# see Astro::Coord::ECI->attribute ();
sub attribute {
my ($self, $name) = @_;
return exists $accessor{$name} ?
__PACKAGE__ :
$self->SUPER::attribute ($name);
}
=item $tle->before_reblessing ()
This method supports reblessing into a subclass. It is intended to do
any cleanup the old class needs before reblessing into the new class. It
is called by rebless(), and should not be called by the user.
At this level of the inheritance hierarchy, it removes the status
attribute.
lib/Astro/Coord/ECI/TLE/Iridium.pm view on Meta::CPAN
This method returns the value of the given attribute. Attributes other
than 'status' are delegated to the parent.
=cut
sub get {
my $self = shift;
my $name = shift;
if (!$accessor{$name}) {
return $self->SUPER::get ($name);
} elsif (ref $self) {
return $accessor{$name}->($self, $name);
} else {
return $accessor{$name}->(\%statatr, $name);
}
}
# $status = _make_status ($message);
# This subroutine returns a reference to a hash with key 'status'
lib/Astro/Coord/ECI/TLE/Iridium.pm view on Meta::CPAN
attribute is used. If that is not set, and exception is thrown.
This method calls the superclass' C<magnitude()>, and returns C<undef>
if the superclass does. Otherwise it adds to the magnitude of the body
itself the magnitude of any flare in progress, and returns the result.
=cut
sub magnitude {
my ( $self, $sta ) = __default_station( @_ );
defined( my $mag = $self->SUPER::magnitude( $sta ) )
or return undef; ## no critic (ProhibitExplicitReturnUndef)
my $time = $self->universal();
my @flare = grep { defined }
map { $_->{magnitude} }
$self->reflection( $sta, $time );
@flare
and $mag = add_magnitudes( $mag, @flare );
return $mag;
}
lib/Astro/Coord/ECI/TLE/Iridium.pm view on Meta::CPAN
Attributes other than 'status' are delegated to the parent.
=cut
sub set {
my ($self, @args) = @_;
while (@args) {
my $name = shift @args;
my $value = shift @args;
if (!$mutator{$name}) {
$self->SUPER::set ($name, $value);
} elsif (ref $self) {
$mutator{$name}->($self, $name, $value);
} else {
$mutator{$name}->(\%statatr, $name, $value);
}
}
return $self;
}
# For use of -am and -pm
lib/Astro/Coord/ECI/TLE/Iridium.pm view on Meta::CPAN
}
}
}
sub __parse_name {
my ( $self, $name ) = @_;
defined $name
and $name =~ s/ \s* [[] ( \S ) []] \s* \z //smx
and $self->_set_operational_status( status => $1 );
return $self->SUPER::__parse_name( $name );
}
{
my @encode_status;
$encode_status[BODY_STATUS_IS_OPERATIONAL] = '+';
$encode_status[BODY_STATUS_IS_SPARE] = 'S';
$encode_status[BODY_STATUS_IS_TUMBLING] = '-';
$encode_status[BODY_STATUS_IS_DECAYED] = 'D';
sub __encode_operational_status {
lib/Astro/Coord/ECI/TLE/Iridium.pm view on Meta::CPAN
{
my %json_map = (
operational_status => \&__encode_operational_status,
);
sub TO_JSON {
my ( $self ) = @_;
return $self->__to_json(
\%json_map,
$self->SUPER::TO_JSON(),
);
}
}
# All Iridium Classic satellites.
#
# Generated by Astro::SpaceTrack
# $ tools/all_iridium_classic -iridium -indent=0
# on Mon Jun 29 12:08:42 2020 GMT
#
( run in 0.295 second using v1.01-cache-2.11-cpan-a9ef4e587e4 )