prep next release
[gitmo/Moose-Autobox.git] / lib / Moose / Autobox / String.pm
index 09d63a6..db64fe4 100644 (file)
@@ -1,7 +1,7 @@
 package Moose::Autobox::String;
 use Moose::Role;
 
-our $VERSION = '0.01';
+our $VERSION = '0.13';
 
 with 'Moose::Autobox::Value';
 
@@ -15,11 +15,21 @@ sub chomp   { CORE::chomp   $_[0] }
 sub chop    { CORE::chop    $_[0] }
 sub reverse { CORE::reverse $_[0] }
 sub length  { CORE::length  $_[0] }
-sub index   { CORE::index   $_[0], $_[1], (defined $_[2] ? $_[2] : ()) }
+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__
@@ -33,18 +43,17 @@ Moose::Autobox::String - the String role
 =head1 SYNOPOSIS
 
   use Moose::Autobox;
-  use autobox;
   
   "Hello World"->uc; # HELLO WORLD
 
 =head1 DESCRIPTION
 
+This is a role to describes a String value.
+
 =head1 METHODS
 
 =over 4
 
-=item B<meta>
-
 =item B<chomp>
 
 =item B<chop>
@@ -59,10 +68,30 @@ Moose::Autobox::String - the String role
 
 =item B<reverse>
 
+=item B<rindex>
+
 =item B<uc>
 
 =item B<ucfirst>
 
+=item B<split>
+
+  $string->split($pattern);
+
+=item B<words>
+
+This is equivalent to splitting on space.
+
+=item B<lines>
+
+This is equivalent to splitting on linelines.
+
+=back
+
+=over 4
+
+=item B<meta>
+
 =back
 
 =head1 BUGS
@@ -77,11 +106,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
+