Permalink
Commits on May 15, 2017
  1. Merge pull request #53 from fphilipe/fix-membership-cache

    atmos committed May 15, 2017
    Persist membership cache between requests
  2. Merge pull request #54 from fphilipe/maintenance

    atmos committed May 15, 2017
    Upgrade things
Commits on May 13, 2017
  1. Bump version

    fphilipe committed May 13, 2017
  2. Use new symbol syntax

    fphilipe committed May 13, 2017
  3. Upgrade to rspec 3.6

    fphilipe committed May 13, 2017
    This conversion is done by Transpec 3.3.0 with the following command:
        transpec
    
    * 58 conversions
        from: obj.should
          to: expect(obj).to
    
    * 9 conversions
        from: obj.should_not
          to: expect(obj).not_to
    
    * 8 conversions
        from: obj.stub(:message => value)
          to: allow(obj).to receive_messages(:message => value)
    
    * 4 conversions
        from: obj.stub(:message)
          to: allow(obj).to receive(:message)
    
    * 3 conversions
        from: =~ /pattern/
          to: match(/pattern/)
    
    * 3 conversions
        from: obj.should_receive(:message)
          to: expect(obj).to receive(:message)
    
    * 1 conversion
        from: =~ [1, 2]
          to: match_array([1, 2])
    
    For more details: https://github.com/yujinakayama/transpec#supported-conversions
  4. Persist membership cache between requests

    fphilipe committed May 13, 2017
    The membership cache was being serialized into the user object. It was
    assumed that the user object was serialized at the end of each request.
    It turns out that this is not the case. Instead, the user object only
    gets serialized once, namely after setting the user. This means that the
    membership cache wasn't working at all between requests.
    
    This commit fixes it by not including the memberships in the serialized
    user as there's no point in doing so. Instead, after the user object is
    set up, the memberships hash get retrieved from the user session (warden
    provides a session object for each scope; if there is none, a new hash
    is stored in the session) and assigned to the user object. The hash is
    then used as before and we get the session serialization from rack for
    free.
    
    Fixes #52.
Commits on Jul 16, 2016
  1. Merge pull request #50 from sethvargo/sethvargo/strings

    atmos committed Jul 16, 2016
    Always use strings
  2. Yank ruby-head

    Seth Vargo
    Seth Vargo committed Jul 16, 2016
  3. Bump version

    Seth Vargo
    Seth Vargo committed Jul 16, 2016
  4. Always use strings

    Seth Vargo
    Seth Vargo committed Jul 16, 2016
    This fixes a really difficult issue to track down, particularly when the
    user specifies a GitHub team as an integer instead of a string. The
    resulting API call includes a string, but the cache will be an integer.
    As such, it will always force a cache lookup.
Commits on Apr 20, 2016
  1. cut 1.3.0

    atmos committed Apr 20, 2016
  2. Merge pull request #49 from fphilipe/improve-json-serialization-compa…

    atmos committed Apr 20, 2016
    …tibility
    
    Improve JSON serialization compatibility of User
  3. Improve JSON serialization compatibility of User

    fphilipe committed Apr 14, 2016
    Previously, the MembershipCache was a subclass of Hash. When serializing
    to and deserializing from JSON, the MembershipCache would become a Hash
    and blow up. This is a problem in warden-github-rails where I switched
    to a custom warden (de)serialization in order to properly support JSON
    serialization and also to support mocked users in test environments
    between requests[1].
    
    [1]: fphilipe/warden-github-rails@db82470
Commits on Feb 18, 2015
  1. Merge pull request #46 from atmos/single-sign-out

    atmos committed Feb 18, 2015
    Add basic single sign out support for GitHub properties
  2. simplify the readme

    atmos committed Feb 18, 2015
  3. cut a 1.2.0 release

    atmos committed Feb 18, 2015
  4. use the helper methods

    atmos committed Feb 18, 2015
  5. use the helper methods

    atmos committed Feb 18, 2015
  6. another pre-release

    atmos committed Feb 18, 2015
  7. fixup tests

    atmos committed Feb 18, 2015
Commits on Feb 13, 2015
Commits on Jan 15, 2015