NAME

Games::Lacuna::Task::Client - Client class

DESCRIPTION

Implements basic cacheing and the connection to the lacuna API.

ACCESSORS

client

Games::Lacuna::Client object

configdir

Games::Lacuna::Task config directory

configdir

DBI connection to the cacheing database.

config

Current config hash as read from the config file in configdir

stash

Simple Stash for storing various temporary values.

METHODS

task_config

my $config = $client->task_config($task_name);

Calculates the config for a given task

get_cache

my $value = $self->get_cache('key1');

Fetches a value from the cache. Returns undef if cache is not available or if it has expired.

clear_cache

$self->clear_cache('key1');

Remove an entry from the cache.

set_cache

$self->clear_cache(
   max_age     => $valid_seconds,  # optional
   valid_until => $timestamp,      # optional, either max_age or valid_until
   key         => 'key1',          # required
   value       => $some_data       # required
);

Stores an arbitrary data structure (no objects) in a presistant cache

request

Runs a request, caches the response and returns the response.

my $response =  $self->request(
   object  => Games::Lacuna::Client::* object,
   method  => Method name,
   params  => [ Params ],
);

paged_request

Fetches all response elements from a paged method

my $response =  $self->paged_request(
   object  => Games::Lacuna::Client::* object,
   method  => Method name,
   params  => [ Params ],
   total   => 'field storing the total number of items',
   data    => 'field storing the items',
);

build_object

my $glc_object = $self->build_object('/university', id => $building_id);
OR
my $glc_object = $self->build_object($building_status_response);
OR
my $glc_object = $self->build_object('Spaceport', id => $building_id);
OR
my $glc_object = $self->build_object('Map');

Builds an <Games::Lacuna::Client::*> object

storage_do

$self->storage_do('UPDATE .... WHERE id = ?',$id);

Runs a command in the cache database

storage_prepare

my $sth = $self->storage_prepare('SELECT .... WHERE id = ?');

Prepares a SQL-query for the cache database and retuns the statement handle.