Skip to content

Commit

Permalink
fixed bug in Mojolicious::Renderer that prevented proxy objects from …
Browse files Browse the repository at this point in the history
…being reused (closes #677)
  • Loading branch information
kraih committed Sep 22, 2014
1 parent 4bcf375 commit db01d44
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 2 deletions.
4 changes: 3 additions & 1 deletion Changes
@@ -1,5 +1,7 @@

5.44 2014-09-23
5.44 2014-09-22
- Fixed bug in Mojolicious::Renderer that prevented proxy objects from being
reused.

5.43 2014-09-22
- Updated Makefile.PL for version 2 of the CPAN distribution metadata
Expand Down
2 changes: 1 addition & 1 deletion lib/Mojolicious/Renderer.pm
Expand Up @@ -77,7 +77,7 @@ sub get_helper {
}

$found ? push @{$self->{namespaces}}, $class : return undef;
return $self->{proxy}{$name} = sub { bless \shift, $class };
return $self->{proxy}{$name} = sub { bless \(my $dummy = shift), $class };
}

sub render {
Expand Down
5 changes: 5 additions & 0 deletions t/mojolicious/renderer.t
Expand Up @@ -91,6 +91,11 @@ is $second->helpers->myapp->defaults('foo'), 'nothing', 'right result';
is $first->myapp->defaults('foo'), 'bar', 'right result';
is $first->helpers->myapp->defaults('foo'), 'bar', 'right result';

# Reuse proxy objects
my $helpers = $first->helpers;
is $helpers->myapp->multi_level->test, 'works!', 'right result';
is $helpers->myapp->multi_level->test, 'works!', 'right result';

# Missing method (AUTOLOAD)
my $class = ref $first->myapp;
eval { $first->myapp->missing };
Expand Down

0 comments on commit db01d44

Please sign in to comment.