logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

Author

       Marc Mims <marc@questright.com>

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.

Name

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

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

Version

       version 1.0006

See Also