| Net-Google-Spreadsheets documentation | Contained in the Net-Google-Spreadsheets distribution. |
Net::Google::Spreadsheets::Record - A representation class for Google Spreadsheet record.
use Net::Google::Spreadsheets;
my $service = Net::Google::Spreadsheets->new(
username => 'mygoogleaccount@example.com',
password => 'mypassword',
);
# get a record
my $record = $service->spreadsheet(
{
title => 'list for new year cards',
}
)->table(
{
title => 'addressbook',
}
)->record(
{
sq => 'id = 1000',
}
);
# get the content of a row
my $hashref = $record->content;
my $id = $hashref->{id};
my $address = $hashref->{address};
# update a row
$record->content(
{
id => 1000,
address => 'somewhere',
zip => '100-0001',
name => 'Nobuo Danjou',
}
);
# get and set values partially
my $value = $record->param('name');
# returns 'Nobuo Danjou'
# you can also get it via content like this:
my $value_via_content = $record->content->{name};
my $newval = $record->param({address => 'elsewhere'});
# updates address (and keeps other fields) and returns new record value (with all fields)
my $hashref2 = $record->param;
# same as $record->content;
# setting whole new content
$record->content(
{
id => 8080,
address => 'nowhere',
zip => '999-9999',
name => 'nowhere man'
}
);
# delete a record
$record->delete;
sets and gets content value.
deletes the record.
Rewritable attribute. You can get and set the value.
http://code.google.com/intl/en/apis/spreadsheets/docs/3.0/developers_guide_protocol.html
http://code.google.com/intl/en/apis/spreadsheets/docs/3.0/reference.html
Nobuo Danjou <nobuo.danjou@gmail.com>
| Net-Google-Spreadsheets documentation | Contained in the Net-Google-Spreadsheets distribution. |
package Net::Google::Spreadsheets::Record; use Any::Moose; use XML::Atom::Util qw(nodelist); with 'Net::Google::DataAPI::Role::Entry', 'Net::Google::DataAPI::Role::HasContent'; after from_atom => sub { my ($self) = @_; for my $node (nodelist($self->elem, $self->ns('gs')->{uri}, 'field')) { $self->content->{$node->getAttribute('name')} = $node->textContent; } }; around to_atom => sub { my ($next, $self) = @_; my $entry = $next->($self); while (my ($key, $value) = each %{$self->content}) { $entry->add($self->ns('gs'), 'field', $value, {name => $key}); } return $entry; }; __PACKAGE__->meta->make_immutable; no Any::Moose; 1; __END__