Any-Moose-Convert

 view release on metacpan or  search on metacpan

lib/Any/Moose/Convert.pm  view on Meta::CPAN


my $cmop_utils = join '|', qw(
    is_class_loaded
    load_class
    load_first_existing_class
    class_of
    get_metaclass_by_name
    get_code_info
);

sub _convert_moose_to_mouse {
    local(*_) = @_;

    s{Moose}{Mouse}mxsg;

    # e.g. Class::MOP::load_class -> Mouse::Util::load_class
    s{\b Class::MOP::($cmop_utils) \b}
     {Mouse::Util::$1}mxsgo;

    s{\b use \s+ Class::MOP \b}
     {use Mouse::Meta::Class}xmsg;

    # e.g. Class::MOP::Class -> Mouse::Meta::Class
    s{\b Class::MOP:: \b}
     {Mouse::Meta::}xmsg;

    return;
}

sub _convert_mouse_to_moose {
    local(*_) = @_;

    s{\b Mouse::Util::($cmop_utils) \b}
     {Class::MOP::$1}mxsgo;

    s{Mouse}{Moose}mxsg;

    return;
}

1;
__END__

=head1 NAME

Any::Moose::Convert - Convert Moose libraries to Mouse ones, or vice versa

=head1 VERSION

This document describes Any::Moose::Convert version 0.004.

=head1 SYNOPSIS

	use Any::Moose::Convert;

	moose2mouse qw(lib); # makes moose/lib/...
	mouse2mouse qw(lib); # makes mouse/lib/...

	# or as a command

	$ perl -MAny::Moose::Convert -e 'moose2mouse lib'
	$ perl -MAny::Moose::Convert -e 'mouse2moose lib'


=head1 DESCRIPTION

Any::Moose::Convert is a tool to convert Moose libraries to Mouse ones, or vice versa.

=head1 INTERFACE

=head2 EXPORTED FUNCTIONS

=head3 moose2mouse(@paths = @ARGV)

=head3 mouse2moose(@paths = @ARGV)

=head1 DEPENDENCIES

Perl 5.8.1 or later.

=head1 BUGS

No bugs have been reported.

Please report any bugs or feature requests to the author.

=head1 AUTHOR

Goro Fuji (gfx) E<lt>gfuji(at)cpan.orgE<gt>

=head1 SEE ALSO

L<Moose>

L<Mouse>

L<Any::Moose>

=head1 LICENSE AND COPYRIGHT

Copyright (c) 2009, Goro Fuji (gfx). Some rights reserved.

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

=cut



( run in 0.641 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )