App::Hachero::Result::Data - a class to store analyzed data of Hachero


App-Hachero documentation Contained in the App-Hachero distribution.

Index


Code Index:

NAME

Top

App::Hachero::Result::Data - a class to store analyzed data of Hachero

SYNOPSYS

Top

  my $data = App::Hachero::Result::Data->new(
      {
          foo => 'bar',
          hoge => 'fuga',
      }
  );
  $data->count_up;

  my @keys = $data->keys;
  # qw(foo hoge count)

  my $value = $data->value('count');
  # 1
  $data->count_up(4)
  $value = $data->value('count');
  # 5

  my $hashref = $data->hashref;
  # { foo => 'bar', hoge => 'fuga', count => 5 }

DESCRIPTION

Top

A class to store analyzed data of Hachero.

METHODS

Top

new($hashref)

creates result data.

keys

returns keys in this data objects.

value($key)

returns data value of specified key.

count_up($count)

increments 'count' value with specified number. default number is 1.

hashref

returns data hashref of this object.

AUTHOR

Top

Nobuo Danjou <nobuo.danjou@gmail.com>

SEE ALSO

Top

App::Hachero

App::Hachero::Result


App-Hachero documentation Contained in the App-Hachero distribution.

package App::Hachero::Result::Data;
use strict;
use warnings;

sub new {
    my ($class, $self) = @_;
    bless $self, $class;
}

sub keys {
    my $self = shift;
    return sort {$a eq 'count' ? 1 : 0} keys %{$self};
}

sub value {
    my ($self, $arg) = @_;
    return $self->{$arg};
}

sub count_up {
    my ($self, $n) = @_;
    $n ||= 1;
    shift->{count} += $n;
}

sub hashref {
    my $self = shift;
    return { %{$self} };
}

1;
__END__