API-MailboxOrg

 view release on metacpan or  search on metacpan

MANIFEST  view on Meta::CPAN

lib/API/MailboxOrg/API/Blacklist.pm
lib/API/MailboxOrg/API/Capabilities.pm
lib/API/MailboxOrg/API/Context.pm
lib/API/MailboxOrg/API/Domain.pm
lib/API/MailboxOrg/API/Hello.pm
lib/API/MailboxOrg/API/Invoice.pm
lib/API/MailboxOrg/API/Mail.pm
lib/API/MailboxOrg/API/Mailinglist.pm
lib/API/MailboxOrg/API/Passwordreset.pm
lib/API/MailboxOrg/API/Spamprotect.pm
lib/API/MailboxOrg/API/Test.pm
lib/API/MailboxOrg/API/Utils.pm
lib/API/MailboxOrg/API/Validate.pm
lib/API/MailboxOrg/API/Videochat.pm
lib/API/MailboxOrg/APIBase.pm
lib/API/MailboxOrg/Types.pm
perlcritic.rc
t/001_base.t
t/002_hello-world.t
t/author-critic.t
t/author-no-bom.t

META.json  view on Meta::CPAN

   "name" : "API-MailboxOrg",
   "prereqs" : {
      "configure" : {
         "requires" : {
            "ExtUtils::MakeMaker" : "0"
         }
      },
      "develop" : {
         "requires" : {
            "Pod::Coverage::TrustPod" : "0",
            "Test::BOM" : "0",
            "Test::More" : "0.88",
            "Test::NoTabs" : "0",
            "Test::Perl::Critic" : "0",
            "Test::Pod" : "1.41",
            "Test::Pod::Coverage" : "1.08"
         }
      },
      "runtime" : {
         "requires" : {
            "Carp" : "0",
            "IO::Socket::SSL" : "0",
            "JSON::PP" : "0",
            "Mojolicious" : "8",
            "Moo" : "1.003001",
            "MooX::Singleton" : "0",

META.json  view on Meta::CPAN

            "Type::Library" : "1.012",
            "Type::Utils" : "1.012",
            "Types::Mojo" : "0.04",
            "Types::Standard" : "1.012",
            "perl" : "5.024"
         }
      },
      "test" : {
         "requires" : {
            "Pod::Coverage::TrustPod" : "0",
            "Test::Exception" : "0",
            "Test::More" : "0",
            "Test::RequiresInternet" : "0",
            "Test::Spec" : "0"
         }
      }
   },
   "provides" : {
      "API::MailboxOrg" : {
         "file" : "lib/API/MailboxOrg.pm",
         "version" : "v1.0.2"
      },
      "API::MailboxOrg::API::Account" : {
         "file" : "lib/API/MailboxOrg/API/Account.pm",

META.json  view on Meta::CPAN

         "version" : "v1.0.2"
      },
      "API::MailboxOrg::API::Passwordreset" : {
         "file" : "lib/API/MailboxOrg/API/Passwordreset.pm",
         "version" : "v1.0.2"
      },
      "API::MailboxOrg::API::Spamprotect" : {
         "file" : "lib/API/MailboxOrg/API/Spamprotect.pm",
         "version" : "v1.0.2"
      },
      "API::MailboxOrg::API::Test" : {
         "file" : "lib/API/MailboxOrg/API/Test.pm",
         "version" : "v1.0.2"
      },
      "API::MailboxOrg::API::Utils" : {
         "file" : "lib/API/MailboxOrg/API/Utils.pm",
         "version" : "v1.0.2"
      },
      "API::MailboxOrg::API::Validate" : {
         "file" : "lib/API/MailboxOrg/API/Validate.pm",
         "version" : "v1.0.2"
      },

META.yml  view on Meta::CPAN

---
abstract: 'Perl library to work with the API for the Mailbox.org API'
author:
  - 'Renee Baecker <reneeb@cpan.org>'
build_requires:
  Pod::Coverage::TrustPod: '0'
  Test::Exception: '0'
  Test::More: '0'
  Test::RequiresInternet: '0'
  Test::Spec: '0'
configure_requires:
  ExtUtils::MakeMaker: '0'
dynamic_config: 0
generated_by: 'Dist::Zilla version 6.012, CPAN::Meta::Converter version 2.150010'
license: artistic_2
meta-spec:
  url: http://module-build.sourceforge.net/META-spec-v1.4.html
  version: '1.4'
name: API-MailboxOrg
provides:

META.yml  view on Meta::CPAN

    version: v1.0.2
  API::MailboxOrg::API::Mailinglist:
    file: lib/API/MailboxOrg/API/Mailinglist.pm
    version: v1.0.2
  API::MailboxOrg::API::Passwordreset:
    file: lib/API/MailboxOrg/API/Passwordreset.pm
    version: v1.0.2
  API::MailboxOrg::API::Spamprotect:
    file: lib/API/MailboxOrg/API/Spamprotect.pm
    version: v1.0.2
  API::MailboxOrg::API::Test:
    file: lib/API/MailboxOrg/API/Test.pm
    version: v1.0.2
  API::MailboxOrg::API::Utils:
    file: lib/API/MailboxOrg/API/Utils.pm
    version: v1.0.2
  API::MailboxOrg::API::Validate:
    file: lib/API/MailboxOrg/API/Validate.pm
    version: v1.0.2
  API::MailboxOrg::API::Videochat:
    file: lib/API/MailboxOrg/API/Videochat.pm
    version: v1.0.2

Makefile.PL  view on Meta::CPAN

    "MooX::Singleton" => 0,
    "Params::ValidationCompiler" => "0.30",
    "Scalar::Util" => 0,
    "Type::Library" => "1.012",
    "Type::Utils" => "1.012",
    "Types::Mojo" => "0.04",
    "Types::Standard" => "1.012"
  },
  "TEST_REQUIRES" => {
    "Pod::Coverage::TrustPod" => 0,
    "Test::Exception" => 0,
    "Test::More" => 0,
    "Test::RequiresInternet" => 0,
    "Test::Spec" => 0
  },
  "VERSION" => "1.0.2",
  "test" => {
    "TESTS" => "t/*.t t/types/*.t"
  }
);


my %FallbackPrereqs = (
  "Carp" => 0,
  "IO::Socket::SSL" => 0,
  "JSON::PP" => 0,
  "Mojolicious" => 8,
  "Moo" => "1.003001",
  "MooX::Singleton" => 0,
  "Params::ValidationCompiler" => "0.30",
  "Pod::Coverage::TrustPod" => 0,
  "Scalar::Util" => 0,
  "Test::Exception" => 0,
  "Test::More" => 0,
  "Test::RequiresInternet" => 0,
  "Test::Spec" => 0,
  "Type::Library" => "1.012",
  "Type::Utils" => "1.012",
  "Types::Mojo" => "0.04",
  "Types::Standard" => "1.012"
);


unless ( eval { ExtUtils::MakeMaker->VERSION(6.63_03) } ) {
  delete $WriteMakefileArgs{TEST_REQUIRES};
  delete $WriteMakefileArgs{BUILD_REQUIRES};

cpanfile  view on Meta::CPAN

requires "Params::ValidationCompiler" => "0.30";
requires "Scalar::Util" => "0";
requires "Type::Library" => "1.012";
requires "Type::Utils" => "1.012";
requires "Types::Mojo" => "0.04";
requires "Types::Standard" => "1.012";
requires "perl" => "5.024";

on 'test' => sub {
    requires "Pod::Coverage::TrustPod" => "0";
    requires "Test::Exception" => "0";
    requires "Test::More" => "0";
    requires "Test::RequiresInternet" => "0";
    requires "Test::Spec" => "0";
};

on 'configure' => sub {
    requires "ExtUtils::MakeMaker" => "0";
};

on 'develop' => sub {
    requires "Pod::Coverage::TrustPod" => "0";
    requires "Test::BOM" => "0";
    requires "Test::More" => "0.88";
    requires "Test::NoTabs" => "0";
    requires "Test::Perl::Critic" => "0";
    requires "Test::Pod" => "1.41";
    requires "Test::Pod::Coverage" => "1.08";
};

dist.ini  view on Meta::CPAN

MooX::Singleton = 0
Mojolicious     = 8
Params::ValidationCompiler = 0.30
Scalar::Util    = 0
Type::Library   = 1.012
Type::Utils     = 1.012
Types::Mojo     = 0.04
Types::Standard = 1.012
perl            = 5.024

[Prereqs / TestRequires]
Test::Spec              = 0
Test::More              = 0
Test::Exception         = 0
Test::RequiresInternet  = 0
Pod::Coverage::TrustPod = 0

lib/API/MailboxOrg/API/Test.pm  view on Meta::CPAN

package API::MailboxOrg::API::Test;

# ABSTRACT: MailboxOrg::API::Test

# ---
# This class is auto-generated by bin/get_mailbox_api.pl
# ---

use v5.24;

use strict;
use warnings;

lib/API/MailboxOrg/API/Test.pm  view on Meta::CPAN

1;

__END__

=pod

=encoding UTF-8

=head1 NAME

API::MailboxOrg::API::Test - MailboxOrg::API::Test

=head1 VERSION

version 1.0.2

=head1 SYNOPSIS

    use API::MailboxOrg;

    my $user     = '1234abc';

lib/API/MailboxOrg/Types.pm  view on Meta::CPAN

API::MailboxOrg::Types - Types related to Mailbox.org API

=head1 VERSION

version 1.0.2

=head1 SYNOPSIS

    {
        package  # private package - do not index
            TestClass;

        use Moo;
        use API::MailboxOrg::Types qw(Boolean HashRefRestricted);

        has true_or_false => ( is => 'ro', isa => Boolean, coerce => 1 );
        has map           => ( is => 'ro', isa => HashRefRestricted[qw(a b)] ); # allow only keys a and b

        1;
    }

    my $obj = TestClass->new(
        true_or_false => 1,  # 0|1|""|undef|JSON::PP::Boolean object
        map  => {
            a => 1,
            b => 1,
            # a key 'c' would cause a 'die'
        },
    );

=head1 TYPES

t/001_base.t  view on Meta::CPAN

#!/usr/bin/perl

use strict;
use warnings;

use Test::More;

use Carp;
diag( "Carp: " . Carp->VERSION);

use Mojolicious;
diag( "Mojolicious: " . Mojolicious->VERSION);

use Moo;
diag( "Moo: " . Moo->VERSION);

t/001_base.t  view on Meta::CPAN

    $base . '::API::Blacklist'     => [qw/add del list/],
    $base . '::API::Capabilities'  => [qw/set/],
    $base . '::API::Context'       => [qw/list/],
    $base . '::API::Domain'        => [qw/add del get list set/],
    $base . '::API::Hello'         => [qw/innerworld world/],
    $base . '::API::Invoice'       => [qw/get list/],
    $base . '::API::Mailinglist'   => [qw/add del get list set/],
    $base . '::API::Mail'          => [qw/add del get list register set/],
    $base . '::API::Passwordreset' => [qw/listmethods sendsms setpassword/],
    $base . '::API::Spamprotect'   => [qw/get set/],
    $base . '::API::Test'          => [qw/accountallowed domainallowed/],
    $base . '::API::Utils'         => [qw/validator/],
    $base . '::API::Validate'      => [qw/spf/],
    $base . '::API::Videochat'     => [qw/add del update list/],
};

for my $mod ( sort keys %{$methods} ) {
    use_ok $mod;
}

for my $pkg ( sort keys %{$methods} ) {

t/002_hello-world.t  view on Meta::CPAN

#!/usr/bin/perl

use strict;
use warnings;

use Test::More;
use Test::RequiresInternet;

use API::MailboxOrg;

my $api = API::MailboxOrg->new(
    user     => 'dummy',
    password => 'dummy',
);

my $result = $api->hello->world;
is $result, "Hello World!";

t/author-critic.t  view on Meta::CPAN

  unless ($ENV{AUTHOR_TESTING}) {
    print qq{1..0 # SKIP these tests are for testing by the author\n};
    exit
  }
}


use strict;
use warnings;

use Test::Perl::Critic (-profile => "perlcritic.rc") x!! -e "perlcritic.rc";
all_critic_ok();

t/author-no-bom.t  view on Meta::CPAN

BEGIN {
  unless ($ENV{AUTHOR_TESTING}) {
    print qq{1..0 # SKIP these tests are for testing by the author\n};
    exit
  }
}

use strict;
use warnings;

# this test was generated with Dist::Zilla::Plugin::Test::NoBOM 0.002

use Test::More 0.88;
use Test::BOM;

my @files = (
    'lib/API/MailboxOrg.pm',
    'lib/API/MailboxOrg/API/Account.pm',
    'lib/API/MailboxOrg/API/Backup.pm',
    'lib/API/MailboxOrg/API/Base.pm',
    'lib/API/MailboxOrg/API/Blacklist.pm',
    'lib/API/MailboxOrg/API/Capabilities.pm',
    'lib/API/MailboxOrg/API/Context.pm',
    'lib/API/MailboxOrg/API/Domain.pm',
    'lib/API/MailboxOrg/API/Hello.pm',
    'lib/API/MailboxOrg/API/Invoice.pm',
    'lib/API/MailboxOrg/API/Mail.pm',
    'lib/API/MailboxOrg/API/Mailinglist.pm',
    'lib/API/MailboxOrg/API/Passwordreset.pm',
    'lib/API/MailboxOrg/API/Spamprotect.pm',
    'lib/API/MailboxOrg/API/Test.pm',
    'lib/API/MailboxOrg/API/Utils.pm',
    'lib/API/MailboxOrg/API/Validate.pm',
    'lib/API/MailboxOrg/API/Videochat.pm',
    'lib/API/MailboxOrg/APIBase.pm',
    'lib/API/MailboxOrg/Types.pm',
    't/001_base.t',
    't/002_hello-world.t',
    't/types/001_hashref_restricted.t',
    't/types/002_boolean.t'
);

t/author-no-tabs.t  view on Meta::CPAN

BEGIN {
  unless ($ENV{AUTHOR_TESTING}) {
    print qq{1..0 # SKIP these tests are for testing by the author\n};
    exit
  }
}

use strict;
use warnings;

# this test was generated with Dist::Zilla::Plugin::Test::NoTabs 0.15

use Test::More 0.88;
use Test::NoTabs;

my @files = (
    'lib/API/MailboxOrg.pm',
    'lib/API/MailboxOrg/API/Account.pm',
    'lib/API/MailboxOrg/API/Backup.pm',
    'lib/API/MailboxOrg/API/Base.pm',
    'lib/API/MailboxOrg/API/Blacklist.pm',
    'lib/API/MailboxOrg/API/Capabilities.pm',
    'lib/API/MailboxOrg/API/Context.pm',
    'lib/API/MailboxOrg/API/Domain.pm',
    'lib/API/MailboxOrg/API/Hello.pm',
    'lib/API/MailboxOrg/API/Invoice.pm',
    'lib/API/MailboxOrg/API/Mail.pm',
    'lib/API/MailboxOrg/API/Mailinglist.pm',
    'lib/API/MailboxOrg/API/Passwordreset.pm',
    'lib/API/MailboxOrg/API/Spamprotect.pm',
    'lib/API/MailboxOrg/API/Test.pm',
    'lib/API/MailboxOrg/API/Utils.pm',
    'lib/API/MailboxOrg/API/Validate.pm',
    'lib/API/MailboxOrg/API/Videochat.pm',
    'lib/API/MailboxOrg/APIBase.pm',
    'lib/API/MailboxOrg/Types.pm',
    't/001_base.t',
    't/002_hello-world.t',
    't/types/001_hashref_restricted.t',
    't/types/002_boolean.t'
);

t/author-pod-coverage.t  view on Meta::CPAN

#!perl

BEGIN {
  unless ($ENV{AUTHOR_TESTING}) {
    print qq{1..0 # SKIP these tests are for testing by the author\n};
    exit
  }
}

# This file was automatically generated by Dist::Zilla::Plugin::PodCoverageTests.

use Test::Pod::Coverage 1.08;
use Pod::Coverage::TrustPod;

all_pod_coverage_ok({ coverage_class => 'Pod::Coverage::TrustPod' });

t/author-pod-syntax.t  view on Meta::CPAN

#!perl

BEGIN {
  unless ($ENV{AUTHOR_TESTING}) {
    print qq{1..0 # SKIP these tests are for testing by the author\n};
    exit
  }
}

# This file was automatically generated by Dist::Zilla::Plugin::PodSyntaxTests.
use strict; use warnings;
use Test::More;
use Test::Pod 1.41;

all_pod_files_ok();

t/types/001_hashref_restricted.t  view on Meta::CPAN

#!/usr/bin/perl

use strict;
use warnings;

use Test::Spec;
use Test::Exception;

use File::Basename;
use lib dirname(__FILE__);

use API::MailboxOrg::Types qw(HashRefRestricted);

describe 'HashRefRestricted' => sub {
    it 'allows an empty hash' => sub {
        my $type = HashRefRestricted([qw/a b/]); # allow keys a and b only
        ok $type->( {} );

t/types/002_boolean.t  view on Meta::CPAN

#!/usr/bin/perl

use strict;
use warnings;

use Test::Spec;
use Test::Exception;

use File::Basename;
use lib dirname(__FILE__);

use API::MailboxOrg::Types qw(Boolean);
use JSON::PP;

{
    package  # private package - do not index
        TestClass;

    use Moo;
    use API::MailboxOrg::Types qw(Boolean);

    has true_or_false => ( is => 'rw', isa => Boolean, coerce => 1 );

    1;
}

describe 'Boolean' => sub {

t/types/002_boolean.t  view on Meta::CPAN

        ok $type->( $JSON::PP::true );
    };

    it 'allows a JSON::PP::false' => sub {
        my $type = Boolean();
        is $type->( $JSON::PP::false ), 0;
        isa_ok $type->( $JSON::PP::false ), 'JSON::PP::Boolean';
    };
};

describe "TestClass' true_or_false" => sub {

    it 'allows a JSON::PP::true' => sub {
        my $obj = TestClass->new;

        lives_ok {
            $obj->true_or_false( $JSON::PP::true );
        };

        is $obj->true_or_false, 1;
        isa_ok $obj->true_or_false, 'JSON::PP::Boolean';
    };

    it 'allows a JSON::PP::false' => sub {
        my $obj = TestClass->new;

        lives_ok {
            $obj->true_or_false( $JSON::PP::false );
        };

        is $obj->true_or_false, 0;
        isa_ok $obj->true_or_false, 'JSON::PP::Boolean';
    };

    it 'allows a 0' => sub {
        my $obj = TestClass->new;

        lives_ok {
            $obj->true_or_false( 0 );
        };

        is $obj->true_or_false, 0;
        isa_ok $obj->true_or_false, 'JSON::PP::Boolean';
    };

    it 'allows a 1' => sub {
        my $obj = TestClass->new;

        lives_ok {
            $obj->true_or_false( 1 );
        };

        is $obj->true_or_false, 1;
        isa_ok $obj->true_or_false, 'JSON::PP::Boolean';
    };

    it 'allows undef' => sub {
        my $obj = TestClass->new;

        lives_ok {
            $obj->true_or_false( undef );
        };

        is $obj->true_or_false, 0;
        isa_ok $obj->true_or_false, 'JSON::PP::Boolean';
    };

    it 'allows empty string' => sub {
        my $obj = TestClass->new;

        lives_ok {
            $obj->true_or_false( "" );
        };

        is $obj->true_or_false, 0;
        isa_ok $obj->true_or_false, 'JSON::PP::Boolean';
    };

    it 'doesn\'t allow any references' => sub {
        my $obj = TestClass->new;

        dies_ok {
            $obj->true_or_false( [] );
        };
    };

    it 'doesn\'t allow strings other than ""' => sub {
        my $obj = TestClass->new;

        dies_ok {
            $obj->true_or_false( "true" );
        };
    };
};

runtests if !caller;



( run in 0.605 second using v1.01-cache-2.11-cpan-4d50c553e7e )