aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Reaction/InterfaceModel/Action/Search/UpdateSpec.pm
blob: 070b9dfad08b41cd7bc747c3a1c70a847280321f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package Reaction::InterfaceModel::Action::Search::UpdateSpec;

use Reaction::Class;
#use aliased 'BrokerInterface::SearchSpec';
use Method::Signatures::Simple;
use Reaction::InterfaceModel::Reflector::SearchSpec;
use Carp qw( confess );

use namespace::clean -except => 'meta';

extends 'Reaction::InterfaceModel::Action';

my %ReflectionCache;

method build_reflected_search_spec () {
    confess sprintf "Class %s did not override the build_reflected_search_spec method", ref($self) || $self;
}

method _reflection_info () {
    $ReflectionCache{ ref($self) || $self }
        ||= reflect_attributes_from_target $self->build_reflected_search_spec;
}

with 'Reaction::InterfaceModel::Search::UpdateSpec';

1;