Mercurial > pub > buggler
diff lib/Benzin/Bugzilla/Bug.pm @ 7:29309bc8d932
initial objects to work with bugzilla web service
author | cin |
---|---|
date | Fri, 04 Sep 2015 19:41:28 +0300 |
parents | |
children | cc7244ab1b9f |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lib/Benzin/Bugzilla/Bug.pm Fri Sep 04 19:41:28 2015 +0300 @@ -0,0 +1,67 @@ +package Benzin::Bugzilla::Bug; +use strict; + +my @bugFields; + +BEGIN { + @bugFields = qw( + id + summary + creation_time + last_change_time + creator + assigned_to + qa_contact + cc + + status + resolution + + priority + severity + url + + blocks + depends_on + + + component + product + classification + version + + actual_time + estimated_time + remaining_time + deadline + + comments + ); +} + +use constant { + BUG_FIELDS => \@bugFields +}; + +use IMPL::declare { + base => [ + 'IMPL::Object::Fields' => undef + ] +}; + +use fields @bugFields; + +sub CTOR { + my SELF $this = shift; + my $data = shift; + + $this->{$_} = $data->{$_} foreach grep exists $data->{$_}, SELF->BUG_FIELDS; +} + +sub GetEffort { + my SELF $this = shift; + + return $this->{actual_time} + $this->{remaining_time}; +} + +1;