Advertisement
Guest User

Untitled

a guest
Jun 27th, 2017
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.63 KB | None | 0 0
  1. package LolCatalyst::Lite::Translator::LOLCAT;
  2.  
  3. use Moose;
  4. #use Acme::LOLCAT;
  5. use namespace::autoclean -except => 'meta';
  6. has 'deafault_target' => (
  7. is => 'ro', isa => 'Str', required => 1, default => 'LOLCAT'
  8. );
  9.  
  10. has 'translators' => (
  11. is => 'ro', isa => 'HashRef', lazy_build => 1
  12. );
  13.  
  14. sub _build_translators {
  15. my ($self) = @_;
  16. return { LOLCAT => LolCatalyst::Lite::Translator::LOLCAT->new };
  17. }
  18.  
  19. sub translate {
  20. my ($self, $text) = @_;
  21. $self->translate_to($self->default_target, $text);
  22. }
  23.  
  24. sub translate_to {
  25. my ($self, $target, $text) = @_;
  26. $self->translators->{$target}->translate($text);
  27. }
  28.  
  29. __PACKAGE__->meta->make_immutable;
  30.  
  31. 1;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement