Provided by: libtwitter-api-perl_1.0006-1_all bug

NAME

       Twitter::API::Trait::NormalizeBooleans - Normalize Booleans

VERSION

       version 1.0006

SYNOPSIS

           use Twitter::API;

           my $client = Twitter::API->new_with_traits(
               traits => [ qw/ApiMethods NormalizeBooleans/ ],
               %other_new_options
           );

           my ( $r, $c ) = $client->home_timeline({ trim_user => 1 });

           say $c->http_request->uri;

           # output:
           https://api.twitter.com/1.1/statuses/home_timeline.json?trim_user=true

DESCRIPTION

       Twitter has a strange concept of boolean values. Usually, the API accepts "t", "true", or
       1 for true. Sometimes it accepts "f", "false", or 0 for false. But then you have strange
       cases like the "include_email" parameter used for authorized applications by the
       "verify_credentials" endpoint. It only accepts "true". Worse, for some boolean values,
       passing "f", "false", or 0 all work as if you passed "true". For those values, false means
       not including the parameter at all.

       So, this trait attempts to normalize booleans by transforming any perl truthy value to the
       Twitter API's preference, "true". It transforms falsey values to "false". And then it
       removes false parameters that the API always treats as true.

       You're welcome.

AUTHOR

       Marc Mims <marc@questright.com>

COPYRIGHT AND LICENSE

       This software is copyright (c) 2015-2021 by Marc Mims.

       This is free software; you can redistribute it and/or modify it under the same terms as
       the Perl 5 programming language system itself.