Commit | Line | Data |
8e21afd2 |
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); |
8b09dc4e |
8 | has '_translator' => ( |
9 | is => 'ro', required => 1, init_arg => 'translator', |
fc2846e5 |
10 | handles => [ 'can_translate_to' ], |
8b09dc4e |
11 | ); |
12 | |
13 | sub translated { |
14 | my ($self) = @_; |
15 | $self->_translator->translate($self->text); |
16 | } |
8e21afd2 |
17 | |
c7846280 |
18 | sub translated_to { |
19 | my ($self, $to) = @_; |
20 | $self->_translator->translate_to($to, $self->text); |
21 | } |
22 | |
8e21afd2 |
23 | __PACKAGE__->meta->make_immutable; |
24 | |
25 | 1; |