type_toolkit 0.0.4 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +45 -1
  3. data/benchmark/.rubocop.yml +7 -0
  4. data/benchmark/abstract_methods_benchmark.rb +221 -0
  5. data/benchmark/interface_startup_performance.rb +128 -0
  6. data/benchmark/module_benchmark.rb +62 -0
  7. data/config/default.yml +5 -0
  8. data/docs/design/inherited_implementation_problem.md +119 -0
  9. data/docs/design/self_dot_methods.md +79 -0
  10. data/lib/rubocop/cop/type_toolkit/plugin.rb +2 -1
  11. data/lib/rubocop/cop/type_toolkit/prefer_not_nil.rb +96 -0
  12. data/lib/rubocop-type_toolkit.rb +1 -0
  13. data/lib/type_toolkit/abstract_method_receiver.rb +39 -0
  14. data/lib/type_toolkit/dsl.rb +64 -0
  15. data/lib/type_toolkit/ext/method.rb +11 -0
  16. data/lib/type_toolkit/ext/module.rb +7 -0
  17. data/lib/type_toolkit/ext/nil_assertions.rb +3 -1
  18. data/lib/type_toolkit/has_abstract_methods.rb +108 -0
  19. data/lib/type_toolkit/interface.rb +38 -0
  20. data/lib/type_toolkit/method_def_recorder.rb +53 -0
  21. data/lib/type_toolkit/method_patch.rb +16 -0
  22. data/lib/type_toolkit/version.rb +1 -1
  23. data/lib/type_toolkit.rb +3 -0
  24. data/sorbet/config +3 -1
  25. data/sorbet/rbi/gems/benchmark-ips@2.14.0.rbi +981 -0
  26. data/sorbet/rbi/gems/{erb@6.0.1.rbi → erb@6.0.1.1.rbi} +2 -2
  27. data/sorbet/rbi/gems/{json@2.18.1.rbi → json@2.19.9.rbi} +115 -161
  28. data/sorbet/rbi/gems/minitest@5.27.0.rbi +707 -0
  29. data/sorbet/rbi/gems/rexml@3.4.4.rbi +0 -167
  30. data/sorbet/rbi/gems/rubocop-ast@1.49.0.rbi +6 -0
  31. data/sorbet/rbi/gems/rubocop@1.84.2.rbi +7 -0
  32. data/sorbet/rbi/gems/tapioca@0.17.10.rbi +1 -0
  33. data/sorbet/rbi/gems/{yard@0.9.38.rbi → yard@0.9.44.rbi} +1206 -241
  34. data/sorbet/rbi/shims/core.rbi +19 -0
  35. data/sorbet/rbi/shims/minitest.rbi +5 -2
  36. data/spec/interface_spec.rb +405 -0
  37. data/spec/rubocop/cop/type_toolkit/prefer_not_nil_spec.rb +229 -0
  38. data/spec/spec_helper.rb +14 -0
  39. metadata +23 -4
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: type_toolkit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Momchilov
@@ -52,12 +52,27 @@ files:
52
52
  - ".ruby-version"
53
53
  - README.md
54
54
  - Rakefile
55
+ - benchmark/.rubocop.yml
56
+ - benchmark/abstract_methods_benchmark.rb
57
+ - benchmark/interface_startup_performance.rb
58
+ - benchmark/module_benchmark.rb
55
59
  - config/default.yml
60
+ - docs/design/inherited_implementation_problem.md
61
+ - docs/design/self_dot_methods.md
56
62
  - lib/rubocop-type_toolkit.rb
57
63
  - lib/rubocop/cop/type_toolkit/dont_expect_unexpected_nil.rb
58
64
  - lib/rubocop/cop/type_toolkit/plugin.rb
65
+ - lib/rubocop/cop/type_toolkit/prefer_not_nil.rb
59
66
  - lib/type_toolkit.rb
67
+ - lib/type_toolkit/abstract_method_receiver.rb
68
+ - lib/type_toolkit/dsl.rb
69
+ - lib/type_toolkit/ext/method.rb
70
+ - lib/type_toolkit/ext/module.rb
60
71
  - lib/type_toolkit/ext/nil_assertions.rb
72
+ - lib/type_toolkit/has_abstract_methods.rb
73
+ - lib/type_toolkit/interface.rb
74
+ - lib/type_toolkit/method_def_recorder.rb
75
+ - lib/type_toolkit/method_patch.rb
61
76
  - lib/type_toolkit/version.rb
62
77
  - sig/type_toolkit.rbs
63
78
  - sorbet/config
@@ -66,12 +81,13 @@ files:
66
81
  - sorbet/rbi/annotations/rainbow.rbi
67
82
  - sorbet/rbi/gems/.gitattributes
68
83
  - sorbet/rbi/gems/ast@2.4.3.rbi
84
+ - sorbet/rbi/gems/benchmark-ips@2.14.0.rbi
69
85
  - sorbet/rbi/gems/benchmark@0.5.0.rbi
70
86
  - sorbet/rbi/gems/date@3.5.1.rbi
71
- - sorbet/rbi/gems/erb@6.0.1.rbi
87
+ - sorbet/rbi/gems/erb@6.0.1.1.rbi
72
88
  - sorbet/rbi/gems/erubi@1.13.1.rbi
73
89
  - sorbet/rbi/gems/io-console@0.8.2.rbi
74
- - sorbet/rbi/gems/json@2.18.1.rbi
90
+ - sorbet/rbi/gems/json@2.19.9.rbi
75
91
  - sorbet/rbi/gems/language_server-protocol@3.17.0.5.rbi
76
92
  - sorbet/rbi/gems/lint_roller@1.1.0.rbi
77
93
  - sorbet/rbi/gems/logger@1.7.0.rbi
@@ -107,15 +123,18 @@ files:
107
123
  - sorbet/rbi/gems/unicode-display_width@3.2.0.rbi
108
124
  - sorbet/rbi/gems/unicode-emoji@4.2.0.rbi
109
125
  - sorbet/rbi/gems/yard-sorbet@0.9.0.rbi
110
- - sorbet/rbi/gems/yard@0.9.38.rbi
126
+ - sorbet/rbi/gems/yard@0.9.44.rbi
127
+ - sorbet/rbi/shims/core.rbi
111
128
  - sorbet/rbi/shims/minitest.rbi
112
129
  - sorbet/rbi/shims/rubocop_minitest.rbi
113
130
  - sorbet/rbi/todo.rbi
114
131
  - sorbet/tapioca/config.yml
115
132
  - sorbet/tapioca/require.rb
116
133
  - spec/.rubocop.yml
134
+ - spec/interface_spec.rb
117
135
  - spec/nil_assertions_spec.rb
118
136
  - spec/rubocop/cop/type_toolkit/dont_expect_unexpected_nil_spec.rb
137
+ - spec/rubocop/cop/type_toolkit/prefer_not_nil_spec.rb
119
138
  - spec/spec_helper.rb
120
139
  - spec/type_toolkit_spec.rb
121
140
  homepage: https://github.com/Shopify/type_kit