acts-as-messageable 0.5.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (221) 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 +200 -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/ancestry@4.3.2.rbi +631 -0
  114. data/sorbet/rbi/gems/appraisal@2.4.1.rbi +584 -0
  115. data/sorbet/rbi/gems/ast@2.4.2.rbi +584 -0
  116. data/sorbet/rbi/gems/builder@3.2.4.rbi +8 -0
  117. data/sorbet/rbi/gems/coderay@1.1.3.rbi +3426 -0
  118. data/sorbet/rbi/gems/commander@4.6.0.rbi +8 -0
  119. data/sorbet/rbi/gems/concurrent-ruby@1.2.2.rbi +11545 -0
  120. data/sorbet/rbi/gems/coveralls_reborn@0.27.0.rbi +8 -0
  121. data/sorbet/rbi/gems/crass@1.0.6.rbi +622 -0
  122. data/sorbet/rbi/gems/descendants_tracker@0.0.4.rbi +8 -0
  123. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +1079 -0
  124. data/sorbet/rbi/gems/docile@1.4.0.rbi +8 -0
  125. data/sorbet/rbi/gems/erubi@1.12.0.rbi +146 -0
  126. data/sorbet/rbi/gems/faraday@0.9.2.rbi +964 -0
  127. data/sorbet/rbi/gems/git@1.11.0.rbi +2700 -0
  128. data/sorbet/rbi/gems/github_api@0.16.0.rbi +8 -0
  129. data/sorbet/rbi/gems/hashie@5.0.0.rbi +8 -0
  130. data/sorbet/rbi/gems/highline@2.0.3.rbi +8 -0
  131. data/sorbet/rbi/gems/i18n@1.12.0.rbi +2296 -0
  132. data/sorbet/rbi/gems/jeweler@2.3.9.rbi +1591 -0
  133. data/sorbet/rbi/gems/json@2.6.3.rbi +1541 -0
  134. data/sorbet/rbi/gems/jwt@2.5.0.rbi +8 -0
  135. data/sorbet/rbi/gems/loofah@2.19.1.rbi +904 -0
  136. data/sorbet/rbi/gems/method_source@1.0.0.rbi +272 -0
  137. data/sorbet/rbi/gems/mime-types@2.99.3.rbi +8 -0
  138. data/sorbet/rbi/gems/minitest@5.18.0.rbi +1491 -0
  139. data/sorbet/rbi/gems/multi_json@1.15.0.rbi +8 -0
  140. data/sorbet/rbi/gems/multi_xml@0.6.0.rbi +8 -0
  141. data/sorbet/rbi/gems/multipart-post@2.2.3.rbi +8 -0
  142. data/sorbet/rbi/gems/netrc@0.11.0.rbi +158 -0
  143. data/sorbet/rbi/gems/nokogiri@1.14.2.rbi +7244 -0
  144. data/sorbet/rbi/gems/oauth2@1.4.8.rbi +8 -0
  145. data/sorbet/rbi/gems/parallel@1.22.1.rbi +277 -0
  146. data/sorbet/rbi/gems/parser@3.2.2.0.rbi +7253 -0
  147. data/sorbet/rbi/gems/pg@1.4.6.rbi +2574 -0
  148. data/sorbet/rbi/gems/polyfill@1.9.0.rbi +8 -0
  149. data/sorbet/rbi/gems/pry@0.14.2.rbi +10081 -0
  150. data/sorbet/rbi/gems/psych@4.0.6.rbi +1819 -0
  151. data/sorbet/rbi/gems/racc@1.6.2.rbi +155 -0
  152. data/sorbet/rbi/gems/rack-test@2.0.2.rbi +943 -0
  153. data/sorbet/rbi/gems/rack@2.2.6.4.rbi +5659 -0
  154. data/sorbet/rbi/gems/rails-dom-testing@2.0.3.rbi +455 -0
  155. data/sorbet/rbi/gems/rails-html-sanitizer@1.5.0.rbi +685 -0
  156. data/sorbet/rbi/gems/railties@7.0.4.3.rbi +4553 -0
  157. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +8 -0
  158. data/sorbet/rbi/gems/rake@13.0.6.rbi +2959 -0
  159. data/sorbet/rbi/gems/rbi@0.0.16.rbi +3008 -0
  160. data/sorbet/rbi/gems/rbs@2.8.0.rbi +8 -0
  161. data/sorbet/rbi/gems/rchardet@1.8.0.rbi +1078 -0
  162. data/sorbet/rbi/gems/rdoc@6.5.0.rbi +12441 -0
  163. data/sorbet/rbi/gems/regexp_parser@2.7.0.rbi +8 -0
  164. data/sorbet/rbi/gems/rexml@3.2.5.rbi +8 -0
  165. data/sorbet/rbi/gems/rspec-core@3.12.0.rbi +10798 -0
  166. data/sorbet/rbi/gems/rspec-expectations@3.12.0.rbi +8090 -0
  167. data/sorbet/rbi/gems/rspec-mocks@3.12.0.rbi +5296 -0
  168. data/sorbet/rbi/gems/rspec-support@3.12.0.rbi +1617 -0
  169. data/sorbet/rbi/gems/rspec@3.12.0.rbi +88 -0
  170. data/sorbet/rbi/gems/rubocop-ast@1.28.0.rbi +8 -0
  171. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +8 -0
  172. data/sorbet/rbi/gems/safe_type@1.1.1.rbi +8 -0
  173. data/sorbet/rbi/gems/semver2@3.4.2.rbi +8 -0
  174. data/sorbet/rbi/gems/simplecov-html@0.12.3.rbi +8 -0
  175. data/sorbet/rbi/gems/simplecov@0.22.0.rbi +8 -0
  176. data/sorbet/rbi/gems/simplecov_json_formatter@0.1.4.rbi +8 -0
  177. data/sorbet/rbi/gems/sorbet-coerce@0.7.0.rbi +8 -0
  178. data/sorbet/rbi/gems/spoom@1.2.1.rbi +2503 -0
  179. data/sorbet/rbi/gems/sqlite3@1.6.2.rbi +1673 -0
  180. data/sorbet/rbi/gems/stringio@3.0.2.rbi +8 -0
  181. data/sorbet/rbi/gems/sync@0.5.0.rbi +8 -0
  182. data/sorbet/rbi/gems/tapioca@0.11.4-a4319794491b54d9db1c06df7f3bdffcdf7bf684.rbi +3260 -0
  183. data/sorbet/rbi/gems/term-ansicolor@1.7.1.rbi +8 -0
  184. data/sorbet/rbi/gems/thor@1.2.1.rbi +3956 -0
  185. data/sorbet/rbi/gems/thread_safe@0.3.6.rbi +8 -0
  186. data/sorbet/rbi/gems/timecop@0.9.6.rbi +361 -0
  187. data/sorbet/rbi/gems/tins@1.32.1.rbi +8 -0
  188. data/sorbet/rbi/gems/tzinfo@2.0.6.rbi +5917 -0
  189. data/sorbet/rbi/gems/unicode-display_width@2.4.2.rbi +8 -0
  190. data/sorbet/rbi/gems/unparser@0.6.7.rbi +4515 -0
  191. data/sorbet/rbi/gems/webrick@1.7.0.rbi +2553 -0
  192. data/sorbet/rbi/gems/yard-sorbet@0.8.1.rbi +428 -0
  193. data/sorbet/rbi/gems/yard@0.9.28.rbi +17954 -0
  194. data/sorbet/rbi/gems/zeitwerk@2.6.7.rbi +966 -0
  195. data/sorbet/rbi/models/acts-as-messageable/message.rbi +668 -0
  196. data/sorbet/rbi/models/acts-as-messageable/user.rbi +343 -0
  197. data/sorbet/rbi/rails-rbi/active_record_base.rbi +119 -0
  198. data/sorbet/rbi/rails-rbi/active_record_relation.rbi +180 -0
  199. data/sorbet/rbi/shims/activerecord.rbi +4 -0
  200. data/sorbet/rbi/shims/model.rbi +9 -0
  201. data/sorbet/tapioca/config.yml +10 -0
  202. data/sorbet/tapioca/pre_require.rb +5 -0
  203. data/sorbet/tapioca/require.rb +10 -0
  204. data/spec/acts_as_messageable_spec.rb +7 -4
  205. data/spec/custom_class_spec.rb +1 -0
  206. data/spec/custom_required_spec.rb +8 -4
  207. data/spec/group_messages_spec.rb +1 -0
  208. data/spec/migrations_spec.rb +2 -1
  209. data/spec/spec_helper.rb +19 -9
  210. data/spec/support/admin.rb +3 -0
  211. data/spec/support/custom_message.rb +3 -0
  212. data/spec/support/custom_message_uuid.rb +1 -0
  213. data/spec/support/custom_search_user.rb +3 -0
  214. data/spec/support/men.rb +1 -0
  215. data/spec/support/send_message.rb +8 -1
  216. data/spec/support/table_schema.rb +7 -6
  217. data/spec/support/user.rb +3 -0
  218. data/spec/support/uuid_user.rb +3 -0
  219. data/tasks/types.rake +46 -0
  220. metadata +268 -11
  221. data/.travis.yml +0 -55
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 96fae57b67967259c71b193f80296cd147ce3e0464ce680d77499945cf491ef0
4
- data.tar.gz: aff0c1d8b83cc57de586e86b088dbff56da6c3363b82354580f5356b76a08d29
3
+ metadata.gz: a6d21d322dea857c03e2356986444fdd71ba88bc655240dbd0834d61af092260
4
+ data.tar.gz: b705d6886dc0c8270681f8bb21773a6ea7888f0bc23fc069f8f2101776ce82e7
5
5
  SHA512:
6
- metadata.gz: 8d5cf68cc310b76b8db7be5b10106bc49794b9668e798588aa817471bedcbeb40d38efd35eafc27bb0b9b5cef007be6f9d9587dab72787e55d7a5ac65723ec5a
7
- data.tar.gz: b36a95ae9f4ce8b89cd055786a6ebb09cd875ce18b891c58bf9346796ff98c32b21523277d3a1eff32c39630c38a0b02c02c879c07e3a4e7caa529ca88e25be4
6
+ metadata.gz: e2afafbdbe87459bc1983bcf7b1c9f14ce94578cbcae3416373628af62cb2f69dc591735ce9d30b155e9cc0671897da918e243eff132420ef5742ddbfde352f7
7
+ data.tar.gz: aae4947bb0ecfd279674e622d0256012f3ac20b07c02c2fc59aa3652f65152ac5f1f2973a23c16134afc88be928534695f641dfee9e433c458cb53aabe43d7f7
@@ -0,0 +1,8 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: bundler
4
+ directory: "/"
5
+ schedule:
6
+ interval: daily
7
+ time: "04:00"
8
+ open-pull-requests-limit: 10
@@ -0,0 +1,152 @@
1
+ name: Test
2
+
3
+ on:
4
+ push:
5
+ branches: [ master ]
6
+ pull_request:
7
+ branches: [ master ]
8
+ schedule:
9
+ - cron: '02 4 * * *'
10
+
11
+ jobs:
12
+ static:
13
+ runs-on: ubuntu-latest
14
+ steps:
15
+ - uses: actions/checkout@v2
16
+ - uses: ruby/setup-ruby@v1
17
+ with:
18
+ ruby-version: 2.7
19
+ bundler-cache: true
20
+ - run : bundle exec rake rubocop
21
+ rbi-check:
22
+ runs-on: ubuntu-latest
23
+ steps:
24
+ - uses: actions/checkout@v2
25
+ - uses: ruby/setup-ruby@v1
26
+ with:
27
+ ruby-version: 2.7
28
+ bundler-cache: true
29
+ - run : bundle exec tapioca gem --verify
30
+ typecheck:
31
+ runs-on: ubuntu-latest
32
+ steps:
33
+ - uses: actions/checkout@v2
34
+ - uses: ruby/setup-ruby@v1
35
+ with:
36
+ ruby-version: 2.7
37
+ bundler-cache: true
38
+ - run : bundle exec srb
39
+ test:
40
+ runs-on: ubuntu-latest
41
+ services:
42
+ postgres:
43
+ image: postgres
44
+ env:
45
+ POSTGRES_PASSWORD: password
46
+ options: >-
47
+ --health-cmd pg_isready
48
+ --health-interval 10s
49
+ --health-timeout 5s
50
+ --health-retries 5
51
+ ports:
52
+ # Maps tcp port 5432 on service container to the host
53
+ - 5432:5432
54
+ env:
55
+ BUNDLE_GEMFILE: ${{ github.workspace }}/${{ matrix.gemfile }}
56
+ RUN_GENERATORS: ${{ matrix.run_generators }}
57
+ PGPASSWORD: password
58
+ DATABASE_ADAPTER: ${{ matrix.database_adapter }}
59
+ DATABASE_NAME: ${{ matrix.database_name }}
60
+ DATABASE_PASSWORD: ${{ matrix.database_password }}
61
+ COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
62
+ strategy:
63
+ fail-fast: false
64
+ matrix:
65
+ rvm: ["2.7"]
66
+ gemfile: ["Gemfile"]
67
+ bundler: ['default']
68
+ run_generators: ["false"]
69
+ database_adapter: ['sqlite3']
70
+ database_name: [":memory:"]
71
+ database_password: ["password"]
72
+ include:
73
+ - rvm: ruby-head
74
+ gemfile: gemfiles/rails_master.gemfile
75
+ bundler: 'default'
76
+ run_generators: "false"
77
+ database_adapter: 'sqlite3'
78
+ database_name: ":memory:"
79
+ - rvm: 2.3.8
80
+ gemfile: gemfiles/rails_3.2.gemfile
81
+ bundler: '2.3.26'
82
+ run_generators: "false"
83
+ database_adapter: 'sqlite3'
84
+ database_name: ":memory:"
85
+ - rvm: 2.3.8
86
+ gemfile: gemfiles/rails_4.2.gemfile
87
+ bundler: '2.3.26'
88
+ run_generators: "false"
89
+ database_adapter: 'sqlite3'
90
+ database_name: ":memory:"
91
+ - rvm: 2.7
92
+ gemfile: gemfiles/rails_5.2.gemfile
93
+ bundler: 'default'
94
+ run_generators: "false"
95
+ database_adapter: 'sqlite3'
96
+ database_name: ":memory:"
97
+ - rvm: 2.7
98
+ gemfile: gemfiles/rails_6.0.gemfile
99
+ bundler: 'default'
100
+ run_generators: "false"
101
+ database_adapter: 'sqlite3'
102
+ database_name: ":memory:"
103
+ - rvm: 2.7
104
+ gemfile: gemfiles/rails_5.2.gemfile
105
+ bundler: 'default'
106
+ run_generators: "false"
107
+ database_adapter: 'sqlite3'
108
+ database_name: ":memory:"
109
+ - rvm: 2.7
110
+ gemfile: gemfiles/rails_6.0.gemfile
111
+ bundler: 'default'
112
+ run_generators: "true"
113
+ database_adapter: 'sqlite3'
114
+ database_name: ":memory:"
115
+ - rvm: 2.7
116
+ gemfile: gemfiles/rails_6.0.gemfile
117
+ bundler: 'default'
118
+ database_adapter: 'postgresql'
119
+ database_name: 'ci_test'
120
+ database_password: "password"
121
+ run_generators: "false"
122
+ - rvm: 3
123
+ gemfile: gemfiles/rails_7.0.gemfile
124
+ bundler: 'default'
125
+ run_generators: "true"
126
+ database_adapter: 'sqlite3'
127
+ database_name: ":memory:"
128
+ steps:
129
+ - uses: actions/checkout@v2
130
+ - run: sudo apt-get install libyaml-dev
131
+ - uses: ruby/setup-ruby@v1
132
+ with:
133
+ ruby-version: ${{ matrix.rvm }}
134
+ bundler: ${{ matrix.bundler }}
135
+ bundler-cache: true
136
+ - run: psql -c 'create database ci_test;' -U postgres -h localhost
137
+ - run: bundle exec rake
138
+ documentation:
139
+ runs-on: ubuntu-latest
140
+ needs: ['test', 'static']
141
+ if: github.ref == 'refs/heads/master'
142
+ steps:
143
+ - uses: actions/checkout@v2
144
+ - uses: ruby/setup-ruby@v1
145
+ with:
146
+ ruby-version: 2.7
147
+ bundler-cache: true
148
+ - run: 'bundle exec yard doc --private'
149
+ - uses: JamesIves/github-pages-deploy-action@v4.4.1
150
+ with:
151
+ branch: gh-pages
152
+ folder: doc
data/.rubocop.yml CHANGED
@@ -1,18 +1,31 @@
1
1
  inherit_from: .rubocop_todo.yml
2
2
 
3
+ inherit_mode:
4
+ merge:
5
+ - Exclude
6
+
7
+ require: rubocop-sorbet
8
+
3
9
  AllCops:
4
10
  TargetRubyVersion: 2.7
11
+ SuggestExtensions: false
5
12
  Exclude:
6
13
  - 'lib/generators/acts_as_messageable/migration/templates/*'
7
14
  - 'vendor/**/*'
8
15
  - 'gemfiles/vendor/**/*'
9
16
  NewCops: enable
10
17
 
18
+ Gemspec/RequiredRubyVersion:
19
+ Enabled: false
20
+
21
+ Style/OptionalBooleanParameter:
22
+ Enabled: false
23
+
11
24
  Layout/LineLength:
12
25
  Max: 120
13
26
 
14
27
  Metrics/BlockLength:
15
- ExcludedMethods: ['describe', 'context']
28
+ AllowedMethods: ['describe', 'context']
16
29
 
17
30
  Naming/FileName:
18
31
  Exclude:
data/.rubocop_todo.yml CHANGED
@@ -1,26 +1,63 @@
1
1
  # This configuration was generated by
2
- # `rubocop --auto-gen-config`
3
- # on 2020-05-03 14:16:43 +0200 using RuboCop version 0.82.0.
2
+ # `rubocop --auto-gen-config --exclude-limit 10000`
3
+ # on 2022-12-22 15:05:16 UTC using RuboCop version 1.41.1.
4
4
  # The point is for the user to remove these configuration records
5
5
  # one by one as the offenses are removed from the code base.
6
6
  # Note that changes in the inspected code, or installation of new
7
7
  # versions of RuboCop, may require this file to be generated again.
8
8
 
9
9
  # Offense count: 2
10
- # Configuration parameters: IgnoredMethods.
10
+ # Configuration parameters: AllowedMethods, AllowedPatterns, IgnoredMethods, CountRepeatedAttributes.
11
11
  Metrics/AbcSize:
12
- Max: 44
12
+ Max: 45
13
13
 
14
14
  # Offense count: 4
15
- # Configuration parameters: CountComments, ExcludedMethods.
15
+ # Configuration parameters: CountComments, CountAsOne, ExcludedMethods, AllowedMethods, AllowedPatterns, IgnoredMethods.
16
16
  Metrics/MethodLength:
17
17
  Max: 28
18
18
 
19
+ # Offense count: 1
20
+ # Configuration parameters: Max, CountKeywordArgs.
21
+ Metrics/ParameterLists:
22
+ MaxOptionalParameters: 4
23
+
24
+ # Offense count: 1
25
+ Sorbet/ConstantsFromStrings:
26
+ Exclude:
27
+ - 'lib/acts_as_messageable/model.rb'
28
+
29
+ # Offense count: 7
30
+ # This cop supports safe autocorrection (--autocorrect).
31
+ # Configuration parameters: SuggestedStrictness, Include.
32
+ # Include: **/*.{rb,rbi,rake,ru}
33
+ Sorbet/FalseSigil:
34
+ Exclude:
35
+ - 'spec/acts_as_messageable_spec.rb'
36
+ - 'spec/custom_class_spec.rb'
37
+ - 'spec/custom_required_spec.rb'
38
+ - 'spec/group_messages_spec.rb'
39
+ - 'spec/migrations_spec.rb'
40
+ - 'spec/spec_helper.rb'
41
+ - 'tasks/types.rake'
42
+
43
+ # Offense count: 7
44
+ # This cop supports safe autocorrection (--autocorrect).
45
+ # Configuration parameters: RequireSigilOnAllFiles, SuggestedStrictness, MinimumStrictness, Include.
46
+ # Include: **/*.{rb,rbi,rake,ru}
47
+ Sorbet/ValidSigil:
48
+ Exclude:
49
+ - 'spec/acts_as_messageable_spec.rb'
50
+ - 'spec/custom_class_spec.rb'
51
+ - 'spec/custom_required_spec.rb'
52
+ - 'spec/group_messages_spec.rb'
53
+ - 'spec/migrations_spec.rb'
54
+ - 'spec/spec_helper.rb'
55
+ - 'tasks/types.rake'
56
+
19
57
  # Offense count: 13
58
+ # Configuration parameters: AllowedConstants.
20
59
  Style/Documentation:
21
60
  Exclude:
22
- - 'spec/**/*'
23
- - 'test/**/*'
24
61
  - 'lib/acts_as_messageable.rb'
25
62
  - 'lib/acts_as_messageable/message.rb'
26
63
  - 'lib/acts_as_messageable/model.rb'
@@ -31,3 +68,8 @@ Style/Documentation:
31
68
  - 'lib/acts_as_messageable/relation.rb'
32
69
  - 'lib/acts_as_messageable/scopes.rb'
33
70
  - 'lib/generators/acts_as_messageable/migration/migration_generator.rb'
71
+
72
+ # Offense count: 1
73
+ Style/MixinUsage:
74
+ Exclude:
75
+ - 'spec/support/send_message.rb'
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 3.2.0
data/Appraisals CHANGED
@@ -7,6 +7,7 @@ appraise 'rails-3.2' do
7
7
 
8
8
  group :development do
9
9
  gem 'sqlite3', '~> 1.3.6'
10
+ remove_gem 'tapioca'
10
11
  end
11
12
  end
12
13
 
@@ -18,6 +19,7 @@ appraise 'rails-4.2' do
18
19
 
19
20
  group :development do
20
21
  gem 'sqlite3', '~> 1.3.6'
22
+ remove_gem 'tapioca'
21
23
  end
22
24
  end
23
25
 
@@ -28,6 +30,7 @@ appraise 'rails-5.2' do
28
30
 
29
31
  group :development do
30
32
  gem 'sqlite3', '~> 1.3.6'
33
+ remove_gem 'tapioca'
31
34
  end
32
35
  end
33
36
 
@@ -38,9 +41,16 @@ appraise 'rails-6.0' do
38
41
 
39
42
  group :development do
40
43
  gem 'sqlite3', '~> 1.4.0'
44
+ remove_gem 'tapioca'
41
45
  end
42
46
  end
43
47
 
48
+ appraise 'rails-7.0' do
49
+ gem 'activerecord', '~> 7'
50
+ gem 'activesupport', '~> 7'
51
+ gem 'railties', '~> 7'
52
+ end
53
+
44
54
  appraise 'rails-master' do
45
55
  gem 'activerecord', git: 'https://github.com/rails/rails.git'
46
56
  gem 'activesupport', git: 'https://github.com/rails/rails.git'
@@ -48,5 +58,6 @@ appraise 'rails-master' do
48
58
 
49
59
  group :development do
50
60
  gem 'sqlite3'
61
+ gem 'pg', git: 'https://github.com/ged/ruby-pg.git'
51
62
  end
52
63
  end
data/Dockerfile CHANGED
@@ -7,7 +7,8 @@ COPY Gemfile Gemfile.lock gemfiles ./
7
7
 
8
8
  ARG GEMFILE
9
9
  ENV BUNDLE_GEMFILE=${GEMFILE}
10
- RUN gem install bundler && bundle install
10
+ RUN gem install bundler
11
+ RUN bundle install
11
12
 
12
13
  CMD ["bundle", "exec", "rake"]
13
14
 
data/Gemfile CHANGED
@@ -2,20 +2,26 @@
2
2
 
3
3
  source 'http://rubygems.org'
4
4
 
5
- gem 'activerecord'
6
- gem 'activesupport'
7
- gem 'ancestry'
8
- gem 'railties'
5
+ gem 'activerecord', require: false
6
+ gem 'activesupport', require: false
7
+ gem 'ancestry', require: false
8
+ gem 'railties', require: false
9
+ gem 'sorbet-rails', require: false
10
+ gem 'sorbet-static-and-runtime', require: false
9
11
 
10
12
  group :development do
11
- gem 'appraisal'
12
- gem 'coveralls', require: false
13
- gem 'jeweler'
14
- gem 'pg'
15
- gem 'pry'
16
- gem 'rspec'
13
+ gem 'appraisal', require: false
14
+ gem 'coveralls_reborn', require: false
15
+ gem 'jeweler', require: false
16
+ gem 'pg', require: false
17
+ gem 'pry', require: false
18
+ gem 'rspec', require: false
17
19
  gem 'rubocop', require: false
18
- gem 'sqlite3'
19
- gem 'timecop'
20
- gem 'yard'
20
+ gem 'rubocop-sorbet', require: false
21
+ gem 'sord', require: false
22
+ gem 'sqlite3', require: false
23
+ gem 'tapioca', github: 'Shopify/tapioca', require: false
24
+ gem 'timecop', require: false
25
+ gem 'unparser', require: false
26
+ gem 'yard', require: false
21
27
  end