gem owner -a/r command is used to add or remove owners by an email. This method requires that the user has the gem CLI configures on a host. Option of adding and removing owners through the web UI would facilitate friction-less transfer of gem ownership. To avoid spamming, adding a new owner would require a confirmation from the user being added. We will update the existing POST - /api/v1/gems/[GEM NAME]/owners to follow the same process where a confirmation is required. Additionally, We will make owner add/remove events notifiable, ie users can opt-in to receive email notification about ownership changes of a gem.

We are also hoping to add a new flow for ownership transfers, where users can make ownership request for any gem with less than 100_000 downloads and older than 12 months updated at time. When a gem owner approves an ownership request, the requester would be added as an owner to the gem. Gem owners who are looking for new maintainers/owners would be able to request ownership application. These application will be searchable and listed on a site wide link.

RubyGSOC 2020 Final Report

https://vachhanihpavan.github.io/2020-08-21-gsoc-2020-final-report/

Status Updates

Week 12 (08/21/2020)

  1. What did you accomplish this past week?
    • Rework on rack-attack rate limiting configuration.
    • Finished final report
  2. What obstacles are impeding your progress?
    • None
  3. Would you like help from some mentor for this task?
    • No

Week 11 (08/14/2020)

  1. What did you accomplish this past week?
    • Resolve review comments on ownership confirmation PR
    • Changed notification from all owners to only removed user on owner removal.
  2. What will you do this upcoming week?
    • Get reviews on the PR and resolve the review comments if any.
    • Work on drafting final GSoC report.
  3. What obstacles are impeding your progress?
    • None
  4. Would you like help from some mentor for this task?
    • No

Week 10 (08/07/2020)

  1. What did you accomplish this past week?
  2. What will you do this upcoming week?
    • Get review on the PR and resolve the review comments if any.
  3. What obstacles are impeding your progress?
    • None
  4. Would you like help from some mentor for this task?
    • No

Week 9 (07/31/2020)

  1. What did you accomplish this past week?
    • Finished implementation of ownership requests feature
  2. What will you do this upcoming week?
    • Start writing tests for ownership calls and requests
    • I18nize strings, add mailers and other improvements
  3. What obstacles are impeding your progress?
    • None
  4. Would you like help from some mentor for this task?
    • No

Week 8 (07/24/2020)

  1. What did you accomplish this past week?
    • Started with implementing ownership call controller and model
  2. What will you do this upcoming week?
    • Finish ownership calls UI
    • Start working on ownership requests features
  3. What obstacles are impeding your progress?
    • None
  4. Would you like help from some mentor for this task?
    • No

Week 7 (07/17/2020)

  1. What did you accomplish this past week?
    • Added Rack Attack configuration with tests for rate limiting to prevent abuse of email service.
    • Resolve review comments on Ownership confirmation PR
    • Rename a few terms in Ownership RFC based on community suggestions
  2. What will you do this upcoming week?
    • Start working on the ownership transfer part of the project.
    • Will work on writing model, controller and views for ownership calls.
  3. What obstacles are impeding your progress?
    • None
  4. Would you like help from some mentor for this task?
    • No

Week 6 (07/10/2020)

  1. What did you accomplish this past week?
  2. What will you do this upcoming week?
    • Add rate limiting with Rack Attack on newly added endpoints
  3. What obstacles are impeding your progress?
    • None
  4. Would you like help from some mentor for this task?
    • No

Week 5 (07/03/2020)

  1. What did you accomplish this past week?
  2. What will you do this upcoming week?
  3. What obstacles are impeding your progress?
    • None
  4. Would you like help from some mentor for this task?
    • No

Week 4 (06/26/2020)

  1. What did you accomplish this past week?
  2. What will you do this upcoming week?
    • Fix the issues pointed on the PR
    • Work on improving code quality and minimise the changes in existing code.
  3. What obstacles are impeding your progress?
    • None
  4. Would you like help from some mentor for this task?
    • No

Week 3 (06/19/2020)

  1. What did you accomplish this past week?
  2. What will you do this upcoming week?
    • Fix the issues pointed on the PR
    • Add tests for the new code
  3. What obstacles are impeding your progress?
    • None
  4. Would you like help from some mentor for this task?
    • No