NAME

App::CLI::Plugin::YAML::Syck - for App::CLI::Extension config plugin module

VERSION

0.01

SYNOPSIS

# YourApp.pm
package YourApp;

use strict;
use base qw(App::CLI::Extension);

# extension method
__PACKAGE__->load_plugins(qw(Config::YAML::Syck));

# extension method
__PACKAGE__->config( config_file => "/path/to/config.yaml");

1;


# /path/to/config.yaml
---
name: kurt
age:  27

# YourApp/Hello.pm
package YourApp:Hello;

use strict;
use base qw(App::CLI::Command);

sub run {

    my($self, @args) = @_;
    print "Hello! my name is " . $self->config->{name} . "\n";
    print "age is " . "$self->config->{age}\n";
}

# yourapp
#!/usr/bin/perl

use strict;
use YourApp;

YourApp->dispatch;

# execute
[kurt@localhost ~] youapp hello
Hello! my name is kurt
age is 27

DESCRIPTION

App::CLI::Extension YAML::Syck Configuration plugin module

The priority of the config file (name of the execute file in the case of [yourapp])

1. /etc/yourapp.yaml

2. /usr/local/etc/yourapp.yaml

3. $ENV{HOME}/.yourapp.yaml

4. command line option

yourapp hello --config_file=/path/to/config.yaml

5. config method setting

__PACKAGE__->config(config_file => "/path/to/config.yaml");

EXTENDED METHOD

setup

SEE ALSO

App::CLI::Extension NEXT Path::Class YAML::Syck

AUTHOR

Akira Horimoto

COPYRIGHT AND LICENSE

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

Copyright (C) 2008 Akira Horimoto