diff --git a/Changes b/Changes index d69188f..7e52270 100644 --- a/Changes +++ b/Changes @@ -6,6 +6,7 @@ changes : - Use User->is_feedback_private instead of User->feedback_private FIXES: - minor documentation corrections + - make Item->is_ended return a Boolean object for consistency NEW: - new true and false methods on the Boolean class - added ListingDetails->start_time diff --git a/lib/Object/eBay/Item.pm b/lib/Object/eBay/Item.pm index eba7473..6c79f66 100644 --- a/lib/Object/eBay/Item.pm +++ b/lib/Object/eBay/Item.pm @@ -6,6 +6,7 @@ use Class::Std; { use strict; use base qw( Object::eBay ); use overload '""' => 'item_id', fallback => 1; + use Object::eBay::Boolean; sub api_call { "GetItem" }; sub response_field { "Item" }; @@ -44,9 +45,12 @@ use Class::Std; { my $status = $self->selling_status->listing_status; die "eBay item #$self has no listing status\n" if not defined $status; - return if $status eq 'Active'; - return 1 if $status eq 'Ended'; - return 1 if $status eq 'Completed'; + my $true = Object::eBay::Boolean->true; + my $false = Object::eBay::Boolean->false; + + return $false if $status eq 'Active'; + return $true if $status eq 'Ended'; + return $true if $status eq 'Completed'; die "eBay item #$self has an unknown listing status: $status\n"; } @@ -140,8 +144,8 @@ specify C correctly, this method will not be available. =head2 is_ended -Returns true if the eBay auction for this item has ended. Otherwise, it -returns false. +Returns an L true value if the eBay auction for this +item has ended. Otherwise, it returns a false object. =head2 item_id diff --git a/t/20-item-is_ended.t b/t/20-item-is_ended.t index 1e7f909..37cb26a 100644 --- a/t/20-item-is_ended.t +++ b/t/20-item-is_ended.t @@ -19,9 +19,9 @@ my $mocked = Test::MockObject->new; # test the normal cases my %tests = ( - Active => undef, - Completed => 1, - Ended => 1, + Active => 'false', + Completed => 'true', + Ended => 'true', ); my $item = Object::eBay::Item->new({ item_id => 12345 }); while ( my ($value, $expected) = each %tests ) {