1 # Copyright (C) The Arvados Authors. All rights reserved.
3 # SPDX-License-Identifier: Apache-2.0
5 package Arvados::ResourceProxy;
11 $self->{'resourceAccessor'} = shift;
12 bless ($self, $class);
19 $response = $self->{'resourceAccessor'}->{'update'}->execute('uuid' => $self->{'uuid'}, $self->resource_parameter_name() => $self);
20 foreach my $param (keys %$self) {
21 if (exists $response->{$param}) {
22 $self->{$param} = $response->{$param};
32 $response = $self->{'resourceAccessor'}->{'update'}->execute('uuid' => $self->{'uuid'}, $self->resource_parameter_name() => \%updates);
33 foreach my $param (keys %updates) {
34 if (exists $response->{$param}) {
35 $self->{$param} = $response->{$param};
44 $response = $self->{'resourceAccessor'}->{'get'}->execute('uuid' => $self->{'uuid'});
45 foreach my $param (keys %$self) {
46 if (exists $response->{$param}) {
47 $self->{$param} = $response->{$param};
53 sub resource_parameter_name
56 my $pname = $self->{'resourceAccessor'}->{'resourcesName'};
57 $pname =~ s/s$//; # XXX not a very good singularize()