Skip to content

Commit

Permalink
simplify Mojo::ByteStream
Browse files Browse the repository at this point in the history
  • Loading branch information
kraih committed Aug 24, 2011
1 parent 072cb2e commit c7c72b5
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 37 deletions.
69 changes: 34 additions & 35 deletions lib/Mojo/ByteStream.pm
Expand Up @@ -17,37 +17,36 @@ sub import {
# "Do we have any food that wasn't brutally slaughtered?
# Well, I think the veal died of loneliness."
sub new {
my $self = shift->SUPER::new();
$self->{bytestream} = join '', @_;
return $self;
my $class = shift;
bless \(my $dummy = join '', @_), ref $class || $class;
}

sub b64_decode {
my $self = shift;
$self->{bytestream} = Mojo::Util::b64_decode($self->{bytestream});
$$self = Mojo::Util::b64_decode($$self);
return $self;
}

sub b64_encode {
my $self = shift;
$self->{bytestream} = Mojo::Util::b64_encode($self->{bytestream}, @_);
$$self = Mojo::Util::b64_encode($$self, @_);
return $self;
}

sub camelize {
my $self = shift;
Mojo::Util::camelize $self->{bytestream};
Mojo::Util::camelize $$self;
return $self;
}

sub clone {
my $self = shift;
return $self->new($self->{bytestream});
return $self->new($$self);
}

sub decamelize {
my $self = shift;
Mojo::Util::decamelize $self->{bytestream};
Mojo::Util::decamelize $$self;
return $self;
}

Expand All @@ -58,61 +57,61 @@ sub decamelize {
# Number 3: 'It was like that when I got here.'"
sub decode {
my $self = shift;
Mojo::Util::decode shift || 'UTF-8', $self->{bytestream};
Mojo::Util::decode shift || 'UTF-8', $$self;
return $self;
}

sub encode {
my $self = shift;
Mojo::Util::encode shift || 'UTF-8', $self->{bytestream};
Mojo::Util::encode shift || 'UTF-8', $$self;
return $self;
}

sub hmac_md5_sum {
my $self = shift;
$self->{bytestream} = Mojo::Util::hmac_md5_sum $self->{bytestream}, @_;
$$self = Mojo::Util::hmac_md5_sum $$self, @_;
return $self;
}

sub hmac_sha1_sum {
my $self = shift;
$self->{bytestream} = Mojo::Util::hmac_sha1_sum $self->{bytestream}, @_;
$$self = Mojo::Util::hmac_sha1_sum $$self, @_;
return $self;
}

sub html_escape {
my $self = shift;
Mojo::Util::html_escape $self->{bytestream};
Mojo::Util::html_escape $$self;
return $self;
}

sub html_unescape {
my $self = shift;
Mojo::Util::html_unescape $self->{bytestream};
Mojo::Util::html_unescape $$self;
return $self;
}

sub md5_bytes {
my $self = shift;
$self->{bytestream} = Mojo::Util::md5_bytes $self->{bytestream};
$$self = Mojo::Util::md5_bytes $$self;
return $self;
}

sub md5_sum {
my $self = shift;
$self->{bytestream} = Mojo::Util::md5_sum $self->{bytestream};
$$self = Mojo::Util::md5_sum $$self;
return $self;
}

sub punycode_decode {
my $self = shift;
Mojo::Util::punycode_decode $self->{bytestream};
Mojo::Util::punycode_decode $$self;
return $self;
}

sub punycode_encode {
my $self = shift;
Mojo::Util::punycode_encode $self->{bytestream};
Mojo::Util::punycode_encode $$self;
return $self;
}

Expand All @@ -121,82 +120,82 @@ sub punycode_encode {
# nutrients they have that might be extracted for our personal use."
sub qp_decode {
my $self = shift;
Mojo::Util::qp_decode $self->{bytestream};
Mojo::Util::qp_decode $$self;
return $self;
}

sub qp_encode {
my $self = shift;
Mojo::Util::qp_encode $self->{bytestream};
Mojo::Util::qp_encode $$self;
return $self;
}

sub quote {
my $self = shift;
Mojo::Util::quote $self->{bytestream};
Mojo::Util::quote $$self;
return $self;
}

sub say {
my ($self, $handle) = @_;
$handle ||= \*STDOUT;
utf8::encode $self->{bytestream} if utf8::is_utf8 $self->{bytestream};
print $handle $self->{bytestream}, "\n";
utf8::encode $$self if utf8::is_utf8 $$self;
print $handle "$$self\n";
}

sub secure_compare {
my ($self, $check) = @_;
return Mojo::Util::secure_compare $self->{bytestream}, $check;
return Mojo::Util::secure_compare $$self, $check;
}

sub sha1_bytes {
my $self = shift;
$self->{bytestream} = Mojo::Util::sha1_bytes $self->{bytestream};
$$self = Mojo::Util::sha1_bytes $$self;
return $self;
}

sub sha1_sum {
my $self = shift;
$self->{bytestream} = Mojo::Util::sha1_sum $self->{bytestream};
$$self = Mojo::Util::sha1_sum $$self;
return $self;
}

sub size { length shift->{bytestream} }
sub size { length ${shift()} }

sub split {
my ($self, $p) = @_;
Mojo::Collection->new(map { $self->new($_) } split $p, $self->{bytestream});
my ($self, $pattern) = @_;
Mojo::Collection->new(map { $self->new($_) } split $pattern, $$self);
}

sub to_string { shift->{bytestream} }
sub to_string { ${shift()} }

sub trim {
my $self = shift;
Mojo::Util::trim $self->{bytestream}, @_;
Mojo::Util::trim $$self, @_;
return $self;
}

sub unquote {
my $self = shift;
Mojo::Util::unquote $self->{bytestream}, @_;
Mojo::Util::unquote $$self, @_;
return $self;
}

sub url_escape {
my $self = shift;
Mojo::Util::url_escape $self->{bytestream}, @_;
Mojo::Util::url_escape $$self, @_;
return $self;
}

sub url_unescape {
my $self = shift;
Mojo::Util::url_unescape $self->{bytestream};
Mojo::Util::url_unescape $$self;
return $self;
}

sub xml_escape {
my $self = shift;
Mojo::Util::xml_escape $self->{bytestream};
Mojo::Util::xml_escape $$self;
return $self;
}

Expand Down
4 changes: 2 additions & 2 deletions lib/Mojo/Collection.pm
Expand Up @@ -45,8 +45,8 @@ sub grep {
}

sub join {
my ($self, $e) = @_;
Mojo::ByteStream->new(join $e, map({"$_"} @$self));
my ($self, $expression) = @_;
Mojo::ByteStream->new(join $expression, map({"$_"} @$self));
}

sub map {
Expand Down

0 comments on commit c7c72b5

Please sign in to comment.