The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Data::Record::Serialize::Role::Base - Base Role for Data::Record::Serialize

VERSION

version 1.06

DESCRIPTION

Data::Record::Serialize::Role::Base is the base role for Data::Record::Serialize. It serves the place of a base class, except as a role there is no overhead during method lookup

OBJECT ATTRIBUTES

types

If no types are available, returns undef; see also "has_types".

Otherwise, returns a hashref whose keys are the input field names and whose values are the types (N, I, S, B). If types are deduced from the data, this mapping is finalized (and thus accurate) only after the first record has been sent.

default_type type

The value passed to the constructor (if any).

fields

The names of the input fields that will be output.

nullify

The value passed to the constructor (if any).

numify

   $bool = $s->numify;

The value passed to the constructor (if any). See the discussion for the numify constructor option.

stringify

   $bool = $s->stringify;

The value passed to the constructor (if any). See the discussion for the stringify constructor option.

format_fields

The value passed to the constructor (if any).

format_types

The value passed to the constructor (if any).

rename_fields

The value passed to the constructor (if any).

format

If true, format the output fields using the formats specified in the format_fields and/or format_types options. The default is false.

METHODS

has_types

returns true if "types" has been set.

has_default_type

returns true if "default_type" has been set.

has_fields

returns true if "fields" has been set.

output_fields

  $array_ref = $s->output_fields;

The names of the output fields, in order of requested output. This takes into account fields which have been renamed.

has_nullify

returns true if "nullify" has been set.

has_numify

returns true if "numify" has been set.

has_stringify

returns true if "stringify" has been set.

nullified

  $fields = $obj->nullified;

Returns a arrayref of fields which are checked for empty values (see "nullify").

This will return an empty array if the list is not yet available (for example, if fields names are determined from the first output record and none has been sent).

If the list of fields is available, calling nullified may result in verification of the list of nullified fields against the list of actual fields. A disparity will result in an exception of class Data::Record::Serialize::Error::Role::Base::fields.

numified

  $fields = $obj->numified;

Returns an arrayref of fields which are converted to numbers.

This will return an empty array if the list is not yet available (for example, if fields names are determined from the first output record and none has been sent).

If the list of fields is available, calling numified may result in verification of the list of numified fields against the list of actual fields. A disparity will result in an exception of class Data::Record::Serialize::Error::Role::Base::fields.

stringified

  $fields = $obj->stringified;

Returns an arrayref of fields which are converted to strings.

This will return an empty array if the list is not yet available (for example, if fields names are determined from the first output record and none has been sent).

If the list of fields is available, calling stringified may result in verification of the list of stringified fields against the list of actual fields. A disparity will result in an exception of class Data::Record::Serialize::Error::Role::Base::fields.

string_fields

  $array_ref = $s->string_fields;

The input field names for those fields deemed to be strings

numeric_fields

  $array_ref = $s->numeric_fields;

The input field names for those fields deemed to be numeric (either N or I).

boolean_fields

  $array_ref = $s->boolean_fields;

The input field names for those fields deemed to be boolean.

type_index

  $arrayref = $s->type_index;

An array, with indices representing field type or category. The values are an array of field names. This is finalized (and thus accurate) only after the first record is written.

Don't edit this!.

The indices are available via Data::Record::Serialize::Util and are:

INTEGER
FLOAT
NUMBER

FLOAT and INTEGER

STRING
NOT_STRING

everything that's not STRING

BOOLEAN

output_types

  $hash_ref = $s->output_types;

The fully resolved mapping between output field name and output field type. If the encoder has specified a type map, the output types are the result of that mapping. This is only valid after the first record has been sent.

INTERNALS

SUPPORT

Bugs

Please report any bugs or feature requests to bug-data-record-serialize@rt.cpan.org or through the web interface at: https://rt.cpan.org/Public/Dist/Display.html?Name=Data-Record-Serialize

Source

Source is available at

  https://gitlab.com/djerius/data-record-serialize

and may be cloned from

  https://gitlab.com/djerius/data-record-serialize.git

SEE ALSO

Please see those modules/websites for more information related to this module.

AUTHOR

Diab Jerius <djerius@cpan.org>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2017 by Smithsonian Astrophysical Observatory.

This is free software, licensed under:

  The GNU General Public License, Version 3, June 2007