Couch-DB
view release on metacpan or search on metacpan
lib/Couch/DB.pm view on Meta::CPAN
sub _toQueryHandler($)
{ my ($self, $type) = @_;
$self->{CD_toquery}{$type} || $default_toquery{$type}
|| $self->{CD_tojson}{$type} || $default_tojson{$type};
}
sub toQuery($@)
{ my ($self, $data, $type) = (shift, shift, shift);
my $conv = $self->_toQueryHandler($type) or return $self;
exists $data->{$_} && ($data->{$_} = $conv->($self, $_, $data->{$_}))
for @_;
$self;
}
sub jsonText($%)
{ my ($self, $json, %args) = @_;
JSON->new->pretty(not $args{compact})->encode($json);
}
my (%surpress_depr, %surpress_intro);
sub check($$$$)
{ $_[1] or return $_[0];
my ($self, $condition, $change, $version, $what) = @_;
# API-doc versions are sometimes without 3rd part.
my $cv = version->parse($version);
if($change eq 'removed')
{ $self->api < $cv
or error __x"{what} got removed in {release}, but you specified api {api}.",
what => $what, release => $version, api => $self->api;
}
elsif($change eq 'introduced')
{ $self->api >= $cv || $surpress_intro{$what}++
or warning __x"{what} was introduced in {release}, but you specified api {api}.",
what => $what, release => $version, api => $self->api;
}
elsif($change eq 'deprecated')
{ $self->api >= $cv || $surpress_depr{$what}++
or warning __x"{what} got deprecated in api {release}.",
what => $what, release => $version;
}
else { panic "$change $cv $what" }
$self;
}
#### Extension which perform some tasks which are framework object specific.
# Returns the JSON structure which is part of the response by the CouchDB
# server. Usually, this is the body of the response. In multipart
# responses, it is the first part.
sub _extractAnswer($) { panic "must be extended" }
# The the decoded named extension from the multipart message
sub _attachment($$) { panic "must be extended" }
# Extract the decoded body of the message
sub _messageContent($) { panic "must be extended" }
1;
#--------------------
( run in 0.732 second using v1.01-cache-2.11-cpan-2398b32b56e )