File Coverage

blib/lib/Translate/Fluent/Elements/Message.pm
Criterion Covered Total %
statement 9 10 90.0
branch 3 4 75.0
condition n/a
subroutine 3 3 100.0
pod 2 2 100.0
total 17 19 89.4


line stmt bran cond sub pod time code
1             package Translate::Fluent::Elements::Message;
2              
3 6     6   43 use Moo;
  6         12  
  6         39  
4             extends 'Translate::Fluent::Elements::Base';
5              
6             has [qw(identifier pattern attributes)] => (
7             is => 'ro',
8             default => sub { undef },
9             );
10              
11             around BUILDARGS => sub {
12             my ($orig, $class, %args) = @_;
13              
14             $args{ identifier } = delete $args{ Identifier };
15             $args{ pattern } = delete $args{ Pattern };
16             $args{ attributes } = delete $args{ Attribute };
17             $args{ attributes } = [ $args{ attributes } ]
18             unless ref $args{ attributes } eq 'ARRAY';
19              
20             $args{ attributes } = [ map { { Attribute => $_ } }
21             @{ $args{ attributes } }
22             ];
23              
24             $class->$orig( %args );
25             };
26              
27             sub translate {
28 20     20 1 37 my ($self, $variables) = @_;
29              
30 20         68 return $self->pattern->translate( $variables );
31             }
32              
33             sub get_attribute_resource {
34 4     4 1 8 my ($self, $attr_id) = @_;
35              
36 4 50       7 for my $attr ( @{ $self->attributes||[] } ) {
  4         17  
37 6 100       25 return $attr
38             if $attr->identifier eq $attr_id;
39              
40             }
41              
42 0           return;
43             }
44              
45              
46             1;
47              
48             __END__