diff options
| author | Franck Cuny <franck.cuny@gmail.com> | 2016-08-10 14:33:04 -0700 |
|---|---|---|
| committer | Franck Cuny <franck.cuny@gmail.com> | 2016-08-10 20:17:56 -0700 |
| commit | 8d7d02f42c3947f756c18cb4d37d9d97fbd0d27d (patch) | |
| tree | a6cecddaaea7e87d901a6c28bebe3a531438f24b /posts/2009-05-22-modules-i-like---module-setup.org | |
| parent | Merge branch 'convert-to-org' (diff) | |
| download | lumberjaph-8d7d02f42c3947f756c18cb4d37d9d97fbd0d27d.tar.gz | |
convert back to md
Diffstat (limited to 'posts/2009-05-22-modules-i-like---module-setup.org')
| -rw-r--r-- | posts/2009-05-22-modules-i-like---module-setup.org | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/posts/2009-05-22-modules-i-like---module-setup.org b/posts/2009-05-22-modules-i-like---module-setup.org deleted file mode 100644 index 2bbca9f..0000000 --- a/posts/2009-05-22-modules-i-like---module-setup.org +++ /dev/null @@ -1,83 +0,0 @@ -[[http://search.cpan.org/perldoc?Module::Setup][Module::Setup]] by -[[http://blog.yappo.jp/][Yappo]] is a really nice module. I don't like -[[http://search.cpan.org/perldoc?Module::Starter][Module::Starter]], -it's not easy to create template to make it do what you need. With -Module::Setup you can create flavors for any type of modules you want. -Most of the modules I create for work use Moose, and I like to use -Test::Class too. I've created a Moose flavor for creating this kind of -modules. - -*** Creating a Moose flavor for Module::Setup - -First, you tell it to init a new flavor: - -#+BEGIN_EXAMPLE - module-setup --init moose -#+END_EXAMPLE - -Module::Setup ask what is your favorite SCM. For me, it's git. It will -create files in /$HOME/.module-setup/flavors/moose//. - -Start by editing -*$HOME/.module-setup/flavors/moose/template/lib/\_\_\_\_var-module\_path-var\_\_\_\_.pm* -to make it look like this - -#+BEGIN_SRC perl - - use strict; - - use warnings; - + use Moose; -#+END_SRC - -Add *requires 'Moose'* in *Makefile.PL*. Create a -**t/tests/Test/\_\_\_\_var-module\_path-var\_\_\_\_.pm** file with the -following content: - -#+BEGIN_SRC perl - package Test :: [%module %]; - - use strict; - use warnings; - use base 'Test::Class'; - use Test::Exception; - use Test::More; - - sub class {'[% module %]'} - - sub startup : Tests(startup => 1) { - my $test = shift; - use_ok $test->class, "use ok"; - } - - sub shutdown : Tests(shutdown) { - my $test = shift; - } - - sub constructor : Tests(1) { - my $test = shift; - can_ok $test->class, 'new'; - } - - 1; -#+END_SRC - -You will have a Test::Class test ready with basic tests already -implemented. - -If you want to share this template at $work, easy: - -#+BEGIN_EXAMPLE - module-setup --pack DevMoose moose > DevMoose.pm -#+END_EXAMPLE - -You just have to send DevMoose.pm to who need it, and he will be able to -import it with - -#+BEGIN_EXAMPLE - module-setup --init --flavor-class=+DevMoose moose -#+END_EXAMPLE - -Now you can create a new module - -#+BEGIN_EXAMPLE - module-setup MY::AWESOME::MODULE moose -#+END_EXAMPLE |
