NAME

Curio::Declare - Provider of Curio's declarative interface.

SYNOPSIS

    use Curio::Declare;
    
    does_registry;
    resource_method_name 'name_of_method';
    
    does_caching;
    cache_per_process;
    
    does_keys;
    allow_undeclared_keys;
    default_key 'some_key';
    key_argument 'name_of_argument';
    
    default_arguments (
        arg => 'value',
        ...
    );
    
    add_key some_key => (
        arg => 'value',
        ...
    );
    
    alias_key some_alias => 'some_key';

DESCRIPTION

This module exports a bunch of candy functions as seen used in the "SYNOPSIS" in Curio. These functions set corresponding flags and fields of the same name in Curio::Factory which are then used to define the behaviors of Curio classes and objects.

There is a one-to-one match between functions listed here to arguments and methods listed in Curio::Factory, so these functions are minimally documented. Check out the linked documentation for details.

EXPORTED FUNCTIONS

does_registry

    does_registry;

See "does_registry" in Curio::Factory for details.

resource_method_name

    resource_method_name 'name_of_method';

See "resource_method_name" in Curio::Factory for details.

installs_curio_method

    installs_curio_method;

See "installs_curio_method" in Curio::Factory for details.

does_caching

    does_caching;

See "does_caching" in Curio::Factory for details.

cache_per_process

    cache_per_process;

See "cache_per_process" in Curio::Factory for details.

export_function_name

    export_function_name 'myapp_cache';

See "export_function_name" in Curio::Factory for details.

always_export

    always_export;

See "always_export" in Curio::Factory for details.

export_resource

    export_resource;

See "export_resource" in Curio::Factory for details.

does_keys

    does_keys;

See "does_keys" in Curio::Factory for details.

allow_undeclared_keys

    allow_undeclared_keys;

See "allow_undeclared_keys" in Curio::Factory for details.

default_key

    default_key 'some_key';

See "default_key" in Curio::Factory for details.

key_argument

    key_argument 'name_of_argument';

See "key_argument" in Curio::Factory for details.

default_arguments

    default_arguments (
        arg => 'value',
        ...
    );

See "default_arguments" in Curio::Factory for details.

add_key

    add_key some_key => (
        arg => 'value',
        ...
    );
    
    add_key 'key_without_args';

See "add_key" in Curio::Factory for details.

alias_key

    alias_key some_alias => 'some_key';

See "alias_key" in Curio::Factory for details.

COPYRIGHT AND LICENSE

Copyright (C) 2019 Aran Clary Deltac

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.