X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDX%2FActionBuilder%2FNormal.pm;h=8b3096e155f691b0b0f2b4020d3c44a07f3fa7fd;hb=6aa3640198d41ee9e2c8fcdf28a9aeebd4db7b06;hp=089c956b08a7631a6ae7e992d95277cf1b5c7c76;hpb=1c02730b4c397d64a0ee1b2efe1bbf30626791ed;p=scpubgit%2FDX.git diff --git a/lib/DX/ActionBuilder/Normal.pm b/lib/DX/ActionBuilder/Normal.pm index 089c956..8b3096e 100644 --- a/lib/DX/ActionBuilder/Normal.pm +++ b/lib/DX/ActionBuilder/Normal.pm @@ -2,12 +2,17 @@ package DX::ActionBuilder::Normal; use DX::Action::SetValue; use DX::Action::AddValue; +use DX::Utils qw(:event_types); use DX::Class; with 'DX::Role::ActionBuilder'; has target_path => (is => 'ro', required => 1); +sub aperture_for_set_value { + [ [ VALUE_SET ,=> @{$_[0]->target_path} ] ] +} + sub action_for_set_value { my ($self, $value) = @_; DX::Action::SetValue->new( @@ -16,6 +21,11 @@ sub action_for_set_value { ); } +sub aperture_for_add_member { + my ($self, $at) = @_; + [ [ VALUE_EXISTS ,=> @{$self->target_path}, $at ] ] +} + sub action_for_add_member { my ($self, $at, $value) = @_; my $ab = $self->specialize_for_member($at);