Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re^2: Attribute does not pass Type Constraint

by PerlSufi (Pilgrim)
on Apr 03, 2014 at 18:44 UTC ( #1080990=note: print w/ replies, xml ) Need Help??


in reply to Re: Attribute does not pass Type Constraint
in thread Attribute does not pass Type Constraint

Thanks for the response tobyink.
I'm starting to see now that maybe the addition of MooseX::UndefTolerant might have helped- not sure yet. I am getting this error from my test file, but the line it is complaining about is in the following subroutine:

my $class = shift; my (%args) = validated_hash( \@_, id => { isa => 'Int' }, ticket_user => { isa => 'Customer::TicketUser' }, ); my $ticket_response = $class->_ticket_api_request( { method => 'get', route => 'user/' . $args{ticket_user}->user_id . '/ticket/' . $args{id}, data => undef, } ); my $ticket = $class->new( { id => $args{id}, department_name => $ticket_response->{ticket}{department +}, subject => $ticket_response->{ticket}{subject}, status_id => $ticket_response->{ticket}{status}, created_time => $ticket_response->{ticket}{created_ti +me}, ticket_user => $args{ticket_user}, } ); my $posts_response = $class->_ticket_api_request( { method => 'get', route => 'user/' . $args{ticket_user}->user_id . '/ticket/' . $args{id} . '/posts', data => undef, } ); my @posts; for my $post_id ( keys $posts_response ) { # HERE my $post = GBClient::Model::Support::Ticket::Post->from_json +( { ticket => $ticket, json => $posts_response->{$post_id} } ); push @posts, $post; }


Comment on Re^2: Attribute does not pass Type Constraint
Download Code
Re^3: Attribute does not pass Type Constraint
by PerlSufi (Pilgrim) on Apr 03, 2014 at 21:13 UTC
    I think I may have figured it out. I made the following changes:
    class_type 'DateTime'; subtype 'DT' => as 'Maybe[DateTime]'; coerce 'DT', from 'Str', via { DateTime::Format::DateParse->parse_datetime($_) }; coerce 'DT', from 'Int', via { DateTime->from_epoch( epoch => $_ ) }; ... has created_time => ( is => 'rw', isa => 'DT', required => 0, coerce => 1, ); # and then in the subroutine I posted earlier: ... for my $post_id ( keys %$post_response ) { # changed to unblessed ...
    But I'm now getting an error about something else in the module. So I will follow up as necessary :)

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1080990]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (6)
As of 2014-09-01 22:37 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite cookbook is:










    Results (17 votes), past polls