Ricardo SIGNES > Metabase-0.001 > Metabase::Gateway

Download:
Metabase-0.001.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  7
Open  0
View/Report Bugs
Source   Latest Release: Metabase-1.003

NAME ^

Metabase::Gateway - Manage Metabase fact submission

SYNOPSIS ^

  my $mg = Metabase::Gateway->new( 
    fact_classes      => \@valid_fact_classes,
    librarian         => $librarian,
    secret_librarian  => $secret_librarian,
  );

  $mg->handle_submission({
    fact      => $fact_struct,
    submitter => $profile_struct
  });

DESCRIPTION ^

The Metabase::Gateway class manages submissions to the Metabase. It provides fact and submitter validation or authorization before storing new facts in a Metabase.

USAGE ^

new

  my $mg = Metabase::Gateway->new( 
    fact_classes      => \@valid_fact_classes,
    librarian         => $librarian,
    secret_librarian  => $secret_librarian,
  );

Gateway constructor. Takes three required attributes fact_classes, librarian and secret_librarian. See below for details.

ATTRIBUTES ^

approved_types

Returns a list of approved fact types. Automatically generated; cannot be initialized. Used for validating submitted facts.

autocreate_profile

A boolean option. If true, if a submission is from an unknown user profile, the profile will be added to the Metabase. If false, an exception will be thrown. Default is false.

fact_classes

Array reference containing a list of valid Metabase::Fact subclasses. Only facts from these classes may be added to the Metabase. Required.

librarian

A librarian object to manage fact data. Required.

secret_librarian

A librarian object to manage user profile data. This is generally kept in a separate data store to isolate user profile facts from public, searchable facts. Required.

METHODS ^

enqueue

  $mg->enqueue( $fact, $profile );

Add a fact from a user (identified by a profile) to the Metabase the gateway is managing. Used internally by handle_submission.

handle_submission

  $mg->handle_submission({
    fact      => $fact_struct,
    submitter => $profile_struct
  });

Extract a fact and profile from a deserialized data structure and add it to the Metabase. The fact and profile structs are generated from the as_struct method.

BUGS ^

Please report any bugs or feature using the CPAN Request Tracker. Bugs can be submitted through the web interface at http://rt.cpan.org/Dist/Display.html?Queue=Metabase

When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.

AUTHOR ^

COPYRIGHT AND LICENSE ^

 Portions copyright (c) 2008-2009 by David A. Golden
 Portions copyright (c) 2008-2009 by Ricardo J. B. Signes

Licensed under terms of Perl itself (the "License"). You may not use this file except in compliance with the License. A copy of the License was distributed with this file or you may obtain a copy of the License from http://dev.perl.org/licenses/

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

syntax highlighting: