# Modified from the original as a "mock" version for testing use strict; use warnings; use 5.006; # warnings package Software::License; our $VERSION = 9999; sub new { my ($class, $arg) = @_; # XXX changed from Carp::croak to die die "no copyright holder specified" unless $arg->{holder}; bless $arg => $class; } sub year { defined $_[0]->{year} ? $_[0]->{year} : (localtime)[5]+1900 } sub holder { $_[0]->{holder} } sub version { my ($self) = @_; my $pkg = ref $self ? ref $self : $self; $pkg =~ s/.+:://; my (undef, @vparts) = split /_/, $pkg; return unless @vparts; return join '.', @vparts; } # sub meta1_name { return undef; } # sort this out later, should be easy sub meta_name { return undef; } sub meta_yml_name { $_[0]->meta_name } sub meta2_name { my ($self) = @_; my $meta1 = $self->meta_name; return undef unless defined $meta1; return $meta1 if $meta1 =~ /\A(?:open_source|restricted|unrestricted|unknown)\z/; return undef; } # XXX these are trivial mocks of the real thing sub notice { 'NOTICE' } sub license { 'LICENSE' } sub fulltext { 'FULLTEXT' } 1;