NAME

Net::API::CPAN::Release - Meta CPAN API Release Class

SYNOPSIS

use Net::API::CPAN::Release;
my $obj = Net::API::CPAN::Release->new( {
  abstract => "Japan Folklore Object Class",
  archive => "Folklore-Japan-v1.2.3.tar.gz",
  author => "MOMOTARO",
  authorized => \1,
  changes_file => "CHANGES",
  checksum_md5 => "71682907d95a4b0a4b74da8c16e88d2d",
  checksum_sha256 => "27d4da9e772bc1922618b36fdefa768344d92c3d65a5e3cc427218cfc8d7491d",
  date => "2023-07-29T05:10:12",
  dependency => [
    {
      module => "ExtUtils::MakeMaker",
      phase => "configure",
      relationship => "requires",
      version => 0,
    },
    {
      module => "ExtUtils::MakeMaker",
      phase => "build",
      relationship => "requires",
      version => 0,
    },
    {
      module => "Module::Generic",
      phase => "runtime",
      relationship => "requires",
      version => "v0.30.6",
    },
    {
      module => "DateTime::Format::JP",
      phase => "runtime",
      relationship => "requires",
      version => "v0.1.3",
    },
    {
      module => "Mock::Person::JP",
      phase => "runtime",
      relationship => "requires",
      version => "0.07",
    },
    {
      module => "Net::Airline::ANA",
      phase => "runtime",
      relationship => "requires",
      version => "2.34",
    },
    {
      module => "Transport::Limousine::Bus",
      phase => "runtime",
      relationship => "requires",
      version => "3.45",
    },
    {
      module => "Net::Reservation::KorakuenGarden",
      phase => "runtime",
      relationship => "requires",
      version => "v0.2.3",
    },
    {
      module => "Net::Reservation::OkayamaCastle",
      phase => "runtime",
      relationship => "requires",
      version => "4.03",
    },
    {
      module => "strict",
      phase => "runtime",
      relationship => "requires",
      version => 0,
    },
    {
      module => "warnings",
      phase => "runtime",
      relationship => "requires",
      version => 0,
    },
    {
      module => "parent",
      phase => "runtime",
      relationship => "requires",
      version => 0,
    },
    {
      module => "perl",
      phase => "runtime",
      relationship => "requires",
      version => "5.026001",
    },
    {
      module => "Test::Pod",
      phase => "test",
      relationship => "requires",
      version => "1.52",
    },
    {
      module => "Test::More",
      phase => "test",
      relationship => "requires",
      version => "1.302162",
    },
  ],
  deprecated => \0,
  distribution => "Folklore-Japan",
  download_url => "https://cpan.metacpan.org/authors/id/M/MO/MOMOTARO/Folklore-Japan-v0.30.5.tar.gz",
  first => \0
,
  id => "Wo09n3d3er4s_56Of7_J8ap9an",
  license => [
    "perl_5",
  ],
  main_module => "Folklore::Japan",
  maturity => "released",
  metadata => {
    abstract => "Japan Folklore Object Class",
    author => [
      "Taro Momo <momo.taro\@example.jp>",
    ],
    dynamic_config => 1,
    generated_by => "ExtUtils::MakeMaker version 7.64, CPAN::Meta::Converter version 2.150010, CPAN::Meta::Converter version 2.150005",
    license => [
      "perl_5",
    ],
    "meta-spec" => {
      url => "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
      version => 2,
    },
    name => "Folklore-Japan",
    no_index => {
      directory => [
        "t",
        "inc",
        "t",
        "xt",
        "inc",
        "local",
        "perl5",
        "fatlib",
        "example",
        "blib",
        "examples",
        "eg",
      ],
    },
    prereqs => {
      build => {
        requires => {
          "ExtUtils::MakeMaker" => 0,
        },
      },
      configure => {
        requires => {
          "ExtUtils::MakeMaker" => 0,
        },
      },
      runtime => {
        requires => {
          "DateTime::Format::JP" => "v0.1.3",
          "ExtUtils::MakeMaker" => 0,
          "Mock::Person::JP" => "0.07",
          "Module::Generic" => "v0.30.6",
          "Net::Airline::ANA" => "2.34",
          "Net::Reservation::KorakuenGarden" => "v0.2.3",
          "Net::Reservation::OkayamaCastle" => "4.03",
          "Test::More" => "1.302162",
          "Test::Pod" => "1.52",
          "Transport::Limousine::Bus" => "3.45",
          parent => 0,
          perl => "5.026001",
          strict => 0,
          warnings => 0,
        },
      },
      test => {
        requires => {
          "Test::More" => "1.302162",
          "Test::Pod" => "1.52",
        },
      },
    },
    release_status => "stable",
    resources => {
      bugtracker => {
        web => "https://gitlab.com/momotaro/Folklore-Japan/issues",
      },
      homepage => {
        web => "https://www.okayama-japan.jp/en/feature/momotaro",
      },
      repository => {
        type => "git",
        web => "https://gitlab.com/momotaro/Folklore-Japan",
      },
    },
    version => "v1.2.3",
  },
  name => "Folklore-Japan-v1.2.3",
  provides => [
    "Folklore::Japan",
    "Folklore::Japan::AmaterasuOmikami",
    "Folklore::Japan::Izumo",
    "Folklore::Japan::Kintaro",
    "Folklore::Japan::Kitsune",
    "Folklore::Japan::Kojiki",
    "Folklore::Japan::MomoTaro",
    "Folklore::Japan::NihonShoki",
    "Folklore::Japan::Okayama",
    "Folklore::Japan::Susanoo",
    "Folklore::Japan::Tanuki",
    "Folklore::Japan::Tengu",
    "Folklore::Japan::UrashimaTaro",
  ],
  resources => {
    bugtracker => {
      web => "https://gitlab.com/momotaro/Folklore-Japan/issues",
    },
    repository => {
      type => "git",
      web => "https://gitlab.com/momotaro/Folklore-Japan",
    },
  },
  stat => {
    gid => 12345,
    mode => 33188,
    mtime => 1690618397,
    size => 10240,
    uid => 16790,
  },
  status => "latest",
  version => "v1.2.3",
  version_numified => "1.002003",
} ) || die( Net::API::CPAN::Release->error );

my $string = $obj->abstract;
my $string = $obj->archive;
my $string = $obj->author;
my $bool = $obj->authorized;
my $string = $obj->changes_file;
my $string = $obj->checksum_md5;
my $string = $obj->checksum_sha256;
my $date = $obj->date;
my $array = $obj->dependency;
foreach my $this ( @$array )
{
    my $scalar = $this->module;
    my $scalar = $this->phase;
    my $scalar = $this->relationship;
    my $HASH(0xaaaac89729f0) = $this->version;
}
my $bool = $obj->deprecated;
my $string = $obj->distribution;
my $uri = $obj->download_url;
my $bool = $obj->first;
my $string = $obj->id;
my $array = $obj->license;
my $string = $obj->main_module;
my $string = $obj->maturity;
my $this = $obj->metadata;
my $scalar = $obj->metadata->abstract;
my $array = $obj->metadata->author;
my $boolean = $obj->metadata->dynamic_config;
my $scalar = $obj->metadata->generated_by;
my $array = $obj->metadata->license;
my $meta_spec_obj = $obj->metadata->meta_spec;
my $scalar = $obj->metadata->name;
my $no_index_obj = $obj->metadata->no_index;
my $prereqs_obj = $obj->metadata->prereqs;
my $scalar = $obj->metadata->release_status;
my $resources_obj = $obj->metadata->resources;
my $version_obj = $obj->metadata->version;
my $float = $obj->metadata->version_numified;
my $x_contributors_obj = $obj->metadata->x_contributors;
my $x_generated_by_perl_obj = $obj->metadata->x_generated_by_perl;
my $x_serialization_backend_obj = $obj->metadata->x_serialization_backend;
my $x_spdx_expression_obj = $obj->metadata->x_spdx_expression;
my $x_static_install_obj = $obj->metadata->x_static_install;
my $string = $obj->name;
my $str = $obj->object;
my $array = $obj->provides;
my $this = $obj->resources;
my $bugtracker_obj = $obj->resources->bugtracker;
my $homepage_obj = $obj->resources->homepage;
my $array = $obj->resources->license;
my $repository_obj = $obj->resources->repository;
my $this = $obj->stat;
my $integer = $obj->stat->gid;
my $integer = $obj->stat->mode;
my $datetime = $obj->stat->mtime;
my $integer = $obj->stat->size;
my $integer = $obj->stat->uid;
my $string = $obj->status;
my $this = $obj->tests;
my $integer = $obj->tests->fail;
my $integer = $obj->tests->na;
my $integer = $obj->tests->pass;
my $integer = $obj->tests->unknown;
my $vers = $obj->version;
my $num = $obj->version_numified;

VERSION

v0.1.0

DESCRIPTION

This class serves to retrieve and manipulate releases.

It inherits from Net::API::CPAN::Generic

CONSTRUCTOR

new

Provided with an hash or hash reference of parameters, and this instantiates a new Net::API::CPAN::Release object.

The parameters that can be provided bear the same name and supports the same values as the methods below.

METHODS

abstract

$obj->abstract( "Japan Folklore Object Class" );
my $string = $obj->abstract;

Sets or gets a string and returns a scalar object, even if there is no value.

archive

$obj->archive( "Folklore-Japan-v1.2.3.tar.gz" );
my $string = $obj->archive;

Sets or gets a string and returns a scalar object, even if there is no value.

author

$obj->author( "MOMOTARO" );
my $string = $obj->author;

Sets or gets a string and returns a scalar object, even if there is no value.

authorized

$obj->authorized(1);
my $bool = $obj->authorized;

Sets or gets a boolean value, and returns a boolean object or undef if no value is set.

changes_file

$obj->changes_file( "CHANGES" );
my $string = $obj->changes_file;

Sets or gets a string and returns a scalar object, even if there is no value.

checksum_md5

$obj->checksum_md5( "71682907d95a4b0a4b74da8c16e88d2d" );
my $string = $obj->checksum_md5;

Sets or gets a string and returns a scalar object, even if there is no value.

checksum_sha256

$obj->checksum_sha256( "27d4da9e772bc1922618b36fdefa768344d92c3d65a5e3cc427218cfc8d7491d" );
my $string = $obj->checksum_sha256;

Sets or gets a string and returns a scalar object, even if there is no value.

date

$obj->date( "2023-07-29T05:10:12" );
my $datetime_obj = $obj->date;

Sets or gets a datetime value, and returns a DateTime object that stringifies to the format that was provided with the string set (usally an ISO 8601 datetime format) or undef if no value is set.

dependency

$obj->dependency( [
  {
    module => "ExtUtils::MakeMaker",
    phase => "configure",
    relationship => "requires",
    version => 0,
  },
  {
    module => "ExtUtils::MakeMaker",
    phase => "build",
    relationship => "requires",
    version => 0,
  },
  {
    module => "Module::Generic",
    phase => "runtime",
    relationship => "requires",
    version => "v0.30.6",
  },
  {
    module => "DateTime::Format::JP",
    phase => "runtime",
    relationship => "requires",
    version => "v0.1.3",
  },
  {
    module => "Mock::Person::JP",
    phase => "runtime",
    relationship => "requires",
    version => "0.07",
  },
  {
    module => "Net::Airline::ANA",
    phase => "runtime",
    relationship => "requires",
    version => "2.34",
  },
  {
    module => "Transport::Limousine::Bus",
    phase => "runtime",
    relationship => "requires",
    version => "3.45",
  },
  {
    module => "Net::Reservation::KorakuenGarden",
    phase => "runtime",
    relationship => "requires",
    version => "v0.2.3",
  },
  {
    module => "Net::Reservation::OkayamaCastle",
    phase => "runtime",
    relationship => "requires",
    version => "4.03",
  },
  {
    module => "strict",
    phase => "runtime",
    relationship => "requires",
    version => 0,
  },
  {
    module => "warnings",
    phase => "runtime",
    relationship => "requires",
    version => 0,
  },
  {
    module => "parent",
    phase => "runtime",
    relationship => "requires",
    version => 0,
  },
  {
    module => "perl",
    phase => "runtime",
    relationship => "requires",
    version => "5.026001",
  },
  {
    module => "Test::Pod",
    phase => "test",
    relationship => "requires",
    version => "1.52",
  },
  {
    module => "Test::More",
    phase => "test",
    relationship => "requires",
    version => "1.302162",
  },
] );
my $array = $obj->dependency;
foreach my $this ( @$array )
{
    $this->module( "ExtUtils::MakeMaker" );
    my $scalar = $this->module;
    $this->phase( "configure" );
    my $scalar = $this->phase;
    $this->relationship( "requires" );
    my $scalar = $this->relationship;
    $this->version( 0 );
    my $HASH(0xaaaac89729f0) = $this->version;
}

Sets or gets an array of dynamic class objects with class name Net::API::CPAN::Release::Dependency and having the folowing properties also accessible as methods, and returns an array object even if there is no value.

A Net::API::CPAN::Release::Dependency object will be instantiated with each value from the array provided and replace said value.

  • module scalar_as_object

  • phase scalar_as_object

  • relationship scalar_as_object

  • version version object

deprecated

$obj->deprecated(1);
my $bool = $obj->deprecated;

Sets or gets a boolean value, and returns a boolean object or undef if no value is set.

distribution

$obj->distribution( "Folklore-Japan" );
my $string = $obj->distribution;

Sets or gets a string and returns a scalar object, even if there is no value.

download_url

$obj->download_url( "https://cpan.metacpan.org/authors/id/M/MO/MOMOTARO/Folklore-Japan-v0.30.5.tar.gz" );
my $uri = $obj->download_url;

Sets or gets an URI, and returns an URI object or undef if no value is set.

first

$obj->first(1);
my $bool = $obj->first;

Sets or gets a boolean value, and returns a boolean object or undef if no value is set.

id

$obj->id( "Wo09n3d3er4s_56Of7_J8ap9an" );
my $string = $obj->id;

Sets or gets a string and returns a scalar object, even if there is no value.

license

$obj->license( [
  "perl_5",
] );
my $array = $obj->license;

Sets or gets an array of licenses and returns an array object, even if there is no value.

main_module

$obj->main_module( "Folklore::Japan" );
my $string = $obj->main_module;

Sets or gets a string and returns a scalar object, even if there is no value.

maturity

$obj->maturity( "released" );
my $string = $obj->maturity;

Sets or gets a string and returns a scalar object, even if there is no value.

metadata

$obj->metadata( {
  abstract => "Japan Folklore Object Class",
  author => [
    "Taro Momo <momo.taro\@example.jp>",
  ],
  dynamic_config => 1,
  generated_by => "ExtUtils::MakeMaker version 7.64, CPAN::Meta::Converter version 2.150010, CPAN::Meta::Converter version 2.150005",
  license => [
    "perl_5",
  ],
  "meta-spec" => {
    url => "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
    version => 2,
  },
  name => "Folklore-Japan",
  no_index => {
    directory => [
      "t",
      "inc",
      "t",
      "xt",
      "inc",
      "local",
      "perl5",
      "fatlib",
      "example",
      "blib",
      "examples",
      "eg",
    ],
  },
  prereqs => {
    build => {
      requires => {
        "ExtUtils::MakeMaker" => 0,
      },
    },
    configure => {
      requires => {
        "ExtUtils::MakeMaker" => 0,
      },
    },
    runtime => {
      requires => {
        "DateTime::Format::JP" => "v0.1.3",
        "ExtUtils::MakeMaker" => 0,
        "Mock::Person::JP" => "0.07",
        "Module::Generic" => "v0.30.6",
        "Net::Airline::ANA" => "2.34",
        "Net::Reservation::KorakuenGarden" => "v0.2.3",
        "Net::Reservation::OkayamaCastle" => "4.03",
        "Test::More" => "1.302162",
        "Test::Pod" => "1.52",
        "Transport::Limousine::Bus" => "3.45",
        parent => 0,
        perl => "5.026001",
        strict => 0,
        warnings => 0,
      },
    },
    test => {
      requires => {
        "Test::More" => "1.302162",
        "Test::Pod" => "1.52",
      },
    },
  },
  release_status => "stable",
  resources => {
    bugtracker => {
      web => "https://gitlab.com/momotaro/Folklore-Japan/issues",
    },
    homepage => {
      web => "https://www.okayama-japan.jp/en/feature/momotaro",
    },
    repository => {
      type => "git",
      web => "https://gitlab.com/momotaro/Folklore-Japan",
    },
  },
  version => "v1.2.3",
} );
my $this = $obj->metadata;
$obj->metadata->abstract( "Japan Folklore Object Class" );
my $scalar = $obj->metadata->abstract;
$obj->metadata->author( [
  "Taro Momo <momo.taro\@example.jp>",
] );
my $array = $obj->metadata->author;
$obj->metadata->dynamic_config( 1 );
my $boolean = $obj->metadata->dynamic_config;
$obj->metadata->generated_by( "ExtUtils::MakeMaker version 7.64, CPAN::Meta::Converter version 2.150010, CPAN::Meta::Converter version 2.150005" );
my $scalar = $obj->metadata->generated_by;
$obj->metadata->license( [
  "perl_5",
] );
my $array = $obj->metadata->license;
my $meta_spec_obj = $obj->metadata->meta_spec;
$obj->metadata->name( "Folklore-Japan" );
my $scalar = $obj->metadata->name;
$obj->metadata->no_index( {
  directory => [
    "t",
    "inc",
    "t",
    "xt",
    "inc",
    "local",
    "perl5",
    "fatlib",
    "example",
    "blib",
    "examples",
    "eg",
  ],
} );
my $no_index_obj = $obj->metadata->no_index;
$obj->metadata->prereqs( {
  build => {
    requires => {
      "ExtUtils::MakeMaker" => 0,
    },
  },
  configure => {
    requires => {
      "ExtUtils::MakeMaker" => 0,
    },
  },
  runtime => {
    requires => {
      "DateTime::Format::JP" => "v0.1.3",
      "ExtUtils::MakeMaker" => 0,
      "Mock::Person::JP" => "0.07",
      "Module::Generic" => "v0.30.6",
      "Net::Airline::ANA" => "2.34",
      "Net::Reservation::KorakuenGarden" => "v0.2.3",
      "Net::Reservation::OkayamaCastle" => "4.03",
      "Test::More" => "1.302162",
      "Test::Pod" => "1.52",
      "Transport::Limousine::Bus" => "3.45",
      parent => 0,
      perl => "5.026001",
      strict => 0,
      warnings => 0,
    },
  },
  test => {
    requires => {
      "Test::More" => "1.302162",
      "Test::Pod" => "1.52",
    },
  },
} );
my $prereqs_obj = $obj->metadata->prereqs;
$obj->metadata->release_status( "stable" );
my $scalar = $obj->metadata->release_status;
$obj->metadata->resources( {
  bugtracker => {
    web => "https://gitlab.com/momotaro/Folklore-Japan/issues",
  },
  homepage => {
    web => "https://www.okayama-japan.jp/en/feature/momotaro",
  },
  repository => {
    type => "git",
    web => "https://gitlab.com/momotaro/Folklore-Japan",
  },
} );
my $resources_obj = $obj->metadata->resources;
$obj->metadata->version( "v1.2.3" );
my $version_obj = $obj->metadata->version;
my $float = $obj->metadata->version_numified;
my $x_contributors_obj = $obj->metadata->x_contributors;
my $x_generated_by_perl_obj = $obj->metadata->x_generated_by_perl;
my $x_serialization_backend_obj = $obj->metadata->x_serialization_backend;
my $x_spdx_expression_obj = $obj->metadata->x_spdx_expression;
my $x_static_install_obj = $obj->metadata->x_static_install;

Sets or gets a dynamic class object with class name Net::API::CPAN::Release::Metadata and having the folowing properties also accessible as methods, and returns an object from such class, or undef if no value was provided.

  • abstract scalar_as_object

  • author array (array object)

  • dynamic_config boolean (boolean object)

  • generated_by scalar_as_object

  • license array (array object)

  • meta_spec dynamic subclass (hash reference)

  • name scalar_as_object

  • no_index dynamic subclass (hash reference)

  • prereqs dynamic subclass (hash reference)

    • build dynamic subclass (hash reference)

      • recommends hash_as_object

      • requires hash_as_object

      • suggests hash_as_object

    • configure dynamic subclass (hash reference)

      • recommends hash_as_object

      • requires hash_as_object

      • suggests hash_as_object

    • develop dynamic subclass (hash reference)

      • recommends hash_as_object

      • requires hash_as_object

      • suggests hash_as_object

    • runtime dynamic subclass (hash reference)

      • recommends hash_as_object

      • requires hash_as_object

      • suggests hash_as_object

    • test dynamic subclass (hash reference)

      • recommends hash_as_object

      • requires hash_as_object

      • suggests hash_as_object

  • release_status scalar_as_object

  • resources dynamic subclass (hash reference)

  • version version object

  • version_numified integer (number object)

  • x_contributors array (array object)

  • x_generated_by_perl string

  • x_serialization_backend string

  • x_spdx_expression string

  • x_static_install string

name

$obj->name( "Folklore-Japan-v1.2.3" );
my $string = $obj->name;

Sets or gets a string and returns a scalar object, even if there is no value.

object

Returns the object type for this class, which is release

provides

$obj->provides( [
  "Folklore::Japan",
  "Folklore::Japan::AmaterasuOmikami",
  "Folklore::Japan::Izumo",
  "Folklore::Japan::Kintaro",
  "Folklore::Japan::Kitsune",
  "Folklore::Japan::Kojiki",
  "Folklore::Japan::MomoTaro",
  "Folklore::Japan::NihonShoki",
  "Folklore::Japan::Okayama",
  "Folklore::Japan::Susanoo",
  "Folklore::Japan::Tanuki",
  "Folklore::Japan::Tengu",
  "Folklore::Japan::UrashimaTaro",
] );
my $array = $obj->provides;

Sets or gets an array of module class names and returns an array object, even if there is no value.

resources

$obj->resources( {
  bugtracker => {
    web => "https://gitlab.com/momotaro/Folklore-Japan/issues",
  },
  repository => {
    type => "git",
    web => "https://gitlab.com/momotaro/Folklore-Japan",
  },
} );
my $this = $obj->resources;
$obj->resources->bugtracker( {
  web => "https://gitlab.com/momotaro/Folklore-Japan/issues",
} );
my $bugtracker_obj = $obj->resources->bugtracker;
my $homepage_obj = $obj->resources->homepage;
my $array = $obj->resources->license;
$obj->resources->repository( {
  type => "git",
  web => "https://gitlab.com/momotaro/Folklore-Japan",
} );
my $repository_obj = $obj->resources->repository;

Sets or gets a dynamic class object with class name Net::API::CPAN::Release::Resources and having the folowing properties also accessible as methods, and returns an object from such class, or undef if no value was provided.

stat

$obj->stat( {
  gid => 12345,
  mode => 33188,
  mtime => 1690618397,
  size => 10240,
  uid => 16790,
} );
my $this = $obj->stat;
$obj->stat->gid( 12345 );
my $integer = $obj->stat->gid;
$obj->stat->mode( 33188 );
my $integer = $obj->stat->mode;
$obj->stat->mtime( 1690618397 );
my $datetime = $obj->stat->mtime;
$obj->stat->size( 10240 );
my $integer = $obj->stat->size;
$obj->stat->uid( 16790 );
my $integer = $obj->stat->uid;

Sets or gets a dynamic class object with class name Net::API::CPAN::Release::Stat and having the folowing properties also accessible as methods, and returns an object from such class, or undef if no value was provided.

status

$obj->status( "latest" );
my $string = $obj->status;

Sets or gets a string and returns a scalar object, even if there is no value.

tests

Sets or gets a dynamic class object with class name Net::API::CPAN::Release::Tests and having the folowing properties also accessible as methods, and returns an object from such class, or undef if no value was provided.

version

$obj->version( "v1.2.3" );
my $version = $obj->version;

Sets or gets a version value and returns a version object using Changes::Version.

version_numified

$obj->version_numified("1.002003");
my $number = $obj->version_numified;

Sets or gets a float value, and returns a number object or undef if no value is set.

API SAMPLE

{
   "abstract" : "Japan Folklore Object Class",
   "archive" : "Folklore-Japan-v1.2.3.tar.gz",
   "author" : "MOMOTARO",
   "authorized" : true,
   "changes_file" : "CHANGES",
   "checksum_md5" : "71682907d95a4b0a4b74da8c16e88d2d",
   "checksum_sha256" : "27d4da9e772bc1922618b36fdefa768344d92c3d65a5e3cc427218cfc8d7491d",
   "date" : "2023-07-29T05:10:12",
   "dependency" : [
      {
         "module" : "ExtUtils::MakeMaker",
         "phase" : "configure",
         "relationship" : "requires",
         "version" : "0"
      },
      {
         "module" : "ExtUtils::MakeMaker",
         "phase" : "build",
         "relationship" : "requires",
         "version" : "0"
      },
      {
         "module" : "Module::Generic",
         "phase" : "runtime",
         "relationship" : "requires",
         "version" : "v0.30.6"
      },
      {
         "module" : "DateTime::Format::JP",
         "phase" : "runtime",
         "relationship" : "requires",
         "version" : "v0.1.3"
      },
      {
         "module" : "Mock::Person::JP",
         "phase" : "runtime",
         "relationship" : "requires",
         "version" : "0.07"
      },
      {
         "module" : "Net::Airline::ANA",
         "phase" : "runtime",
         "relationship" : "requires",
         "version" : "2.34"
      },
      {
         "module" : "Transport::Limousine::Bus",
         "phase" : "runtime",
         "relationship" : "requires",
         "version" : "3.45"
      },
      {
         "module" : "Net::Reservation::KorakuenGarden",
         "phase" : "runtime",
         "relationship" : "requires",
         "version" : "v0.2.3"
      },
      {
         "module" : "Net::Reservation::OkayamaCastle",
         "phase" : "runtime",
         "relationship" : "requires",
         "version" : "4.03"
      },
      {
         "module" : "strict",
         "phase" : "runtime",
         "relationship" : "requires",
         "version" : "0"
      },
      {
         "module" : "warnings",
         "phase" : "runtime",
         "relationship" : "requires",
         "version" : "0"
      },
      {
         "module" : "parent",
         "phase" : "runtime",
         "relationship" : "requires",
         "version" : "0"
      },
      {
         "module" : "perl",
         "phase" : "runtime",
         "relationship" : "requires",
         "version" : "5.026001"
      },
      {
         "module" : "Test::Pod",
         "phase" : "test",
         "relationship" : "requires",
         "version" : "1.52"
      },
      {
         "module" : "Test::More",
         "phase" : "test",
         "relationship" : "requires",
         "version" : "1.302162"
      }
   ],
   "deprecated" : false,
   "distribution" : "Folklore-Japan",
   "download_url" : "https://cpan.metacpan.org/authors/id/M/MO/MOMOTARO/Folklore-Japan-v0.30.5.tar.gz",
   "first" : false,
   "id" : "Wo09n3d3er4s_56Of7_J8ap9an",
   "license" : [
      "perl_5"
   ],
   "main_module" : "Folklore::Japan",
   "maturity" : "released",
   "metadata" : {
      "abstract" : "Japan Folklore Object Class",
      "author" : [
         "Taro Momo <momo.taro@example.jp>"
      ],
      "dynamic_config" : 1,
      "generated_by" : "ExtUtils::MakeMaker version 7.64, CPAN::Meta::Converter version 2.150010, CPAN::Meta::Converter version 2.150005",
      "license" : [
         "perl_5"
      ],
      "meta-spec" : {
         "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
         "version" : 2
      },
      "name" : "Folklore-Japan",
      "no_index" : {
         "directory" : [
            "t",
            "inc",
            "t",
            "xt",
            "inc",
            "local",
            "perl5",
            "fatlib",
            "example",
            "blib",
            "examples",
            "eg"
         ]
      },
      "prereqs" : {
         "build" : {
            "requires" : {
               "ExtUtils::MakeMaker" : "0"
            }
         },
         "configure" : {
            "requires" : {
               "ExtUtils::MakeMaker" : "0"
            }
         },
         "runtime" : {
            "requires" : {
               "DateTime::Format::JP" : "v0.1.3",
               "ExtUtils::MakeMaker" : "0",
               "Mock::Person::JP" : "0.07",
               "Module::Generic" : "v0.30.6",
               "Net::Airline::ANA" : "2.34",
               "Net::Reservation::KorakuenGarden" : "v0.2.3",
               "Net::Reservation::OkayamaCastle" : "4.03",
               "Test::More" : "1.302162",
               "Test::Pod" : "1.52",
               "Transport::Limousine::Bus" : "3.45",
               "parent" : "0",
               "perl" : "5.026001",
               "strict" : "0",
               "warnings" : "0"
            }
         },
         "test" : {
            "requires" : {
               "Test::More" : "1.302162",
               "Test::Pod" : "1.52",
            }
         }
      },
      "release_status" : "stable",
      "resources" : {
         "bugtracker" : {
            "web" : "https://gitlab.com/momotaro/Folklore-Japan/issues"
         },
         "repository" : {
            "type" : "git",
            "web" : "https://gitlab.com/momotaro/Folklore-Japan"
         },
         "homepage" : {
            "web" : "https://www.okayama-japan.jp/en/feature/momotaro"
         }
      },
      "version" : "v1.2.3",
   },
   "name" : "Folklore-Japan-v1.2.3",
   "provides" : [
      "Folklore::Japan",
      "Folklore::Japan::AmaterasuOmikami",
      "Folklore::Japan::Izumo",
      "Folklore::Japan::Kintaro",
      "Folklore::Japan::Kitsune",
      "Folklore::Japan::Kojiki",
      "Folklore::Japan::MomoTaro",
      "Folklore::Japan::NihonShoki",
      "Folklore::Japan::Okayama",
      "Folklore::Japan::Susanoo",
      "Folklore::Japan::Tanuki",
      "Folklore::Japan::Tengu",
      "Folklore::Japan::UrashimaTaro",
   ],
   "resources" : {
      "bugtracker" : {
         "web" : "https://gitlab.com/momotaro/Folklore-Japan/issues"
      },
      "repository" : {
         "type" : "git",
         "web" : "https://gitlab.com/momotaro/Folklore-Japan"
      }
   },
   "stat" : {
      "gid" : 12345,
      "mode" : 33188,
      "mtime" : 1690618397,
      "size" : 10240,
      "uid" : 16790
   },
   "status" : "latest",
   "version" : "v1.2.3",
   "version_numified" : 1.002003
}

AUTHOR

Jacques Deguest <jack@deguest.jp>

SEE ALSO

Net::API::CPAN, Net::API::CPAN::Activity, Net::API::CPAN::Author, Net::API::CPAN::Changes, Net::API::CPAN::Changes::Release, Net::API::CPAN::Contributor, Net::API::CPAN::Cover, Net::API::CPAN::Diff, Net::API::CPAN::Distribution, Net::API::CPAN::DownloadUrl, Net::API::CPAN::Favorite, Net::API::CPAN::File, Net::API::CPAN::Module, Net::API::CPAN::Package, Net::API::CPAN::Permission, Net::API::CPAN::Rating, Net::API::CPAN::Release

MetaCPAN::API, MetaCPAN::Client

https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md

COPYRIGHT & LICENSE

Copyright(c) 2023 DEGUEST Pte. Ltd.

All rights reserved

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.