package ComponentUI::TestModel::Foo::SearchSpec;
use Reaction::Class;
use namespace::autoclean;
use MooseX::Types::Common::String qw/NonEmptySimpleStr/;
with 'Reaction::InterfaceModel::Search::Spec';
has 'first_name' => (isa => NonEmptySimpleStr, is => 'rw', required => 0);
has 'last_name' => (isa => NonEmptySimpleStr, is => 'rw', required => 0);
sub _build__search_spec {
my($self) = @_;
my %search;
$search{first_name} = $self->first_name if $self->has_first_name;
$search{last_name} = $self->last_name if $self->has_last_name;
return [\%search];
}
# no special packing/unpacking required for Foo
sub _to_string_pack_value { $_[1] }
sub _from_string_unpack_value { $_[1] }
1;