API-DeutscheBahn-Fahrplan

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

            "Test::MinimumVersion::Fast" : "0.04",
            "Test::PAUSE::Permissions" : "0.04",
            "Test::Pod" : "1.41",
            "Test::Spellunker" : "v0.2.7"
         }
      },
      "runtime" : {
         "requires" : {
            "Carp" : "1.50",
            "HTTP::Tiny" : "0.076",
            "JSON::XS" : "3.04",
            "Moose" : "2.20",
            "URI" : "1.74",
            "URI::Encode" : "v1.1.1",
            "URI::QueryParam" : "1.74",
            "namespace::autoclean" : "0",
            "perl" : "5.008001"
         }
      },
      "test" : {
         "requires" : {

META.yml  view on Meta::CPAN

    - examples
    - author
    - builder
provides:
  API::DeutscheBahn::Fahrplan:
    file: lib/API/DeutscheBahn/Fahrplan.pm
    version: '0.02'
requires:
  Carp: '1.50'
  HTTP::Tiny: '0.076'
  JSON::XS: '3.04'
  Moose: '2.20'
  URI: '1.74'
  URI::Encode: v1.1.1
  URI::QueryParam: '1.74'
  namespace::autoclean: '0'
  perl: '5.008001'
resources:
  bugtracker: https://github.com/Edward-Francis/API-DeutscheBahn-Fahrplan/issues
  homepage: https://github.com/Edward-Francis/API-DeutscheBahn-Fahrplan
  repository: git://github.com/Edward-Francis/API-DeutscheBahn-Fahrplan.git

cpanfile  view on Meta::CPAN

requires 'perl', '5.008001';

requires 'Carp', '1.50';
requires 'HTTP::Tiny', '0.076';
requires 'JSON::XS', '3.04';
requires 'Moose', '2.20';
requires 'URI', '1.74';
requires 'URI::Encode', '1.1.1';
requires 'URI::QueryParam', '1.74';
requires 'namespace::autoclean', '0';

on 'test' => sub {
    requires 'Test::Most', '0.35';
};

lib/API/DeutscheBahn/Fahrplan.pm  view on Meta::CPAN


use Moose;
use namespace::autoclean;

# VERSION
our $VERSION = '0.02';

# IMPORTS
use Carp;
use HTTP::Tiny      ();
use JSON::XS        ();
use URI             ();
use URI::Encode qw(uri_encode);
use URI::QueryParam ();

=encoding utf-8

=head1 NAME

API::DeutscheBahn::Fahrplan - Deutsche Bahn Fahrplan API Client

lib/API/DeutscheBahn/Fahrplan.pm  view on Meta::CPAN

}


# PRIVATE METHODS


sub _request {
    my ( $self, $name, %args ) = @_;
    my ( $method, $uri ) = $self->_create_uri( $name, %args );
    my $response = $self->_client->$method($uri);
    return JSON::XS::decode_json $response->{content};
}


sub _create_uri {
    my ( $self, $name, %args ) = @_;

    my $uri        = $self->_base_uri;
    my $definition = $self->_api->{$name};
    my ( $method, $path ) = @{$definition}{qw(method path)};



( run in 0.492 second using v1.01-cache-2.11-cpan-a5abf4f5562 )