acts-as-messageable 0.5.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (214) hide show
  1. checksums.yaml +4 -4
  2. data/.github/dependabot.yml +8 -0
  3. data/.github/workflows/test.yml +152 -0
  4. data/.rubocop.yml +14 -1
  5. data/.rubocop_todo.yml +49 -7
  6. data/.ruby-version +1 -0
  7. data/Appraisals +11 -0
  8. data/Dockerfile +2 -1
  9. data/Gemfile +19 -13
  10. data/Gemfile.lock +186 -97
  11. data/README.md +2 -3
  12. data/Rakefile +6 -1
  13. data/VERSION +1 -1
  14. data/acts-as-messageable.gemspec +193 -40
  15. data/bin/tapioca +29 -0
  16. data/docker-compose.yml +82 -71
  17. data/gemfiles/rails_3.2.gemfile +14 -9
  18. data/gemfiles/rails_4.2.gemfile +14 -9
  19. data/gemfiles/rails_5.2.gemfile +14 -9
  20. data/gemfiles/rails_6.0.gemfile +14 -9
  21. data/gemfiles/rails_7.0.gemfile +29 -0
  22. data/gemfiles/rails_master.gemfile +15 -9
  23. data/lib/acts-as-messageable.rb +1 -0
  24. data/lib/acts_as_messageable/message.rb +62 -5
  25. data/lib/acts_as_messageable/model.rb +71 -20
  26. data/lib/acts_as_messageable/rails3.rb +27 -2
  27. data/lib/acts_as_messageable/rails4.rb +31 -4
  28. data/lib/acts_as_messageable/rails6.rb +34 -2
  29. data/lib/acts_as_messageable/railtie.rb +1 -0
  30. data/lib/acts_as_messageable/relation.rb +18 -2
  31. data/lib/acts_as_messageable/scopes.rb +11 -0
  32. data/lib/acts_as_messageable.rb +18 -0
  33. data/lib/generators/acts_as_messageable/migration/migration_generator.rb +4 -0
  34. data/lib/generators/acts_as_messageable/migration/templates/migration.rb +1 -0
  35. data/lib/generators/acts_as_messageable/migration/templates/migration_indexes.rb +1 -0
  36. data/lib/generators/acts_as_messageable/migration/templates/migration_opened_as_datetime.rb +1 -0
  37. data/lib/generators/acts_as_messageable/migration/templates/migration_permanent.rb +1 -0
  38. data/sorbet/config +4 -0
  39. data/sorbet/rbi/annotations/actionpack.rbi +428 -0
  40. data/sorbet/rbi/annotations/actionview.rbi +77 -0
  41. data/sorbet/rbi/annotations/activerecord.rbi +18 -0
  42. data/sorbet/rbi/annotations/activesupport.rbi +52 -0
  43. data/sorbet/rbi/annotations/faraday.rbi +17 -0
  44. data/sorbet/rbi/annotations/railties.rbi +58 -0
  45. data/sorbet/rbi/annotations/rainbow.rbi +269 -0
  46. data/sorbet/rbi/dsl/abstract_controller/caching/fragments.rbi +23 -0
  47. data/sorbet/rbi/dsl/abstract_controller/caching.rbi +30 -0
  48. data/sorbet/rbi/dsl/abstract_controller/callbacks.rbi +23 -0
  49. data/sorbet/rbi/dsl/abstract_controller/helpers.rbi +23 -0
  50. data/sorbet/rbi/dsl/abstract_controller/rendering.rbi +9 -0
  51. data/sorbet/rbi/dsl/abstract_controller/url_for.rbi +23 -0
  52. data/sorbet/rbi/dsl/action_controller/caching.rbi +29 -0
  53. data/sorbet/rbi/dsl/action_controller/conditional_get.rbi +23 -0
  54. data/sorbet/rbi/dsl/action_controller/content_security_policy.rbi +31 -0
  55. data/sorbet/rbi/dsl/action_controller/data_streaming.rbi +9 -0
  56. data/sorbet/rbi/dsl/action_controller/etag_with_flash.rbi +24 -0
  57. data/sorbet/rbi/dsl/action_controller/etag_with_template_digest.rbi +30 -0
  58. data/sorbet/rbi/dsl/action_controller/flash.rbi +19 -0
  59. data/sorbet/rbi/dsl/action_controller/form_builder.rbi +19 -0
  60. data/sorbet/rbi/dsl/action_controller/helpers.rbi +36 -0
  61. data/sorbet/rbi/dsl/action_controller/params_wrapper.rbi +23 -0
  62. data/sorbet/rbi/dsl/action_controller/redirecting.rbi +24 -0
  63. data/sorbet/rbi/dsl/action_controller/renderers/all.rbi +24 -0
  64. data/sorbet/rbi/dsl/action_controller/renderers.rbi +23 -0
  65. data/sorbet/rbi/dsl/action_controller/request_forgery_protection.rbi +31 -0
  66. data/sorbet/rbi/dsl/action_controller/rescue.rbi +24 -0
  67. data/sorbet/rbi/dsl/action_controller/test_case/behavior.rbi +24 -0
  68. data/sorbet/rbi/dsl/action_controller/url_for.rbi +24 -0
  69. data/sorbet/rbi/dsl/action_dispatch/routing/url_for.rbi +23 -0
  70. data/sorbet/rbi/dsl/action_view/helpers/form_helper.rbi +10 -0
  71. data/sorbet/rbi/dsl/action_view/helpers/form_tag_helper.rbi +10 -0
  72. data/sorbet/rbi/dsl/action_view/helpers/text_helper.rbi +9 -0
  73. data/sorbet/rbi/dsl/action_view/helpers.rbi +10 -0
  74. data/sorbet/rbi/dsl/action_view/layouts.rbi +24 -0
  75. data/sorbet/rbi/dsl/action_view/rendering.rbi +9 -0
  76. data/sorbet/rbi/dsl/active_model/attribute_methods.rbi +27 -0
  77. data/sorbet/rbi/dsl/active_model/attributes.rbi +34 -0
  78. data/sorbet/rbi/dsl/active_model/dirty.rbi +28 -0
  79. data/sorbet/rbi/dsl/active_model/serializers/json.rbi +22 -0
  80. data/sorbet/rbi/dsl/active_model/validations/callbacks.rbi +22 -0
  81. data/sorbet/rbi/dsl/active_model/validations.rbi +27 -0
  82. data/sorbet/rbi/dsl/active_record/attribute_methods/dirty.rbi +38 -0
  83. data/sorbet/rbi/dsl/active_record/attribute_methods/time_zone_conversion.rbi +32 -0
  84. data/sorbet/rbi/dsl/active_record/attribute_methods.rbi +53 -0
  85. data/sorbet/rbi/dsl/active_record/attributes.rbi +19 -0
  86. data/sorbet/rbi/dsl/active_record/callbacks.rbi +22 -0
  87. data/sorbet/rbi/dsl/active_record/core.rbi +55 -0
  88. data/sorbet/rbi/dsl/active_record/encryption/encryptable_record.rbi +23 -0
  89. data/sorbet/rbi/dsl/active_record/inheritance.rbi +27 -0
  90. data/sorbet/rbi/dsl/active_record/integration.rbi +32 -0
  91. data/sorbet/rbi/dsl/active_record/locking/optimistic.rbi +22 -0
  92. data/sorbet/rbi/dsl/active_record/model_schema.rbi +52 -0
  93. data/sorbet/rbi/dsl/active_record/nested_attributes.rbi +22 -0
  94. data/sorbet/rbi/dsl/active_record/readonly_attributes.rbi +19 -0
  95. data/sorbet/rbi/dsl/active_record/reflection.rbi +32 -0
  96. data/sorbet/rbi/dsl/active_record/scoping/default.rbi +23 -0
  97. data/sorbet/rbi/dsl/active_record/scoping.rbi +23 -0
  98. data/sorbet/rbi/dsl/active_record/serialization.rbi +22 -0
  99. data/sorbet/rbi/dsl/active_record/signed_id.rbi +22 -0
  100. data/sorbet/rbi/dsl/active_record/test_fixtures.rbi +58 -0
  101. data/sorbet/rbi/dsl/active_record/timestamp.rbi +23 -0
  102. data/sorbet/rbi/dsl/active_record/validations.rbi +28 -0
  103. data/sorbet/rbi/dsl/active_support/actionable_error.rbi +23 -0
  104. data/sorbet/rbi/dsl/active_support/callbacks.rbi +22 -0
  105. data/sorbet/rbi/dsl/active_support/rescuable.rbi +23 -0
  106. data/sorbet/rbi/dsl/active_support/testing/file_fixtures.rbi +22 -0
  107. data/sorbet/rbi/gems/actionpack@7.0.4.3.rbi +19265 -0
  108. data/sorbet/rbi/gems/actionview@7.0.4.3.rbi +15482 -0
  109. data/sorbet/rbi/gems/activemodel@7.0.4.3.rbi +6025 -0
  110. data/sorbet/rbi/gems/activerecord@7.0.4.3.rbi +37852 -0
  111. data/sorbet/rbi/gems/activesupport@7.0.4.3.rbi +18788 -0
  112. data/sorbet/rbi/gems/addressable@2.4.0.rbi +8 -0
  113. data/sorbet/rbi/gems/appraisal@2.4.1.rbi +584 -0
  114. data/sorbet/rbi/gems/ast@2.4.2.rbi +584 -0
  115. data/sorbet/rbi/gems/builder@3.2.4.rbi +8 -0
  116. data/sorbet/rbi/gems/coderay@1.1.3.rbi +3426 -0
  117. data/sorbet/rbi/gems/commander@4.6.0.rbi +8 -0
  118. data/sorbet/rbi/gems/concurrent-ruby@1.2.2.rbi +11545 -0
  119. data/sorbet/rbi/gems/coveralls_reborn@0.27.0.rbi +8 -0
  120. data/sorbet/rbi/gems/crass@1.0.6.rbi +622 -0
  121. data/sorbet/rbi/gems/descendants_tracker@0.0.4.rbi +8 -0
  122. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +1079 -0
  123. data/sorbet/rbi/gems/docile@1.4.0.rbi +8 -0
  124. data/sorbet/rbi/gems/erubi@1.12.0.rbi +146 -0
  125. data/sorbet/rbi/gems/faraday@0.9.2.rbi +964 -0
  126. data/sorbet/rbi/gems/git@1.11.0.rbi +2700 -0
  127. data/sorbet/rbi/gems/github_api@0.16.0.rbi +8 -0
  128. data/sorbet/rbi/gems/hashie@5.0.0.rbi +8 -0
  129. data/sorbet/rbi/gems/highline@2.0.3.rbi +8 -0
  130. data/sorbet/rbi/gems/i18n@1.12.0.rbi +2296 -0
  131. data/sorbet/rbi/gems/jeweler@2.3.9.rbi +1591 -0
  132. data/sorbet/rbi/gems/json@2.6.3.rbi +1541 -0
  133. data/sorbet/rbi/gems/jwt@2.5.0.rbi +8 -0
  134. data/sorbet/rbi/gems/loofah@2.19.1.rbi +904 -0
  135. data/sorbet/rbi/gems/method_source@1.0.0.rbi +272 -0
  136. data/sorbet/rbi/gems/mime-types@2.99.3.rbi +8 -0
  137. data/sorbet/rbi/gems/minitest@5.18.0.rbi +1491 -0
  138. data/sorbet/rbi/gems/multi_json@1.15.0.rbi +8 -0
  139. data/sorbet/rbi/gems/multi_xml@0.6.0.rbi +8 -0
  140. data/sorbet/rbi/gems/multipart-post@2.2.3.rbi +8 -0
  141. data/sorbet/rbi/gems/netrc@0.11.0.rbi +158 -0
  142. data/sorbet/rbi/gems/nokogiri@1.14.2.rbi +7244 -0
  143. data/sorbet/rbi/gems/oauth2@1.4.8.rbi +8 -0
  144. data/sorbet/rbi/gems/parallel@1.22.1.rbi +277 -0
  145. data/sorbet/rbi/gems/pg@1.4.6.rbi +2574 -0
  146. data/sorbet/rbi/gems/polyfill@1.9.0.rbi +8 -0
  147. data/sorbet/rbi/gems/pry@0.14.2.rbi +10081 -0
  148. data/sorbet/rbi/gems/psych@4.0.6.rbi +1819 -0
  149. data/sorbet/rbi/gems/racc@1.6.2.rbi +155 -0
  150. data/sorbet/rbi/gems/rack-test@2.0.2.rbi +943 -0
  151. data/sorbet/rbi/gems/rack@2.2.6.4.rbi +5659 -0
  152. data/sorbet/rbi/gems/rails-dom-testing@2.0.3.rbi +455 -0
  153. data/sorbet/rbi/gems/rails-html-sanitizer@1.5.0.rbi +685 -0
  154. data/sorbet/rbi/gems/railties@7.0.4.3.rbi +4553 -0
  155. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +8 -0
  156. data/sorbet/rbi/gems/rake@13.0.6.rbi +2959 -0
  157. data/sorbet/rbi/gems/rbi@0.0.16.rbi +3008 -0
  158. data/sorbet/rbi/gems/rbs@2.8.0.rbi +8 -0
  159. data/sorbet/rbi/gems/rchardet@1.8.0.rbi +1078 -0
  160. data/sorbet/rbi/gems/rdoc@6.5.0.rbi +12441 -0
  161. data/sorbet/rbi/gems/regexp_parser@2.7.0.rbi +8 -0
  162. data/sorbet/rbi/gems/rexml@3.2.5.rbi +8 -0
  163. data/sorbet/rbi/gems/rspec-core@3.12.0.rbi +10798 -0
  164. data/sorbet/rbi/gems/rspec-expectations@3.12.0.rbi +8090 -0
  165. data/sorbet/rbi/gems/rspec-mocks@3.12.0.rbi +5296 -0
  166. data/sorbet/rbi/gems/rspec-support@3.12.0.rbi +1617 -0
  167. data/sorbet/rbi/gems/rspec@3.12.0.rbi +88 -0
  168. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +8 -0
  169. data/sorbet/rbi/gems/safe_type@1.1.1.rbi +8 -0
  170. data/sorbet/rbi/gems/semver2@3.4.2.rbi +8 -0
  171. data/sorbet/rbi/gems/simplecov-html@0.12.3.rbi +8 -0
  172. data/sorbet/rbi/gems/simplecov@0.22.0.rbi +8 -0
  173. data/sorbet/rbi/gems/simplecov_json_formatter@0.1.4.rbi +8 -0
  174. data/sorbet/rbi/gems/sorbet-coerce@0.7.0.rbi +8 -0
  175. data/sorbet/rbi/gems/stringio@3.0.2.rbi +8 -0
  176. data/sorbet/rbi/gems/sync@0.5.0.rbi +8 -0
  177. data/sorbet/rbi/gems/term-ansicolor@1.7.1.rbi +8 -0
  178. data/sorbet/rbi/gems/thor@1.2.1.rbi +3956 -0
  179. data/sorbet/rbi/gems/thread_safe@0.3.6.rbi +8 -0
  180. data/sorbet/rbi/gems/timecop@0.9.6.rbi +361 -0
  181. data/sorbet/rbi/gems/tins@1.32.1.rbi +8 -0
  182. data/sorbet/rbi/gems/tzinfo@2.0.6.rbi +5917 -0
  183. data/sorbet/rbi/gems/unicode-display_width@2.4.2.rbi +8 -0
  184. data/sorbet/rbi/gems/unparser@0.6.7.rbi +4515 -0
  185. data/sorbet/rbi/gems/webrick@1.7.0.rbi +2553 -0
  186. data/sorbet/rbi/gems/yard@0.9.28.rbi +17954 -0
  187. data/sorbet/rbi/gems/zeitwerk@2.6.7.rbi +966 -0
  188. data/sorbet/rbi/models/acts-as-messageable/message.rbi +668 -0
  189. data/sorbet/rbi/models/acts-as-messageable/user.rbi +343 -0
  190. data/sorbet/rbi/rails-rbi/active_record_base.rbi +119 -0
  191. data/sorbet/rbi/rails-rbi/active_record_relation.rbi +180 -0
  192. data/sorbet/rbi/shims/activerecord.rbi +4 -0
  193. data/sorbet/rbi/shims/model.rbi +9 -0
  194. data/sorbet/tapioca/config.yml +10 -0
  195. data/sorbet/tapioca/pre_require.rb +5 -0
  196. data/sorbet/tapioca/require.rb +10 -0
  197. data/spec/acts_as_messageable_spec.rb +7 -4
  198. data/spec/custom_class_spec.rb +1 -0
  199. data/spec/custom_required_spec.rb +8 -4
  200. data/spec/group_messages_spec.rb +1 -0
  201. data/spec/migrations_spec.rb +2 -1
  202. data/spec/spec_helper.rb +19 -9
  203. data/spec/support/admin.rb +3 -0
  204. data/spec/support/custom_message.rb +3 -0
  205. data/spec/support/custom_message_uuid.rb +1 -0
  206. data/spec/support/custom_search_user.rb +3 -0
  207. data/spec/support/men.rb +1 -0
  208. data/spec/support/send_message.rb +8 -1
  209. data/spec/support/table_schema.rb +7 -6
  210. data/spec/support/user.rb +3 -0
  211. data/spec/support/uuid_user.rb +3 -0
  212. data/tasks/types.rake +46 -0
  213. metadata +261 -11
  214. data/.travis.yml +0 -55
@@ -0,0 +1,668 @@
1
+ # This is an autogenerated file for dynamic methods in ActsAsMessageable::Message
2
+ # Please rerun bundle exec rake rails_rbi:models[ActsAsMessageable::Message] to regenerate.
3
+
4
+ # typed: strong
5
+
6
+ module ActsAsMessageable::Message::ActiveRelation_WhereNot
7
+ sig { params(opts: T.untyped, rest: T.untyped).returns(T.self_type) }
8
+ def not(opts, *rest); end
9
+ end
10
+
11
+ module ActsAsMessageable::Message::GeneratedAttributeMethods
12
+ sig { returns(T.nilable(String)) }
13
+ def ancestry; end
14
+
15
+ sig { params(value: T.nilable(T.any(String, Symbol))).void }
16
+ def ancestry=(value); end
17
+
18
+ sig { returns(T::Boolean) }
19
+ def ancestry?; end
20
+
21
+ sig { returns(String) }
22
+ def body; end
23
+
24
+ sig { params(value: T.any(String, Symbol)).void }
25
+ def body=(value); end
26
+
27
+ sig { returns(T::Boolean) }
28
+ def body?; end
29
+
30
+ sig { returns(Time) }
31
+ def created_at; end
32
+
33
+ sig { params(value: Time).void }
34
+ def created_at=(value); end
35
+
36
+ sig { returns(T::Boolean) }
37
+ def created_at?; end
38
+
39
+ sig { returns(T.nilable(Time)) }
40
+ def datetime; end
41
+
42
+ sig { params(value: T.nilable(Time)).void }
43
+ def datetime=(value); end
44
+
45
+ sig { returns(T::Boolean) }
46
+ def datetime?; end
47
+
48
+ sig { returns(Integer) }
49
+ def id; end
50
+
51
+ sig { params(value: T.any(Numeric, ActiveSupport::Duration)).void }
52
+ def id=(value); end
53
+
54
+ sig { returns(T::Boolean) }
55
+ def id?; end
56
+
57
+ sig { returns(T.nilable(T::Boolean)) }
58
+ def opened; end
59
+
60
+ sig { params(value: T.nilable(T::Boolean)).void }
61
+ def opened=(value); end
62
+
63
+ sig { returns(T::Boolean) }
64
+ def opened?; end
65
+
66
+ sig { returns(T.nilable(Time)) }
67
+ def opened_at; end
68
+
69
+ sig { params(value: T.nilable(Time)).void }
70
+ def opened_at=(value); end
71
+
72
+ sig { returns(T::Boolean) }
73
+ def opened_at?; end
74
+
75
+ sig { returns(T.nilable(Integer)) }
76
+ def received_messageable_id; end
77
+
78
+ sig { params(value: T.nilable(T.any(Numeric, ActiveSupport::Duration))).void }
79
+ def received_messageable_id=(value); end
80
+
81
+ sig { returns(T::Boolean) }
82
+ def received_messageable_id?; end
83
+
84
+ sig { returns(T.nilable(String)) }
85
+ def received_messageable_type; end
86
+
87
+ sig { params(value: T.nilable(T.any(String, Symbol))).void }
88
+ def received_messageable_type=(value); end
89
+
90
+ sig { returns(T::Boolean) }
91
+ def received_messageable_type?; end
92
+
93
+ sig { returns(T.nilable(T::Boolean)) }
94
+ def recipient_delete; end
95
+
96
+ sig { params(value: T.nilable(T::Boolean)).void }
97
+ def recipient_delete=(value); end
98
+
99
+ sig { returns(T::Boolean) }
100
+ def recipient_delete?; end
101
+
102
+ sig { returns(T.nilable(T::Boolean)) }
103
+ def recipient_permanent_delete; end
104
+
105
+ sig { params(value: T.nilable(T::Boolean)).void }
106
+ def recipient_permanent_delete=(value); end
107
+
108
+ sig { returns(T::Boolean) }
109
+ def recipient_permanent_delete?; end
110
+
111
+ sig { returns(T.nilable(T::Boolean)) }
112
+ def sender_delete; end
113
+
114
+ sig { params(value: T.nilable(T::Boolean)).void }
115
+ def sender_delete=(value); end
116
+
117
+ sig { returns(T::Boolean) }
118
+ def sender_delete?; end
119
+
120
+ sig { returns(T.nilable(T::Boolean)) }
121
+ def sender_permanent_delete; end
122
+
123
+ sig { params(value: T.nilable(T::Boolean)).void }
124
+ def sender_permanent_delete=(value); end
125
+
126
+ sig { returns(T::Boolean) }
127
+ def sender_permanent_delete?; end
128
+
129
+ sig { returns(T.nilable(Integer)) }
130
+ def sent_messageable_id; end
131
+
132
+ sig { params(value: T.nilable(T.any(Numeric, ActiveSupport::Duration))).void }
133
+ def sent_messageable_id=(value); end
134
+
135
+ sig { returns(T::Boolean) }
136
+ def sent_messageable_id?; end
137
+
138
+ sig { returns(T.nilable(String)) }
139
+ def sent_messageable_type; end
140
+
141
+ sig { params(value: T.nilable(T.any(String, Symbol))).void }
142
+ def sent_messageable_type=(value); end
143
+
144
+ sig { returns(T::Boolean) }
145
+ def sent_messageable_type?; end
146
+
147
+ sig { returns(String) }
148
+ def topic; end
149
+
150
+ sig { params(value: T.any(String, Symbol)).void }
151
+ def topic=(value); end
152
+
153
+ sig { returns(T::Boolean) }
154
+ def topic?; end
155
+
156
+ sig { returns(Time) }
157
+ def updated_at; end
158
+
159
+ sig { params(value: Time).void }
160
+ def updated_at=(value); end
161
+
162
+ sig { returns(T::Boolean) }
163
+ def updated_at?; end
164
+ end
165
+
166
+ module ActsAsMessageable::Message::GeneratedAssociationMethods
167
+ sig { returns(T.untyped) }
168
+ def received_messageable; end
169
+
170
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: T.untyped).void)).returns(T.untyped) }
171
+ def build_received_messageable(*args, &block); end
172
+
173
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: T.untyped).void)).returns(T.untyped) }
174
+ def create_received_messageable(*args, &block); end
175
+
176
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: T.untyped).void)).returns(T.untyped) }
177
+ def create_received_messageable!(*args, &block); end
178
+
179
+ sig { params(value: T.untyped).void }
180
+ def received_messageable=(value); end
181
+
182
+ sig { returns(T.untyped) }
183
+ def reload_received_messageable; end
184
+
185
+ sig { returns(T.untyped) }
186
+ def sent_messageable; end
187
+
188
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: T.untyped).void)).returns(T.untyped) }
189
+ def build_sent_messageable(*args, &block); end
190
+
191
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: T.untyped).void)).returns(T.untyped) }
192
+ def create_sent_messageable(*args, &block); end
193
+
194
+ sig { params(args: T.untyped, block: T.nilable(T.proc.params(object: T.untyped).void)).returns(T.untyped) }
195
+ def create_sent_messageable!(*args, &block); end
196
+
197
+ sig { params(value: T.untyped).void }
198
+ def sent_messageable=(value); end
199
+
200
+ sig { returns(T.untyped) }
201
+ def reload_sent_messageable; end
202
+ end
203
+
204
+ module ActsAsMessageable::Message::CustomFinderMethods
205
+ sig { params(limit: Integer).returns(T::Array[ActsAsMessageable::Message]) }
206
+ def first_n(limit); end
207
+
208
+ sig { params(limit: Integer).returns(T::Array[ActsAsMessageable::Message]) }
209
+ def last_n(limit); end
210
+
211
+ sig { params(args: T::Array[T.any(Integer, String)]).returns(T::Array[ActsAsMessageable::Message]) }
212
+ def find_n(*args); end
213
+
214
+ sig { params(id: T.nilable(Integer)).returns(T.nilable(ActsAsMessageable::Message)) }
215
+ def find_by_id(id); end
216
+
217
+ sig { params(id: Integer).returns(ActsAsMessageable::Message) }
218
+ def find_by_id!(id); end
219
+ end
220
+
221
+ class ActsAsMessageable::Message < ActiveRecord::Base
222
+ include ActsAsMessageable::Message::GeneratedAttributeMethods
223
+ include ActsAsMessageable::Message::GeneratedAssociationMethods
224
+ extend ActsAsMessageable::Message::CustomFinderMethods
225
+ extend ActsAsMessageable::Message::QueryMethodsReturningRelation
226
+ RelationType = T.type_alias do
227
+ T.any(ActsAsMessageable::Message::ActiveRecord_Relation,
228
+ ActsAsMessageable::Message::ActiveRecord_Associations_CollectionProxy, ActsAsMessageable::Message::ActiveRecord_AssociationRelation)
229
+ end
230
+
231
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
232
+ def self.after_depth(*args); end
233
+
234
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
235
+ def self.are_from(*args); end
236
+
237
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
238
+ def self.are_to(*args); end
239
+
240
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
241
+ def self.at_depth(*args); end
242
+
243
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
244
+ def self.before_depth(*args); end
245
+
246
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
247
+ def self.connected_with(*args); end
248
+
249
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
250
+ def self.deleted(*args); end
251
+
252
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
253
+ def self.from_depth(*args); end
254
+
255
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
256
+ def self.readed(*args); end
257
+
258
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
259
+ def self.search(*args); end
260
+
261
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
262
+ def self.to_depth(*args); end
263
+
264
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
265
+ def self.unreaded(*args); end
266
+ end
267
+
268
+ class ActsAsMessageable::Message::ActiveRecord_Relation < ActiveRecord::Relation
269
+ include ActsAsMessageable::Message::ActiveRelation_WhereNot
270
+ include ActsAsMessageable::Message::CustomFinderMethods
271
+ include ActsAsMessageable::Message::QueryMethodsReturningRelation
272
+ Elem = type_member { { fixed: ActsAsMessageable::Message } }
273
+
274
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
275
+ def after_depth(*args); end
276
+
277
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
278
+ def are_from(*args); end
279
+
280
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
281
+ def are_to(*args); end
282
+
283
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
284
+ def at_depth(*args); end
285
+
286
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
287
+ def before_depth(*args); end
288
+
289
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
290
+ def connected_with(*args); end
291
+
292
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
293
+ def deleted(*args); end
294
+
295
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
296
+ def from_depth(*args); end
297
+
298
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
299
+ def readed(*args); end
300
+
301
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
302
+ def search(*args); end
303
+
304
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
305
+ def to_depth(*args); end
306
+
307
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
308
+ def unreaded(*args); end
309
+ end
310
+
311
+ class ActsAsMessageable::Message::ActiveRecord_AssociationRelation < ActiveRecord::AssociationRelation
312
+ include ActsAsMessageable::Message::ActiveRelation_WhereNot
313
+ include ActsAsMessageable::Message::CustomFinderMethods
314
+ include ActsAsMessageable::Message::QueryMethodsReturningAssociationRelation
315
+ Elem = type_member { { fixed: ActsAsMessageable::Message } }
316
+
317
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
318
+ def after_depth(*args); end
319
+
320
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
321
+ def are_from(*args); end
322
+
323
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
324
+ def are_to(*args); end
325
+
326
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
327
+ def at_depth(*args); end
328
+
329
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
330
+ def before_depth(*args); end
331
+
332
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
333
+ def connected_with(*args); end
334
+
335
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
336
+ def deleted(*args); end
337
+
338
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
339
+ def from_depth(*args); end
340
+
341
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
342
+ def readed(*args); end
343
+
344
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
345
+ def search(*args); end
346
+
347
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
348
+ def to_depth(*args); end
349
+
350
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
351
+ def unreaded(*args); end
352
+ end
353
+
354
+ class ActsAsMessageable::Message::ActiveRecord_Associations_CollectionProxy < ActiveRecord::Associations::CollectionProxy
355
+ include ActsAsMessageable::Message::CustomFinderMethods
356
+ include ActsAsMessageable::Message::QueryMethodsReturningAssociationRelation
357
+ Elem = type_member { { fixed: ActsAsMessageable::Message } }
358
+
359
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
360
+ def after_depth(*args); end
361
+
362
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
363
+ def are_from(*args); end
364
+
365
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
366
+ def are_to(*args); end
367
+
368
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
369
+ def at_depth(*args); end
370
+
371
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
372
+ def before_depth(*args); end
373
+
374
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
375
+ def connected_with(*args); end
376
+
377
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
378
+ def deleted(*args); end
379
+
380
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
381
+ def from_depth(*args); end
382
+
383
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
384
+ def readed(*args); end
385
+
386
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
387
+ def search(*args); end
388
+
389
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
390
+ def to_depth(*args); end
391
+
392
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
393
+ def unreaded(*args); end
394
+
395
+ sig { params(records: T.any(ActsAsMessageable::Message, T::Array[ActsAsMessageable::Message])).returns(T.self_type) }
396
+ def <<(*records); end
397
+
398
+ sig { params(records: T.any(ActsAsMessageable::Message, T::Array[ActsAsMessageable::Message])).returns(T.self_type) }
399
+ def append(*records); end
400
+
401
+ sig { params(records: T.any(ActsAsMessageable::Message, T::Array[ActsAsMessageable::Message])).returns(T.self_type) }
402
+ def push(*records); end
403
+
404
+ sig { params(records: T.any(ActsAsMessageable::Message, T::Array[ActsAsMessageable::Message])).returns(T.self_type) }
405
+ def concat(*records); end
406
+ end
407
+
408
+ module ActsAsMessageable::Message::QueryMethodsReturningRelation
409
+ sig { returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
410
+ def all; end
411
+
412
+ sig { params(block: T.nilable(T.proc.void)).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
413
+ def unscoped(&block); end
414
+
415
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
416
+ def reselect(*args); end
417
+
418
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
419
+ def order(*args); end
420
+
421
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
422
+ def reorder(*args); end
423
+
424
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
425
+ def group(*args); end
426
+
427
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
428
+ def limit(*args); end
429
+
430
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
431
+ def offset(*args); end
432
+
433
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
434
+ def joins(*args); end
435
+
436
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
437
+ def left_joins(*args); end
438
+
439
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
440
+ def left_outer_joins(*args); end
441
+
442
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
443
+ def where(*args); end
444
+
445
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
446
+ def rewhere(*args); end
447
+
448
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
449
+ def preload(*args); end
450
+
451
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
452
+ def extract_associated(*args); end
453
+
454
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
455
+ def eager_load(*args); end
456
+
457
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
458
+ def includes(*args); end
459
+
460
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
461
+ def from(*args); end
462
+
463
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
464
+ def lock(*args); end
465
+
466
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
467
+ def readonly(*args); end
468
+
469
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
470
+ def or(*args); end
471
+
472
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
473
+ def having(*args); end
474
+
475
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
476
+ def create_with(*args); end
477
+
478
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
479
+ def distinct(*args); end
480
+
481
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
482
+ def references(*args); end
483
+
484
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
485
+ def none(*args); end
486
+
487
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
488
+ def unscope(*args); end
489
+
490
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
491
+ def optimizer_hints(*args); end
492
+
493
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
494
+ def merge(*args); end
495
+
496
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
497
+ def except(*args); end
498
+
499
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
500
+ def only(*args); end
501
+
502
+ sig do
503
+ params(block: T.proc.params(e: ActsAsMessageable::Message).returns(T::Boolean)).returns(T::Array[ActsAsMessageable::Message])
504
+ end
505
+ def select(&block); end
506
+
507
+ sig do
508
+ params(args: T.any(String, Symbol,
509
+ T::Array[T.any(String, Symbol)])).returns(ActsAsMessageable::Message::ActiveRecord_Relation)
510
+ end
511
+ def select_columns(*args); end
512
+
513
+ sig { params(args: Symbol).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
514
+ def where_missing(*args); end
515
+
516
+ sig { params(column: Symbol, values: T::Array[T.untyped]).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
517
+ def in_order_of(column, values); end
518
+
519
+ sig do
520
+ params(args: T.untyped, block: T.nilable(T.proc.void)).returns(ActsAsMessageable::Message::ActiveRecord_Relation)
521
+ end
522
+ def extending(*args, &block); end
523
+
524
+ sig do
525
+ params(
526
+ of: T.nilable(Integer),
527
+ start: T.nilable(Integer),
528
+ finish: T.nilable(Integer),
529
+ load: T.nilable(T::Boolean),
530
+ error_on_ignore: T.nilable(T::Boolean),
531
+ block: T.nilable(T.proc.params(e: ActsAsMessageable::Message::ActiveRecord_Relation).void)
532
+ ).returns(ActiveRecord::Batches::BatchEnumerator)
533
+ end
534
+ def in_batches(of: 1000, start: nil, finish: nil, load: false, error_on_ignore: nil, &block); end
535
+ end
536
+
537
+ module ActsAsMessageable::Message::QueryMethodsReturningAssociationRelation
538
+ sig { returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
539
+ def all; end
540
+
541
+ sig { params(block: T.nilable(T.proc.void)).returns(ActsAsMessageable::Message::ActiveRecord_Relation) }
542
+ def unscoped(&block); end
543
+
544
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
545
+ def reselect(*args); end
546
+
547
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
548
+ def order(*args); end
549
+
550
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
551
+ def reorder(*args); end
552
+
553
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
554
+ def group(*args); end
555
+
556
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
557
+ def limit(*args); end
558
+
559
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
560
+ def offset(*args); end
561
+
562
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
563
+ def joins(*args); end
564
+
565
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
566
+ def left_joins(*args); end
567
+
568
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
569
+ def left_outer_joins(*args); end
570
+
571
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
572
+ def where(*args); end
573
+
574
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
575
+ def rewhere(*args); end
576
+
577
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
578
+ def preload(*args); end
579
+
580
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
581
+ def extract_associated(*args); end
582
+
583
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
584
+ def eager_load(*args); end
585
+
586
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
587
+ def includes(*args); end
588
+
589
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
590
+ def from(*args); end
591
+
592
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
593
+ def lock(*args); end
594
+
595
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
596
+ def readonly(*args); end
597
+
598
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
599
+ def or(*args); end
600
+
601
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
602
+ def having(*args); end
603
+
604
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
605
+ def create_with(*args); end
606
+
607
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
608
+ def distinct(*args); end
609
+
610
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
611
+ def references(*args); end
612
+
613
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
614
+ def none(*args); end
615
+
616
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
617
+ def unscope(*args); end
618
+
619
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
620
+ def optimizer_hints(*args); end
621
+
622
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
623
+ def merge(*args); end
624
+
625
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
626
+ def except(*args); end
627
+
628
+ sig { params(args: T.untyped).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
629
+ def only(*args); end
630
+
631
+ sig do
632
+ params(block: T.proc.params(e: ActsAsMessageable::Message).returns(T::Boolean)).returns(T::Array[ActsAsMessageable::Message])
633
+ end
634
+ def select(&block); end
635
+
636
+ sig do
637
+ params(args: T.any(String, Symbol,
638
+ T::Array[T.any(String, Symbol)])).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation)
639
+ end
640
+ def select_columns(*args); end
641
+
642
+ sig { params(args: Symbol).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation) }
643
+ def where_missing(*args); end
644
+
645
+ sig do
646
+ params(column: Symbol,
647
+ values: T::Array[T.untyped]).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation)
648
+ end
649
+ def in_order_of(column, values); end
650
+
651
+ sig do
652
+ params(args: T.untyped,
653
+ block: T.nilable(T.proc.void)).returns(ActsAsMessageable::Message::ActiveRecord_AssociationRelation)
654
+ end
655
+ def extending(*args, &block); end
656
+
657
+ sig do
658
+ params(
659
+ of: T.nilable(Integer),
660
+ start: T.nilable(Integer),
661
+ finish: T.nilable(Integer),
662
+ load: T.nilable(T::Boolean),
663
+ error_on_ignore: T.nilable(T::Boolean),
664
+ block: T.nilable(T.proc.params(e: ActsAsMessageable::Message::ActiveRecord_AssociationRelation).void)
665
+ ).returns(ActiveRecord::Batches::BatchEnumerator)
666
+ end
667
+ def in_batches(of: 1000, start: nil, finish: nil, load: false, error_on_ignore: nil, &block); end
668
+ end