Implement String->words, String->lines, and String->split
[gitmo/Moose-Autobox.git] / lib / Moose / Autobox / String.pm
index 69bc977..cb3c77a 100644 (file)
@@ -1,7 +1,7 @@
 package Moose::Autobox::String;
 use Moose::Role;
 
-our $VERSION = '0.01';
+our $VERSION = '0.09';
 
 with 'Moose::Autobox::Value';
 
@@ -15,14 +15,21 @@ sub chomp   { CORE::chomp   $_[0] }
 sub chop    { CORE::chop    $_[0] }
 sub reverse { CORE::reverse $_[0] }
 sub length  { CORE::length  $_[0] }
+sub lines   { CORE::split '\n', $_[0] }
+sub words   { CORE::split ' ',  $_[0] }
 sub index   { 
     return CORE::index($_[0], $_[1]) if scalar @_ == 2;
     return CORE::index($_[0], $_[1], $_[2]);
 }
+sub rindex  {
+    return CORE::rindex($_[0], $_[1]) if scalar @_ == 2;
+    return CORE::rindex($_[0], $_[1], $_[2]);
+}
+sub split   {
+    return CORE::split($_[1], $_[0]) if scalar @_ == 2;
+    return CORE::split($_[1], $_[0], $_[2]);
+}
 
-# FIXME: this is not working 
-#sub rindex  { CORE::rindex  $_[0], $_[1], (defined $_[2] ? $_[2] : ()) }
-     
 1;
 
 __END__
@@ -61,6 +68,8 @@ This is a role to describes a String value.
 
 =item B<reverse>
 
+=item B<rindex>
+
 =item B<uc>
 
 =item B<ucfirst>
@@ -85,11 +94,12 @@ Stevan Little E<lt>stevan@iinteractive.comE<gt>
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright 2006 by Infinity Interactive, Inc.
+Copyright 2006-2008 by Infinity Interactive, Inc.
 
 L<http://www.iinteractive.com>
 
 This library is free software; you can redistribute it and/or modify
 it under the same terms as Perl itself.
 
-=cut
\ No newline at end of file
+=cut
+