| Chart-OFC2 documentation | Contained in the Chart-OFC2 distribution. |
Chart::OFC2::HBarValues - OFC2 values for horizontal bar charts object
has 'values' => ( is => 'rw', isa => 'ArrayRef', );
Object constructor.
Allow object creation by coerce of ArrayRef.
Returns ArrayRef that is possible to give to encode_json() function.
NOTE: values are reversed. This is done so that the y_axis-labels> match to
the values properly.
Jozef Kutej
| Chart-OFC2 documentation | Contained in the Chart-OFC2 distribution. |
package Chart::OFC2::HBarValues;
use Moose; use Moose::Util::TypeConstraints; use MooseX::StrictConstructor; use Carp::Clan 'croak'; use List::MoreUtils 'any'; our $VERSION = '0.07'; coerce 'Chart::OFC2::HBarValues' => from 'ArrayRef' => via { Chart::OFC2::HBarValues->_new_from_arrayref( $_) };
has 'values' => ( is => 'rw', isa => 'ArrayRef', 'required' => 1);
sub _new_from_arrayref { my $class = shift; my $arrayref_values = shift; croak 'pass ArrayRef as argument' if not ref $arrayref_values ne 'ArrayRef'; my @values; foreach my $value (@{$arrayref_values}) { if (ref $value eq 'HASH') { push @values, $value; } else { push @values, { 'right' => $value }; } } return $class->new( 'values' => \@values, ); }
sub TO_JSON { my $self = shift; return [ reverse @{$self->values} ]; } __PACKAGE__->meta->make_immutable; 1; __END__