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.