=pod

=head1 NAME

Mojolicious::Command::secret - Create an application secret() consisting of random bytes

=head1 DESCRIPTION

Tired of manually creating and adding secrets? Me too! Use this command to create a secret
and add it to your C<Mojolicous> or C<Mojolicious::Lite> application:

 ./script/your_app secret
 ./lite_app secret

B<This will modify the appropriate application file>, though an existing secret will not be overridden unless the C<-f> option is used.

It is assumed that your file contains UTF-8 data and that you use C<$self> or C<app> to refer
to your application instance.

If you do not want to automatically add the secret to your application use the C<mojo secret> command or
the C<-p> option and the secret will be printed to C<STDOUT> instead:

 mojo secret
 ./script/your_app secret -p

=head1 OPTIONS

 -f, --force                    Overwrite an existing secret. Defaults to 0.
 -g, --generator MODULE=method  Module & method to generate the secret. The method must 
    				accept an integer argument. Defaults to Crypt::URandom=urandom 
    				and Crypt::OpenSSL::Random=random_bytes
 -p, --print                    Print the secret, do not add it to your application.
 -s, --size      SIZE           Number of bytes to use. Defaults to 32.

Default options can be added to the C<MOJO_SECRET_OPTIONS> environment variable.

=head1 AUTHOR

(c) 2012 Skye Shaw

=head1 LICENSE

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