Commit | Line | Data |
28d1f68e |
1 | package LolCatalyst::Lite::Snippet; |
2 | |
3 | use Moose; |
4 | use namespace::clean -except => 'meta'; |
5 | |
6 | has 'id' => (is => 'ro', required => 1); |
7 | has 'text' => (is => 'ro', required => 1); |
e639dea9 |
8 | has '_translator' => ( |
9 | is => 'ro', required => 1, init_arg => 'translator', |
10 | handles => [ 'can_translate_to' ], |
11 | ); |
28d1f68e |
12 | |
8dcce845 |
13 | sub translated { |
28d1f68e |
14 | my ($self) = @_; |
15 | $self->_translator->translate($self->text); |
16 | } |
17 | |
f077afc0 |
18 | sub translated_to { |
19 | my ($self, $to) = @_; |
20 | $self->_translator->translate_to($to, $self->text); |
21 | } |
22 | |
28d1f68e |
23 | __PACKAGE__->meta->make_immutable; |
24 | |
25 | 1; |