Commits on Jul 28, 2009
  1. Silence Net::OAuth's double encoding warning.

    The warning is overly aggressive.  It warns on decoded latin1 with bytes in
    the 128-255 range.
    Also, changed the attributition diagnosing the OAuth signature problem. Peter
    Bray reported it via email; he later requested an attribution changes as Galen
    Huntington actually did the diagnosing.
    committed Jul 28, 2009
  2. Fixed OAuth/unicode conflict

    Net::OAuth expects decoded characters.  Moved encode from API to Core and
    OAuth. Thanks to miyagawa for help with both unicode and OAuth.
    committed Jul 28, 2009
  3. Bug fix: invalid OAuth signatures on POST requests

    Twitter introduced an API change to correct a bug.  They were not checking for
    valid signatures, apparently. POST requests were not generated valid requests.
    Thanks to Peter Bray for tracking down the exact problem in
    committed Jul 28, 2009
Commits on Jul 24, 2009
Commits on Jul 23, 2009
  1. CPAN release 3.04003

    committed Jul 23, 2009
Commits on Jul 21, 2009
Commits on Jul 17, 2009
  1. UTF-8 support for all JSON handlers

    JSON::XS has utf-8 support by default. So, it seemed to be working, but wasn't
    working, apparently, for users with other backend JSON handlers.  Setting the
    JSON::Any utf8 option *should* resolve the problem.
    committed Jul 17, 2009
Commits on Jul 13, 2009
  1. For robustness, conditionally set ( is => bare ).

    Bumping the Moose dep should have been sufficient.  But I got a bug report via
    IRC. Looks like someone probably force installed Net::Twitter without
    upgrading Moose as required.  This should make Net::Twitter more robust and
    run even in spite of that.
    committed Jul 13, 2009
  2. Added a simple load test

    Not really necessary, here, but I added one to Net::Twitter::Lite to avoid
    UKNOWN status reports from cpantesters. Might as well have a load test, here,
    committed Jul 13, 2009
Commits on Jul 8, 2009
  1. Use Moose::Meta::Class instead of Class::MOP::Class

    I thought I was using Class::MOP for a reason, but I added tests and Moose
    passes, too.  So, on perigrins advice ("it'll be more forward compatible"),
    I'm using Moose.
    committed Jul 8, 2009
Commits on Jul 7, 2009
  1. CPAN Release 3.04000

    committed Jul 7, 2009
  2. Inflate Twitter HASH returns to objects (role InflateObjects)

    Added an optional role to inflate Twitter's HASH ref returns to objects.
    Inflates URLs to URIs, dates to DateTime objects, and add a
    relative_created_by method whenever the HASH has a created_by element.
    committed Jun 26, 2009
  3. Removed JSON workaround for booleans

    JSON::Any 1.21 handles this, now.
    committed Jul 7, 2009
  4. Fixed a typo in Makefile.PL: s/require/requires/

    This resulted in a failure that had cpantesters reporting lots af "unknown"
    results.  It shouldn't cause much of a problem outside of cpantesters since
    the JSON::Any requirment *should* pull in a valid JSON handler.
    committed Jul 7, 2009
Commits on Jul 4, 2009
  1. CPAN release 3.03002

    committed Jul 4, 2009
Commits on Jul 3, 2009
  1. Use a better nonce algorithm to avoid duplicates in forked procs

    Forked processes can end up with the same rand seed.  This technique should
    avoid any possibility of a collision.
    committed Jul 3, 2009
  2. Removed documentation for previously deleted method "stringify"

    "stringify" was removed in 9f3ae4b, but I
    failed to remove the documentation for it.  It became redundante when "error"
    and "stringify" simply did the same thing, so I dropped stringify in favor of
    committed Jul 3, 2009
Commits on Jul 1, 2009
  1. Modified tests so they'll be properly sxip without a recent version o…

    …f LWP:UA
    Pod syntax test was getting skipped because the 'eval "TestUA"' wouldn't run
    with -T.  13_search.t needed lib t/lib.
    committed Jul 1, 2009
Commits on Jun 29, 2009
  1. CPAN release

    committed Jun 29, 2009
  2. Proprely subclassed Net-Twitter user classes

    Subclass Net::Twitter::Core rather than using Net::Twitter->new.  Added tests
    for Net-Twitter user classes: Net::Identica, Net::Twitter::Search, and
    Made _create_anon_class a private anonymous sub.  Repos version of Moose 0.85
    throws a warning when accessors have no associated methods.  We'll need the
    "is => 'bare'" option when its released.
    committed Jun 26, 2009
Commits on Jun 27, 2009
  1. Require meta-method "authenticate" (simplifies building Net::Twitter:…

    Requiring "authenticate" makes building Net::Twitter::Lite easier, and removes
    one logic test in API calls at the expense of storing it for every method.
    committed Jun 27, 2009
Commits on Jun 26, 2009
  1. Improved subclassing support and added subclass tests

    Elimianated the need for caching classes in Net::Twitter; let Moose do it.
    committed Jun 26, 2009
  2. CPAN release 3.03000

    committed Jun 26, 2009
  3. Twitter API update: new_direct_message prams; new show_friendship method

    Added screen_name and user_id parameters to new_direct_messages.  Added the
    new show_friendship method with a show_relationship alias.
    committed Jun 26, 2009
  4. Make Net::Twitter safe for subclassing

    Completely reworked construction by copying much of the MooseX::Traits
    internals into lib/Net/ and modifying them.
    Calling Net::Twitter's "new" method now results in an anon class created with
    supperclasses set to the subclass (if any) and and Net::Twitter::Core.  Now,
    subclasses that use Net::Twitter's "new" method get included in the
    superclasses so their methods as well as Net::Twitter::Core's can be found.
    I also duplicated Moose::Meta::Class' anon class caching technique allowing me
    to check to see if a class is in the cache, first.  If not, I create the anon
    class then make it immutable.  It wasn't possible to make the class immutable
    with MooseX::Traits. (Subclasses aren't made immutable, since they might not
    be Moose classes.)
    committed Jun 26, 2009
Commits on Jun 24, 2009
  1. Validate method attribute names passed to constructor

    This is poor-man's MooseX::StrictConstructor substitute. I need to see if I
    can make MX::SC work, here. (TODO)
    committed Jun 24, 2009
  2. Added authenticate option to API calls

    Allow forcing or suppressing an Authorization header on a per-API call basis.
    APIs are defined with a default "authenticate" value.  Individual method
    definitions can override that value.  And, finally, the value can be
    overridden at runtime by the user.  Authorization headers are only sent if
    the "authenticate" argument to to _authenticated_request is true AND user
    crendetials (username and password for Basic Authentication; access tokens for
    OAuth) are present.
    This will finally allow calling rate_limit_status both authenticated (for
    per-user rate_limit_status) and un-authenticated (for IP address
    committed Jun 24, 2009
  3. Improved implementation of token and url accessors

    I flattened oauth_urls in BUILDAGS so the urls become first class attributes
    instead of members of a HASH ref with custom accessors.
    I inflate urls to URI objects on read access.  I intentionally do not coerce
    them to URIs and just provide read access because that would result in subtle
    and perhaps surprising changes.  E.g.,
         my $uri = $self->authorization_url;
         $uri->query_form(oauth_token => $self->request_token);
         return $uri;
    Would result in a change to $self->authorization_url.  If coerced into URI, I
    would want the reader to return a clone.  This seems easier.
    committed Jun 24, 2009