alchemrest-sentry 1.0.0

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 (122) hide show
  1. checksums.yaml +7 -0
  2. data/.rspec +3 -0
  3. data/.rubocop.yml +22 -0
  4. data/.rubocop_todo.yml +20 -0
  5. data/.ruby-version +1 -0
  6. data/Appraisals +9 -0
  7. data/Gemfile +8 -0
  8. data/Gemfile.lock +385 -0
  9. data/README.md +30 -0
  10. data/Rakefile +29 -0
  11. data/alchemrest-sentry.gemspec +53 -0
  12. data/coach.yml +5 -0
  13. data/gemfiles/rails_7_0.gemfile.lock +341 -0
  14. data/gemfiles/rails_7_2.gemfile +8 -0
  15. data/gemfiles/rails_7_2.gemfile.lock +376 -0
  16. data/gemfiles/rails_8_0.gemfile +8 -0
  17. data/gemfiles/rails_8_0.gemfile.lock +377 -0
  18. data/lib/alchemrest/sentry/version.rb +7 -0
  19. data/lib/alchemrest/sentry.rb +54 -0
  20. data/lib/alchemrest_sentry.rb +5 -0
  21. data/mutant.yml +16 -0
  22. data/sorbet/config +5 -0
  23. data/sorbet/rbi/gems/.gitattributes +1 -0
  24. data/sorbet/rbi/gems/abstract_type@0.0.7.rbi +41 -0
  25. data/sorbet/rbi/gems/actionpack@8.0.2.rbi +9 -0
  26. data/sorbet/rbi/gems/actionview@8.0.2.rbi +9 -0
  27. data/sorbet/rbi/gems/activemodel@8.0.2.rbi +2891 -0
  28. data/sorbet/rbi/gems/activesupport@8.0.2.rbi +9301 -0
  29. data/sorbet/rbi/gems/adamantium@0.2.0.rbi +144 -0
  30. data/sorbet/rbi/gems/addressable@2.8.7.rbi +779 -0
  31. data/sorbet/rbi/gems/alchemrest@3.1.0.rbi +2455 -0
  32. data/sorbet/rbi/gems/anima@0.3.2.rbi +103 -0
  33. data/sorbet/rbi/gems/ast@2.4.3.rbi +107 -0
  34. data/sorbet/rbi/gems/base64@0.3.0.rbi +52 -0
  35. data/sorbet/rbi/gems/benchmark@0.4.1.rbi +147 -0
  36. data/sorbet/rbi/gems/bigdecimal@3.2.0.rbi +29 -0
  37. data/sorbet/rbi/gems/builder@3.3.0.rbi +9 -0
  38. data/sorbet/rbi/gems/circuitbox@2.0.0.rbi +297 -0
  39. data/sorbet/rbi/gems/concord@0.1.6.rbi +51 -0
  40. data/sorbet/rbi/gems/concurrent-ruby@1.3.5.rbi +4716 -0
  41. data/sorbet/rbi/gems/connection_pool@2.5.3.rbi +9 -0
  42. data/sorbet/rbi/gems/crack@1.0.0.rbi +110 -0
  43. data/sorbet/rbi/gems/crass@1.0.6.rbi +9 -0
  44. data/sorbet/rbi/gems/date@3.4.1.rbi +58 -0
  45. data/sorbet/rbi/gems/drb@2.2.3.rbi +639 -0
  46. data/sorbet/rbi/gems/equalizer@0.0.11.rbi +38 -0
  47. data/sorbet/rbi/gems/erb@5.0.1.rbi +306 -0
  48. data/sorbet/rbi/gems/erubi@1.13.1.rbi +85 -0
  49. data/sorbet/rbi/gems/faraday-net_http@3.4.2.rbi +143 -0
  50. data/sorbet/rbi/gems/faraday@2.14.1.rbi +1797 -0
  51. data/sorbet/rbi/gems/hansi@0.2.1.rbi +392 -0
  52. data/sorbet/rbi/gems/hashdiff@1.2.0.rbi +174 -0
  53. data/sorbet/rbi/gems/i18n@1.14.7.rbi +1328 -0
  54. data/sorbet/rbi/gems/ice_nine@0.11.2.rbi +145 -0
  55. data/sorbet/rbi/gems/io-console@0.8.0.rbi +9 -0
  56. data/sorbet/rbi/gems/json@2.18.1.rbi +363 -0
  57. data/sorbet/rbi/gems/language_server-protocol@3.17.0.5.rbi +9 -0
  58. data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +103 -0
  59. data/sorbet/rbi/gems/logger@1.7.0.rbi +260 -0
  60. data/sorbet/rbi/gems/loofah@2.24.1.rbi +9 -0
  61. data/sorbet/rbi/gems/memoizable@0.4.2.rbi +131 -0
  62. data/sorbet/rbi/gems/memosa@0.8.3.rbi +185 -0
  63. data/sorbet/rbi/gems/minitest@5.25.5.rbi +824 -0
  64. data/sorbet/rbi/gems/money@6.19.0.rbi +815 -0
  65. data/sorbet/rbi/gems/morpher@0.4.2.rbi +388 -0
  66. data/sorbet/rbi/gems/mprelude@0.1.0.rbi +140 -0
  67. data/sorbet/rbi/gems/multi_json@1.15.0.rbi +180 -0
  68. data/sorbet/rbi/gems/mustermann-contrib@3.0.3.rbi +658 -0
  69. data/sorbet/rbi/gems/mustermann@3.0.3.rbi +809 -0
  70. data/sorbet/rbi/gems/net-http@0.9.1.rbi +1012 -0
  71. data/sorbet/rbi/gems/netrc@0.11.0.rbi +112 -0
  72. data/sorbet/rbi/gems/nokogiri@1.19.1.rbi +9 -0
  73. data/sorbet/rbi/gems/parallel@1.27.0.rbi +234 -0
  74. data/sorbet/rbi/gems/parser@3.3.8.0.rbi +4883 -0
  75. data/sorbet/rbi/gems/pp@0.6.2.rbi +176 -0
  76. data/sorbet/rbi/gems/prettyprint@0.2.0.rbi +155 -0
  77. data/sorbet/rbi/gems/prism@1.4.0.rbi +26357 -0
  78. data/sorbet/rbi/gems/procto@0.0.3.rbi +9 -0
  79. data/sorbet/rbi/gems/psych@5.2.6.rbi +1173 -0
  80. data/sorbet/rbi/gems/public_suffix@6.0.2.rbi +267 -0
  81. data/sorbet/rbi/gems/racc@1.8.1.rbi +122 -0
  82. data/sorbet/rbi/gems/rack-session@2.1.1.rbi +9 -0
  83. data/sorbet/rbi/gems/rack-test@2.2.0.rbi +9 -0
  84. data/sorbet/rbi/gems/rack@3.1.20.rbi +2801 -0
  85. data/sorbet/rbi/gems/rackup@2.2.1.rbi +132 -0
  86. data/sorbet/rbi/gems/rails-dom-testing@2.3.0.rbi +9 -0
  87. data/sorbet/rbi/gems/rails-html-sanitizer@1.6.2.rbi +9 -0
  88. data/sorbet/rbi/gems/railties@8.0.2.rbi +568 -0
  89. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +333 -0
  90. data/sorbet/rbi/gems/rake@13.3.0.rbi +1955 -0
  91. data/sorbet/rbi/gems/rbi@0.3.3.rbi +4551 -0
  92. data/sorbet/rbi/gems/rbs@3.9.4.rbi +5583 -0
  93. data/sorbet/rbi/gems/rdoc@6.14.0.rbi +6843 -0
  94. data/sorbet/rbi/gems/regexp_parser@2.11.3.rbi +3020 -0
  95. data/sorbet/rbi/gems/reline@0.6.1.rbi +9 -0
  96. data/sorbet/rbi/gems/rexml@3.4.1.rbi +1931 -0
  97. data/sorbet/rbi/gems/rubocop-ast@1.44.1.rbi +5236 -0
  98. data/sorbet/rbi/gems/rubocop@1.75.8.rbi +32674 -0
  99. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +980 -0
  100. data/sorbet/rbi/gems/ruby2_keywords@0.0.5.rbi +9 -0
  101. data/sorbet/rbi/gems/securerandom@0.4.1.rbi +33 -0
  102. data/sorbet/rbi/gems/sentry-ruby@5.24.0.rbi +4076 -0
  103. data/sorbet/rbi/gems/spoom@1.6.3.rbi +4612 -0
  104. data/sorbet/rbi/gems/stringio@3.1.7.rbi +9 -0
  105. data/sorbet/rbi/gems/tapioca@0.16.11.rbi +3417 -0
  106. data/sorbet/rbi/gems/thor@1.4.0.rbi +2015 -0
  107. data/sorbet/rbi/gems/thread_safe@0.3.6.rbi +711 -0
  108. data/sorbet/rbi/gems/timeout@0.4.3.rbi +80 -0
  109. data/sorbet/rbi/gems/tzinfo@2.0.6.rbi +1677 -0
  110. data/sorbet/rbi/gems/unicode-display_width@3.1.4.rbi +106 -0
  111. data/sorbet/rbi/gems/unicode-emoji@4.0.4.rbi +178 -0
  112. data/sorbet/rbi/gems/uri@1.1.1.rbi +760 -0
  113. data/sorbet/rbi/gems/useragent@0.16.11.rbi +9 -0
  114. data/sorbet/rbi/gems/webmock@3.25.1.rbi +1368 -0
  115. data/sorbet/rbi/gems/yard-sorbet@0.9.0.rbi +345 -0
  116. data/sorbet/rbi/gems/yard@0.9.37.rbi +8762 -0
  117. data/sorbet/rbi/gems/zeitwerk@2.7.3.rbi +9 -0
  118. data/sorbet/tapioca/config.yml +45 -0
  119. data/sorbet/tapioca/require.rb +2 -0
  120. data/sorbet/tapioca/sorbet/rbi/dsl/.gitattributes +1 -0
  121. data/sorbet/tapioca/sorbet/rbi/dsl/active_support/callbacks.rbi +23 -0
  122. metadata +379 -0
@@ -0,0 +1,260 @@
1
+ # typed: false
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `logger` gem.
5
+ # Please instead update this file by running `bin/tapioca gem logger`.
6
+
7
+
8
+ # source://logger//lib/logger/version.rb#3
9
+ class Logger
10
+ include ::Logger::Severity
11
+
12
+ # source://logger//lib/logger.rb#598
13
+ def initialize(logdev, shift_age = T.unsafe(nil), shift_size = T.unsafe(nil), level: T.unsafe(nil), progname: T.unsafe(nil), formatter: T.unsafe(nil), datetime_format: T.unsafe(nil), binmode: T.unsafe(nil), shift_period_suffix: T.unsafe(nil), reraise_write_errors: T.unsafe(nil), skip_header: T.unsafe(nil)); end
14
+
15
+ # source://logger//lib/logger.rb#708
16
+ def <<(msg); end
17
+
18
+ # source://logger//lib/logger.rb#675
19
+ def add(severity, message = T.unsafe(nil), progname = T.unsafe(nil)); end
20
+
21
+ # source://logger//lib/logger.rb#755
22
+ def close; end
23
+
24
+ # source://logger//lib/logger.rb#438
25
+ def datetime_format; end
26
+
27
+ # source://logger//lib/logger.rb#432
28
+ def datetime_format=(datetime_format); end
29
+
30
+ # source://logger//lib/logger.rb#714
31
+ def debug(progname = T.unsafe(nil), &block); end
32
+
33
+ # source://logger//lib/logger.rb#487
34
+ def debug!; end
35
+
36
+ # source://logger//lib/logger.rb#482
37
+ def debug?; end
38
+
39
+ # source://logger//lib/logger.rb#732
40
+ def error(progname = T.unsafe(nil), &block); end
41
+
42
+ # source://logger//lib/logger.rb#520
43
+ def error!; end
44
+
45
+ # source://logger//lib/logger.rb#515
46
+ def error?; end
47
+
48
+ # source://logger//lib/logger.rb#738
49
+ def fatal(progname = T.unsafe(nil), &block); end
50
+
51
+ # source://logger//lib/logger.rb#531
52
+ def fatal!; end
53
+
54
+ # source://logger//lib/logger.rb#526
55
+ def fatal?; end
56
+
57
+ # source://logger//lib/logger.rb#473
58
+ def formatter; end
59
+
60
+ # source://logger//lib/logger.rb#473
61
+ def formatter=(_arg0); end
62
+
63
+ # source://logger//lib/logger.rb#720
64
+ def info(progname = T.unsafe(nil), &block); end
65
+
66
+ # source://logger//lib/logger.rb#498
67
+ def info!; end
68
+
69
+ # source://logger//lib/logger.rb#493
70
+ def info?; end
71
+
72
+ # source://logger//lib/logger.rb#383
73
+ def level; end
74
+
75
+ # source://logger//lib/logger.rb#399
76
+ def level=(severity); end
77
+
78
+ # source://logger//lib/logger.rb#675
79
+ def log(severity, message = T.unsafe(nil), progname = T.unsafe(nil)); end
80
+
81
+ # source://logger//lib/logger.rb#422
82
+ def progname; end
83
+
84
+ # source://logger//lib/logger.rb#422
85
+ def progname=(_arg0); end
86
+
87
+ # source://logger//lib/logger.rb#642
88
+ def reopen(logdev = T.unsafe(nil), shift_age = T.unsafe(nil), shift_size = T.unsafe(nil), shift_period_suffix: T.unsafe(nil), binmode: T.unsafe(nil)); end
89
+
90
+ # source://logger//lib/logger.rb#383
91
+ def sev_threshold; end
92
+
93
+ # source://logger//lib/logger.rb#399
94
+ def sev_threshold=(severity); end
95
+
96
+ # source://logger//lib/logger.rb#744
97
+ def unknown(progname = T.unsafe(nil), &block); end
98
+
99
+ # source://logger//lib/logger.rb#726
100
+ def warn(progname = T.unsafe(nil), &block); end
101
+
102
+ # source://logger//lib/logger.rb#509
103
+ def warn!; end
104
+
105
+ # source://logger//lib/logger.rb#504
106
+ def warn?; end
107
+
108
+ # source://logger//lib/logger.rb#408
109
+ def with_level(severity); end
110
+
111
+ private
112
+
113
+ # source://logger//lib/logger.rb#786
114
+ def format_message(severity, datetime, progname, msg); end
115
+
116
+ # source://logger//lib/logger.rb#764
117
+ def format_severity(severity); end
118
+
119
+ # source://logger//lib/logger.rb#782
120
+ def level_key; end
121
+
122
+ # source://logger//lib/logger.rb#769
123
+ def level_override; end
124
+ end
125
+
126
+ # source://logger//lib/logger/formatter.rb#5
127
+ class Logger::Formatter
128
+ # source://logger//lib/logger/formatter.rb#11
129
+ def initialize; end
130
+
131
+ # source://logger//lib/logger/formatter.rb#15
132
+ def call(severity, time, progname, msg); end
133
+
134
+ # source://logger//lib/logger/formatter.rb#9
135
+ def datetime_format; end
136
+
137
+ # source://logger//lib/logger/formatter.rb#9
138
+ def datetime_format=(_arg0); end
139
+
140
+ private
141
+
142
+ # source://logger//lib/logger/formatter.rb#21
143
+ def format_datetime(time); end
144
+
145
+ # source://logger//lib/logger/formatter.rb#25
146
+ def msg2str(msg); end
147
+ end
148
+
149
+ # source://logger//lib/logger/formatter.rb#7
150
+ Logger::Formatter::DatetimeFormat = T.let(T.unsafe(nil), String)
151
+
152
+ # source://logger//lib/logger/formatter.rb#6
153
+ Logger::Formatter::Format = T.let(T.unsafe(nil), String)
154
+
155
+ # source://logger//lib/logger/log_device.rb#7
156
+ class Logger::LogDevice
157
+ include ::Logger::Period
158
+ include ::MonitorMixin
159
+
160
+ # source://logger//lib/logger/log_device.rb#14
161
+ def initialize(log = T.unsafe(nil), shift_age: T.unsafe(nil), shift_size: T.unsafe(nil), shift_period_suffix: T.unsafe(nil), binmode: T.unsafe(nil), reraise_write_errors: T.unsafe(nil), skip_header: T.unsafe(nil)); end
162
+
163
+ # source://logger//lib/logger/log_device.rb#38
164
+ def close; end
165
+
166
+ # source://logger//lib/logger/log_device.rb#10
167
+ def dev; end
168
+
169
+ # source://logger//lib/logger/log_device.rb#11
170
+ def filename; end
171
+
172
+ # source://logger//lib/logger/log_device.rb#48
173
+ def reopen(log = T.unsafe(nil), shift_age: T.unsafe(nil), shift_size: T.unsafe(nil), shift_period_suffix: T.unsafe(nil), binmode: T.unsafe(nil)); end
174
+
175
+ # source://logger//lib/logger/log_device.rb#27
176
+ def write(message); end
177
+
178
+ private
179
+
180
+ # source://logger//lib/logger/log_device.rb#156
181
+ def add_log_header(file); end
182
+
183
+ # source://logger//lib/logger/log_device.rb#162
184
+ def check_shift_log; end
185
+
186
+ # source://logger//lib/logger/log_device.rb#132
187
+ def create_logfile(filename); end
188
+
189
+ # source://logger//lib/logger/log_device.rb#104
190
+ def fixup_mode(dev); end
191
+
192
+ # source://logger//lib/logger/log_device.rb#148
193
+ def handle_write_errors(mesg); end
194
+
195
+ # source://logger//lib/logger/log_device.rb#177
196
+ def lock_shift_log; end
197
+
198
+ # source://logger//lib/logger/log_device.rb#119
199
+ def open_logfile(filename); end
200
+
201
+ # source://logger//lib/logger/log_device.rb#78
202
+ def set_dev(log); end
203
+
204
+ # source://logger//lib/logger/log_device.rb#92
205
+ def set_file(shift_age, shift_size, shift_period_suffix); end
206
+
207
+ # source://logger//lib/logger/log_device.rb#207
208
+ def shift_log_age; end
209
+
210
+ # source://logger//lib/logger/log_device.rb#232
211
+ def shift_log_file(shifted); end
212
+
213
+ # source://logger//lib/logger/log_device.rb#216
214
+ def shift_log_period(period_end); end
215
+ end
216
+
217
+ # source://logger//lib/logger/log_device.rb#69
218
+ Logger::LogDevice::MODE = T.let(T.unsafe(nil), Integer)
219
+
220
+ # source://logger//lib/logger/log_device.rb#76
221
+ Logger::LogDevice::MODE_TO_CREATE = T.let(T.unsafe(nil), Integer)
222
+
223
+ # source://logger//lib/logger/log_device.rb#72
224
+ Logger::LogDevice::MODE_TO_OPEN = T.let(T.unsafe(nil), Integer)
225
+
226
+ # source://logger//lib/logger/period.rb#4
227
+ module Logger::Period
228
+ private
229
+
230
+ # source://logger//lib/logger/period.rb#9
231
+ def next_rotate_time(now, shift_age); end
232
+
233
+ # source://logger//lib/logger/period.rb#31
234
+ def previous_period_end(now, shift_age); end
235
+
236
+ class << self
237
+ # source://logger//lib/logger/period.rb#9
238
+ def next_rotate_time(now, shift_age); end
239
+
240
+ # source://logger//lib/logger/period.rb#31
241
+ def previous_period_end(now, shift_age); end
242
+ end
243
+ end
244
+
245
+ # source://logger//lib/logger/period.rb#7
246
+ Logger::Period::SiD = T.let(T.unsafe(nil), Integer)
247
+
248
+ # source://logger//lib/logger.rb#762
249
+ Logger::SEV_LABEL = T.let(T.unsafe(nil), Array)
250
+
251
+ # source://logger//lib/logger/severity.rb#5
252
+ module Logger::Severity
253
+ class << self
254
+ # source://logger//lib/logger/severity.rb#29
255
+ def coerce(severity); end
256
+ end
257
+ end
258
+
259
+ # source://logger//lib/logger/severity.rb#19
260
+ Logger::Severity::LEVELS = T.let(T.unsafe(nil), Hash)
@@ -0,0 +1,9 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `loofah` gem.
5
+ # Please instead update this file by running `bin/tapioca gem loofah`.
6
+
7
+
8
+ # THIS IS AN EMPTY RBI FILE.
9
+ # see https://github.com/Shopify/tapioca#manually-requiring-parts-of-a-gem
@@ -0,0 +1,131 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `memoizable` gem.
5
+ # Please instead update this file by running `bin/tapioca gem memoizable`.
6
+
7
+
8
+ # source://memoizable//lib/memoizable/instance_methods.rb#3
9
+ module Memoizable
10
+ include ::Memoizable::InstanceMethods
11
+
12
+ mixes_in_class_methods ::Memoizable::ModuleMethods
13
+
14
+ class << self
15
+ private
16
+
17
+ # source://memoizable//lib/memoizable.rb#27
18
+ def included(descendant); end
19
+ end
20
+ end
21
+
22
+ # source://memoizable//lib/memoizable.rb#17
23
+ Memoizable::Freezer = T.let(T.unsafe(nil), Proc)
24
+
25
+ # source://memoizable//lib/memoizable/instance_methods.rb#6
26
+ module Memoizable::InstanceMethods
27
+ # source://memoizable//lib/memoizable/instance_methods.rb#16
28
+ def freeze; end
29
+
30
+ # source://memoizable//lib/memoizable/instance_methods.rb#32
31
+ def memoize(data); end
32
+
33
+ private
34
+
35
+ # source://memoizable//lib/memoizable/instance_methods.rb#44
36
+ def memoized_method_cache; end
37
+ end
38
+
39
+ # source://memoizable//lib/memoizable/memory.rb#6
40
+ class Memoizable::Memory
41
+ # source://memoizable//lib/memoizable/memory.rb#15
42
+ def initialize; end
43
+
44
+ # source://memoizable//lib/memoizable/memory.rb#28
45
+ def [](name); end
46
+
47
+ # source://memoizable//lib/memoizable/memory.rb#42
48
+ def []=(name, value); end
49
+
50
+ # source://memoizable//lib/memoizable/memory.rb#59
51
+ def fetch(name); end
52
+
53
+ # source://memoizable//lib/memoizable/memory.rb#76
54
+ def key?(name); end
55
+
56
+ # source://memoizable//lib/memoizable/memory.rb#86
57
+ def marshal_dump; end
58
+
59
+ # source://memoizable//lib/memoizable/memory.rb#98
60
+ def marshal_load(hash); end
61
+ end
62
+
63
+ # source://memoizable//lib/memoizable/method_builder.rb#6
64
+ class Memoizable::MethodBuilder
65
+ # source://memoizable//lib/memoizable/method_builder.rb#55
66
+ def initialize(descendant, method_name, freezer); end
67
+
68
+ # source://memoizable//lib/memoizable/method_builder.rb#72
69
+ def call; end
70
+
71
+ # source://memoizable//lib/memoizable/method_builder.rb#44
72
+ def original_method; end
73
+
74
+ private
75
+
76
+ # source://memoizable//lib/memoizable/method_builder.rb#90
77
+ def assert_arity(arity); end
78
+
79
+ # source://memoizable//lib/memoizable/method_builder.rb#111
80
+ def create_memoized_method; end
81
+
82
+ # source://memoizable//lib/memoizable/method_builder.rb#101
83
+ def remove_original_method; end
84
+
85
+ # source://memoizable//lib/memoizable/method_builder.rb#128
86
+ def set_method_visibility; end
87
+
88
+ # source://memoizable//lib/memoizable/method_builder.rb#137
89
+ def visibility; end
90
+ end
91
+
92
+ # source://memoizable//lib/memoizable/method_builder.rb#25
93
+ class Memoizable::MethodBuilder::BlockNotAllowedError < ::ArgumentError
94
+ # source://memoizable//lib/memoizable/method_builder.rb#33
95
+ def initialize(descendant, method); end
96
+ end
97
+
98
+ # source://memoizable//lib/memoizable/method_builder.rb#9
99
+ class Memoizable::MethodBuilder::InvalidArityError < ::ArgumentError
100
+ # source://memoizable//lib/memoizable/method_builder.rb#18
101
+ def initialize(descendant, method, arity); end
102
+ end
103
+
104
+ # source://memoizable//lib/memoizable/module_methods.rb#6
105
+ module Memoizable::ModuleMethods
106
+ # source://memoizable//lib/memoizable/module_methods.rb#13
107
+ def freezer; end
108
+
109
+ # source://memoizable//lib/memoizable/module_methods.rb#28
110
+ def memoize(*methods); end
111
+
112
+ # source://memoizable//lib/memoizable/module_methods.rb#53
113
+ def memoized?(name); end
114
+
115
+ # source://memoizable//lib/memoizable/module_methods.rb#80
116
+ def unmemoized_instance_method(name); end
117
+
118
+ private
119
+
120
+ # source://memoizable//lib/memoizable/module_methods.rb#94
121
+ def included(descendant); end
122
+
123
+ # source://memoizable//lib/memoizable/module_methods.rb#107
124
+ def memoize_method(method_name); end
125
+
126
+ # source://memoizable//lib/memoizable/module_methods.rb#120
127
+ def memoized_methods; end
128
+ end
129
+
130
+ # source://memoizable//lib/memoizable/version.rb#6
131
+ Memoizable::VERSION = T.let(T.unsafe(nil), String)
@@ -0,0 +1,185 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `memosa` gem.
5
+ # Please instead update this file by running `bin/tapioca gem memosa`.
6
+
7
+
8
+ # source://memosa//lib/memosa/cache.rb#3
9
+ # typed: strong
10
+ # Memosa provides a simple way to memoize methods in Ruby.
11
+ module Memosa
12
+ # source://memosa//lib/memosa.rb#35
13
+ # Convert a method to a memoized method
14
+ #
15
+ # Memosa does not support memoizing methods that accept arguments.
16
+ # _@param_ `method_name` — the name of the method to memoize
17
+ # _@return_ — the name of the memoized method
18
+ # ```ruby
19
+ # class State
20
+ # extend Memosa
21
+ # memoize def id
22
+ # SecureRandom.uuid
23
+ # end
24
+ # end
25
+ # ```
26
+ sig { params(method_name: Symbol).returns(Symbol) }
27
+ def memoize(method_name); end
28
+
29
+ # source://memosa//lib/memosa.rb#72
30
+ # Define and prepend MemosaMethods
31
+ #
32
+ # When {memoize} is called, Memosa will define a module named MemosaMethods. Memoized
33
+ # methods will be defined on this module and then prepended to the class.
34
+ # This method allows you to force that module to be defined and prepended, which is
35
+ # useful when order matters.
36
+ # ```ruby
37
+ # class Foo
38
+ # extend Memosa
39
+ # prepend_memosa
40
+ # end
41
+ # ```
42
+ sig { returns(Module) }
43
+ def prepend_memosa; end
44
+
45
+ class << self
46
+ # source://memosa//lib/memosa.rb#13
47
+ # Called when Memosa is extended
48
+ #
49
+ # _@param_ `base`
50
+ sig { params(base: Module).void }
51
+ def extended(base); end
52
+
53
+ # source://memosa//lib/memosa.rb#87
54
+ # Reset an object's memoization cache
55
+ #
56
+ # _@param_ `object`
57
+ # ```ruby
58
+ # Memosa.reset(user)
59
+ # ```
60
+ sig { params(object: Object).void }
61
+ def reset(object); end
62
+ end
63
+ end
64
+
65
+ # source://memosa//lib/memosa.rb#110
66
+ # This module provides a {#memosa} helper that can be used to manipulate the
67
+ # memoization cache directly.
68
+ module Memosa::API
69
+ # source://memosa//lib/memosa.rb#128
70
+ # Used to manipulate the memoized cache directly
71
+ #
72
+ # ```ruby
73
+ # class State
74
+ # extend Memosa
75
+ # include Memosa::API
76
+ # memoize def id
77
+ # SecureRandom.uuid
78
+ # end
79
+ # def reset!
80
+ # memosa.clear
81
+ # end
82
+ # ```
83
+ sig { returns(Memosa::Cache) }
84
+ def memosa; end
85
+ end
86
+
87
+ # source://memosa//lib/memosa/cache.rb#6
88
+ # This class is used to interact with the memoization cache.
89
+ # @api public
90
+ class Memosa::Cache
91
+ # source://memosa//lib/memosa/cache.rb#11
92
+ # Create a new instance of {Cache}
93
+ #
94
+ # _@param_ `cache` — the memoization cache
95
+ sig { params(cache: T::Hash[Symbol, BasicObject]).void }
96
+ def initialize(cache); end
97
+
98
+ # source://memosa//lib/memosa/cache.rb#33
99
+ # Reset the cache
100
+ #
101
+ # ```ruby
102
+ # memosa.clear
103
+ # ```
104
+ sig { returns(T.self_type) }
105
+ def clear; end
106
+
107
+ # source://memosa//lib/memosa/cache.rb#45
108
+ # Delete a key from the cache
109
+ #
110
+ # _@param_ `key`
111
+ # ```ruby
112
+ # memosa.delete(:foo)
113
+ # ```
114
+ sig { params(key: Symbol).returns(T.self_type) }
115
+ def delete(key); end
116
+
117
+ # source://memosa//lib/memosa/cache.rb#22
118
+ # Add values to the cache
119
+ #
120
+ # _@param_ `values` — the values to add to the cache.
121
+ # ```ruby
122
+ # memosa.merge!(foo: "bar")
123
+ # ```
124
+ sig { params(values: T::Hash[Symbol, BasicObject]).returns(T.self_type) }
125
+ def merge!(values); end
126
+ end
127
+
128
+ # source://memosa//lib/memosa.rb#96
129
+ module Memosa::Initializer
130
+ # source://memosa//lib/memosa.rb#102
131
+ def freeze; end
132
+ end
133
+
134
+ # source://memosa//lib/memosa/internal.rb#6
135
+ module Memosa::Internal
136
+ class << self
137
+ # source://memosa//lib/memosa/internal.rb#29
138
+ def method_defined?(owner, method_name); end
139
+
140
+ # source://memosa//lib/memosa/internal.rb#12
141
+ def visibility(owner, method_name); end
142
+ end
143
+ end
144
+
145
+ # source://memosa//lib/memosa/version.rb#6
146
+ Memosa::VERSION = T.let(T.unsafe(nil), String)
147
+
148
+ module RuboCop
149
+ module Cop
150
+ # Memosa includes a set of RuboCop rules that encourage best practices when using
151
+ # memosa.
152
+ #
153
+ # Add the following configuration to your `.rubocop.yml`:
154
+ #
155
+ # @example
156
+ # inherit_gem:
157
+ # memosa: config/rubocop.yml
158
+ module Memosa
159
+ # This cop checks for memoized methods that accept arguments or yield.
160
+ #
161
+ # @example
162
+ # # bad
163
+ # def foo; end
164
+ # memoize :foo
165
+ #
166
+ # # good
167
+ # memoize def foo; end
168
+ class MethodDefinition < RuboCop::Cop::Base
169
+ MSG = T.let("`memoize` should precede a method definition (e.g. `memoize def`)", T.untyped)
170
+ end
171
+
172
+ # This cop checks for memoized methods that accept arguments or yield.
173
+ #
174
+ # @example
175
+ # # bad
176
+ # memoize def foo(a); end
177
+ #
178
+ # # good
179
+ # memoize def foo; end
180
+ class MethodSignature < RuboCop::Cop::Base
181
+ MSG = T.let("Memoized methods should not accept arguments or yield", T.untyped)
182
+ end
183
+ end
184
+ end
185
+ end