NAME
Games::Lacuna::Task::Client - Client class
DESCRIPTION
Implements basic caching and the connection to the lacuna API.
ACCESSORS
client
Games::Lacuna::Client object
configdir
Games::Lacuna::Task config directory
storage
Access to the caching database via Games::Lacuna::Storage
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
empire_name
Returns the current empire name
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->set_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 persistent 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.