Marcus Ramberg > Mojo-YR-0.02 > Mojo::YR

Download:
Mojo-YR-0.02.tar.gz

Dependencies

Annotate this POD

Website

View/Report Bugs
Module Version: 0.02   Source   Latest Release: Mojo-YR-0.04

NAME ^

Mojo::YR - Get weather information from yr.no

DESCRIPTION ^

Mojo::YR is an (a)synchronous weather data fetcher for the Mojolicious framework. The backend for weather data is http://yr.no.

Look at the resources below for mere information about the API:

SYNOPSIS ^

  use Mojo::YR;
  my $yr = Mojo::YR->new;

  # Fetch location_forecast ==========================================
  my $now = $yr->location_forecast([59, 10])->find('pointData > time')->first;
  my $temp = $now->at('temperature');

  warn "$temp->{value} $temp->{unit}";

  # Fetch text_forecast ==============================================
  my $today = $yr->text_forecast->children('time')->first;
  my $hordaland = $today->at('area[name="Hordaland"]');

  warn $hordaland->at('header')->text;
  warn $hordaland->at('in')->text; # "in" holds the forecast text

ATTRIBUTES ^

url_map

  $hash_ref = $self->url_map;

Returns the URL used to fetch data.

Note: These will always be what you expect. If the resources get changed in the future, a version() attribute will be added to this class to ensure you always get the same URL map.

Default:

  {
    location_forecast => 'http://api.yr.no/weatherapi/locationforecast/1.8/',
    text_forecast => 'http://api.yr.no/weatherapi/textforecast/1.6/',
  };

METHODS ^

location_forecast

  $self = $self->location_forecast([$latitude, $longitude], sub { my($self, $err, $dom) = @_; ... });
  $self = $self->location_forecast(\%args, sub { my($self, $err, $dom) = @_; ... });
  $dom = $self->location_forecast([$latitude, $longitude]);
  $dom = $self->location_forecast(\%args);

Used to fetch weather forecast for a specified place.

%args is required (unless [$latitude,$longitude] is given):

  {
    latitude => $num,
    longitude => $num,
  }

$dom is a Mojo::DOM object you can use to query the result. See "SYNOPSIS" for example.

text_location_forecast

  $self = $self->text_location_forecast([$latitude, $longitude], sub { my($self, $err, $dom) = @_; ... });
  $self = $self->text_location_forecast(\%args, sub { my($self, $err, $dom) = @_; ... });
  $dom = $self->text_location_forecast([$latitude, $longitude]);
  $dom = $self->text_location_forecast(\%args);

Used to fetch textual weather forecast for a specified place.

%args is required (unless [$latitude,$longitude] is given):

  {
    latitude => $num,
    longitude => $num,
    language => 'nb', # default
  }

$dom is a Mojo::DOM object you can use to query the result. See "SYNOPSIS" for example.

text_forecast

  $dom = $self->text_forecast(\%args);
  $self = $self->text_forecast(\%args, sub { my($self, $err, $dom) = @_; ... });

Used to fetch textual weather forecast for all parts of the country.

%args is optional and has these default values:

  {
    forecast => 'land',
    language => 'nb',
  }

$dom is a Mojo::DOM object you can use to query the result. See "SYNOPSIS" for example.

sunrise

  $dom = $self->sunrise(\%args);
  $self = $self->sunrise(\%args, sub { my($self, $err, $dom) = @_; ... });

Used to fetch When does the sun rise and set for a given place

%args is required

  {
    lat => $num,
    lon => $num,
    date => 'YYYY-MM-DD', # OR
    from => 'YYYY-MM-DD',
    to   => 'YYYY-MM-DD',
  }

$dom is a Mojo::DOM object you can use to query the result. See "SYNOPSIS" for example.

COPYRIGHT AND LICENSE ^

Copyright (C) 2014 Jan Henning Thorsen

This program is free software, you can redistribute it and/or modify it under the terms of the Artistic License version 2.0.

AUTHOR ^

Jan Henning Thorsen - jhthorsen@cpan.org Marcus Ramberg - mramberg@cpan.org

syntax highlighting: