logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Metabase::Fact::String - fact subtype for simple strings

Authors

       •   David Golden <dagolden@cpan.org>

       •   Ricardo Signes <rjbs@cpan.org>

       •   H.Merijn Brand <hmbrand@cpan.org>

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-Fact>

       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.

Description

       Base class for facts that are just strings of text.  Strings must be characters, not bytes.

       You may wish to implement a "content_metadata" method to generate metadata about the hash contents.

       You should also implement a "validate_content" method to validate the structure of the hash you're given.

Name

       Metabase::Fact::String - fact subtype for simple strings

Synopsis

         # defining the fact class
         package MyFact;
         use Metabase::Fact::String;
         our @ISA = qw/Metabase::Fact::String/;

         sub content_metadata {
           my $self = shift;
           return {
             'size' => [ '//num' => length $self->content ],
           };
         }

         sub validate_content {
           my $self = shift;
           $self->SUPER::validate_content;
           die __PACKAGE__ . " content length must be greater than zero\n"
             if length $self->content < 0;
         }

       ...and then...

         # using the fact class
         my $fact = MyFact->new(
           resource => 'RJBS/Metabase-Fact-0.001.tar.gz',
           content  => "Hello World",
         );

         $client->send_fact($fact);

Version

       version 0.025

See Also