There are many chances to improve RBS (the standard type signature for Ruby) toolchain. One of the major areas waiting for improvements is generating RBS from other type definitions, like RDB schema and schema for serialization formats.

The followings are examples of the projects:

You can propose any idea to improve the RBS toolchain. (You will find a missing piece easily if you try to use the tools. đź’¨)

RubyGSOC 2020 Final Report

https://writtensomeday.blogspot.com/2020/08/google-summer-of-code-2020-final-report.html

Status Updates

Week 10 (08/11/2020)

  1. What did you accomplish this past week?
    • Continued to implement rbs subtract in topic branch
  2. What will you do this upcoming week?
    • Investigate and add codes for subtract
  3. What obstacles are impeding your progress?
    • None
  4. Would you like help from some mentors for this task?
    • No

Week 9 (08/04/2020)

  1. What did you accomplish this past week?
  2. What will you do this upcoming week?
    • Continue to implement rbs subtract in above topic branch
  3. What obstacles are impeding your progress?
    • None
  4. Would you like help from some mentors for this task?
    • No

Week 8 (07/28/2020)

  1. What did you accomplish this past week?
    • Investigated some problems of steep check
    • Investigated a problem and created PR about steep watch
  2. What will you do this upcoming week?
    • Improve above PR
    • Check RBS codes to implement rbs subtract
      • This would be helpful to merge machine-generated RBS with hand-written RBS
  3. What obstacles are impeding your progress?
    • None
  4. Would you like help from some mentors for this task?
    • No

Week 7 (07/21/2020)

  1. What did you accomplish this past week?
    • Updated to follow new syntax of RBS in Mastodon
    • Tried to improve speed on interrupting steep watch
    • Tried to fix Steep’s problem about ::String | false
    • Setup LSP package on local Emacs and check behavior of Steep
  2. What will you do this upcoming week?
    • Create an issue of ::String | false
    • Create a PR about steep watch
  3. What obstacles are impeding your progress?
    • None
  4. Would you like help from some mentors for this task?
    • No

Week 6 (07/10/2020)

  1. What did you accomplish this past week?
    • Improved RBS Rails to auto-generate more signatures about DB columns pocke/rbs_rails#32
      • boolean_attr? (end with ?), anyattr_changed? (_changed? suffix), etc
    • Finished to annotate User model of Mastodon
      • Used the improved RBS Rails with pocke/rbs_rails#32
      • 2 errors remain. One seems to be a problem of Steep, another seems a dead-code of implementation
    • Tried to fix the above issue of Steep (not completed)
  2. What will you do this upcoming week?
    • Investigate the issue of Steep
    • Investigate and improve steep watch
  3. What obstacles are impeding your progress?
    • None
  4. Would you like help from some mentors 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?
    • Continue to type (write signatures) of Mastodon’s User model
    • Improve some behavior of steep watch
    • Auto-generate additional signatures with RBS Rails for some Rails model convention
      • foo? method for a boolean column foo
      • foo_changed? method for a column foo
  3. What obstacles are impeding your progress?
    • None
  4. Would you like help from some mentors for this task?
    • No for now, but I’ll continue to communicate

Week 4 (06/26/2020)

  1. What did you accomplish this past week?
  2. What will you do this upcoming week?
    • Improve and (hopefully) complete typing of Mastodon’s User model
    • Create a PR for some lacked signatures in RBS Rails
    • Catch up for a new syntax of RBS and its PR
  3. What obstacles are impeding your progress?
    • None
  4. Would you like help from some mentors for this task?
    • No

Week 3 (06/19/2020)

  1. What did you accomplish this past week?
    • Fixed an issue of RBS about anonymous modules / classes: ruby/rbs#302
    • Typing Ruby CI, a small but practical Rails app, is mostly completed
      • Some bugs found with RBS!
    • With typing of Ruby CI, many bugs and features found to be improved in RBS / Steep
  2. What will you do this upcoming week?
    • Just report or fix some of the found bugs
    • Type some parts of larger Rails apps than Ruby CI (e.g Discourse or Mastodon or some other)
  3. What obstacles are impeding your progress?
    • Nothing!
  4. Would you like help from some mentor for this task?
    • No for now

Week 2 (06/12/2020)

  1. What did you accomplish this past week?
  2. What will you do this upcoming week?
    • Mostly complete to add signatures of RubyCI
    • Fix ruby/rbs#301
    • Fix RBS Rails with adding signatures of ActiveRecord::Base methods
  3. What obstacles are impeding your progress?
    • None
  4. Would you like help from some mentor for this task?
    • No

Week 1 (06/07/2020)

  1. What did you accomplish this past week?
    • Revised project’s description in https://summerofcode.withgoogle.com/
    • Created small fix PRs for RBS and RBS Rails
    • Tried to work with steep langserver
    • Add some signatures of RubyCI
  2. What will you do this upcoming week?
    • Continue to add signatures of RubyCI
    • Try rbs prototype runtime for Rails apps
      • eager_load! would be needed
  3. What obstacles are impeding your progress?
    • None
  4. Would you like help from some mentor for this task?
    • No