activerecord-ejection_seat 0.1.0 → 0.2.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 (65) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +1 -0
  3. data/Gemfile +11 -3
  4. data/Gemfile.lock +99 -35
  5. data/README.md +4 -0
  6. data/Rakefile +14 -2
  7. data/lib/activerecord-ejection_seat/ejectable.rb +2 -1
  8. data/lib/activerecord-ejection_seat/props_builder.rb +44 -0
  9. data/lib/activerecord-ejection_seat/version.rb +2 -1
  10. data/lib/activerecord-ejection_seat.rb +3 -1
  11. data/sorbet/config +3 -0
  12. data/sorbet/rbi/annotations/activerecord.rbi +18 -0
  13. data/sorbet/rbi/annotations/activesupport.rbi +52 -0
  14. data/sorbet/rbi/annotations/rainbow.rbi +269 -0
  15. data/sorbet/rbi/gems/activemodel@7.0.4.rbi +8 -0
  16. data/sorbet/rbi/gems/activerecord@7.0.4.rbi +11 -0
  17. data/sorbet/rbi/gems/activesupport@7.0.4.rbi +93 -0
  18. data/sorbet/rbi/gems/ast@2.4.2.rbi +584 -0
  19. data/sorbet/rbi/gems/concurrent-ruby@1.1.10.rbi +8 -0
  20. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +1064 -0
  21. data/sorbet/rbi/gems/i18n@1.12.0.rbi +8 -0
  22. data/sorbet/rbi/gems/io-console@0.6.0.rbi +8 -0
  23. data/sorbet/rbi/gems/irb@1.6.2.rbi +342 -0
  24. data/sorbet/rbi/gems/json@2.6.3.rbi +1541 -0
  25. data/sorbet/rbi/gems/language_server-protocol@3.17.0.2.rbi +8 -0
  26. data/sorbet/rbi/gems/minitest@5.16.3.rbi +8 -0
  27. data/sorbet/rbi/gems/netrc@0.11.0.rbi +158 -0
  28. data/sorbet/rbi/gems/parallel@1.22.1.rbi +277 -0
  29. data/sorbet/rbi/gems/parser@3.1.3.0.rbi +6878 -0
  30. data/sorbet/rbi/gems/prettier_print@1.1.0.rbi +8 -0
  31. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +397 -0
  32. data/sorbet/rbi/gems/rake@13.0.6.rbi +2946 -0
  33. data/sorbet/rbi/gems/rbi@0.0.16.rbi +3008 -0
  34. data/sorbet/rbi/gems/regexp_parser@2.6.1.rbi +3126 -0
  35. data/sorbet/rbi/gems/reline@0.3.2.rbi +8 -0
  36. data/sorbet/rbi/gems/rexml@3.2.5.rbi +4660 -0
  37. data/sorbet/rbi/gems/rspec-core@3.12.0.rbi +10588 -0
  38. data/sorbet/rbi/gems/rspec-expectations@3.12.1.rbi +7817 -0
  39. data/sorbet/rbi/gems/rspec-mocks@3.12.1.rbi +4994 -0
  40. data/sorbet/rbi/gems/rspec-support@3.12.0.rbi +1477 -0
  41. data/sorbet/rbi/gems/rspec@3.12.0.rbi +10 -0
  42. data/sorbet/rbi/gems/rubocop-ast@1.24.0.rbi +6790 -0
  43. data/sorbet/rbi/gems/rubocop-rake@0.6.0.rbi +354 -0
  44. data/sorbet/rbi/gems/rubocop-rspec@2.16.0.rbi +7650 -0
  45. data/sorbet/rbi/gems/rubocop-sorbet@0.6.11.rbi +1014 -0
  46. data/sorbet/rbi/gems/rubocop@1.41.0.rbi +52148 -0
  47. data/sorbet/rbi/gems/ruby-lsp@0.3.7.rbi +13 -0
  48. data/sorbet/rbi/gems/ruby-progressbar@1.11.0.rbi +1212 -0
  49. data/sorbet/rbi/gems/sorbet-struct-comparable@1.3.0.rbi +16 -0
  50. data/sorbet/rbi/gems/spoom@1.1.15.rbi +2383 -0
  51. data/sorbet/rbi/gems/sqlite3@1.5.4.rbi +1600 -0
  52. data/sorbet/rbi/gems/syntax_tree@4.3.0.rbi +8 -0
  53. data/sorbet/rbi/gems/tapioca@0.10.4.rbi +3032 -0
  54. data/sorbet/rbi/gems/thor@1.2.1.rbi +3950 -0
  55. data/sorbet/rbi/gems/tzinfo@2.0.5.rbi +8 -0
  56. data/sorbet/rbi/gems/unicode-display_width@2.3.0.rbi +46 -0
  57. data/sorbet/rbi/gems/unparser@0.6.5.rbi +4265 -0
  58. data/sorbet/rbi/gems/webrick@1.7.0.rbi +2498 -0
  59. data/sorbet/rbi/gems/yard-sorbet@0.7.0.rbi +391 -0
  60. data/sorbet/rbi/gems/yard@0.9.28.rbi +17033 -0
  61. data/sorbet/rbi/todo.rbi +9 -0
  62. data/sorbet/tapioca/config.yml +2 -0
  63. data/sorbet/tapioca/require.rb +4 -0
  64. metadata +71 -4
  65. data/activerecord-ejection_seat.gemspec +0 -39
@@ -0,0 +1,9 @@
1
+ # DO NOT EDIT MANUALLY
2
+ # This is an autogenerated file for unresolved constants.
3
+ # Please instead update this file by running `bin/tapioca todo`.
4
+
5
+ # typed: false
6
+
7
+ module ActiveRecord::ConnectionAdapters::DatabaseStatements; end
8
+ module ActiveRecord::ConnectionAdapters::SchemaStatements; end
9
+ module ActiveRecord::DatabaseConfigurations::HashConfig; end
@@ -0,0 +1,2 @@
1
+ gem:
2
+ workers: 5
@@ -0,0 +1,4 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ # Add your extra requires here (`bin/tapioca require` can be used to bootstrap this list)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-ejection_seat
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Max VelDink
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-07-22 00:00:00.000000000 Z
11
+ date: 2022-12-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '5.2'
27
+ - !ruby/object:Gem::Dependency
28
+ name: sorbet-runtime
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  description: When working with ActiveRecord models, sometimes you want to eject to
28
42
  a simpler, safer object. Enter Sorbet's T::Struct. This gem
29
43
  makes it much easier to target a Sorbet T::Struct and eject
@@ -44,10 +58,63 @@ files:
44
58
  - LICENSE.txt
45
59
  - README.md
46
60
  - Rakefile
47
- - activerecord-ejection_seat.gemspec
48
61
  - lib/activerecord-ejection_seat.rb
49
62
  - lib/activerecord-ejection_seat/ejectable.rb
63
+ - lib/activerecord-ejection_seat/props_builder.rb
50
64
  - lib/activerecord-ejection_seat/version.rb
65
+ - sorbet/config
66
+ - sorbet/rbi/annotations/activerecord.rbi
67
+ - sorbet/rbi/annotations/activesupport.rbi
68
+ - sorbet/rbi/annotations/rainbow.rbi
69
+ - sorbet/rbi/gems/activemodel@7.0.4.rbi
70
+ - sorbet/rbi/gems/activerecord@7.0.4.rbi
71
+ - sorbet/rbi/gems/activesupport@7.0.4.rbi
72
+ - sorbet/rbi/gems/ast@2.4.2.rbi
73
+ - sorbet/rbi/gems/concurrent-ruby@1.1.10.rbi
74
+ - sorbet/rbi/gems/diff-lcs@1.5.0.rbi
75
+ - sorbet/rbi/gems/i18n@1.12.0.rbi
76
+ - sorbet/rbi/gems/io-console@0.6.0.rbi
77
+ - sorbet/rbi/gems/irb@1.6.2.rbi
78
+ - sorbet/rbi/gems/json@2.6.3.rbi
79
+ - sorbet/rbi/gems/language_server-protocol@3.17.0.2.rbi
80
+ - sorbet/rbi/gems/minitest@5.16.3.rbi
81
+ - sorbet/rbi/gems/netrc@0.11.0.rbi
82
+ - sorbet/rbi/gems/parallel@1.22.1.rbi
83
+ - sorbet/rbi/gems/parser@3.1.3.0.rbi
84
+ - sorbet/rbi/gems/prettier_print@1.1.0.rbi
85
+ - sorbet/rbi/gems/rainbow@3.1.1.rbi
86
+ - sorbet/rbi/gems/rake@13.0.6.rbi
87
+ - sorbet/rbi/gems/rbi@0.0.16.rbi
88
+ - sorbet/rbi/gems/regexp_parser@2.6.1.rbi
89
+ - sorbet/rbi/gems/reline@0.3.2.rbi
90
+ - sorbet/rbi/gems/rexml@3.2.5.rbi
91
+ - sorbet/rbi/gems/rspec-core@3.12.0.rbi
92
+ - sorbet/rbi/gems/rspec-expectations@3.12.1.rbi
93
+ - sorbet/rbi/gems/rspec-mocks@3.12.1.rbi
94
+ - sorbet/rbi/gems/rspec-support@3.12.0.rbi
95
+ - sorbet/rbi/gems/rspec@3.12.0.rbi
96
+ - sorbet/rbi/gems/rubocop-ast@1.24.0.rbi
97
+ - sorbet/rbi/gems/rubocop-rake@0.6.0.rbi
98
+ - sorbet/rbi/gems/rubocop-rspec@2.16.0.rbi
99
+ - sorbet/rbi/gems/rubocop-sorbet@0.6.11.rbi
100
+ - sorbet/rbi/gems/rubocop@1.41.0.rbi
101
+ - sorbet/rbi/gems/ruby-lsp@0.3.7.rbi
102
+ - sorbet/rbi/gems/ruby-progressbar@1.11.0.rbi
103
+ - sorbet/rbi/gems/sorbet-struct-comparable@1.3.0.rbi
104
+ - sorbet/rbi/gems/spoom@1.1.15.rbi
105
+ - sorbet/rbi/gems/sqlite3@1.5.4.rbi
106
+ - sorbet/rbi/gems/syntax_tree@4.3.0.rbi
107
+ - sorbet/rbi/gems/tapioca@0.10.4.rbi
108
+ - sorbet/rbi/gems/thor@1.2.1.rbi
109
+ - sorbet/rbi/gems/tzinfo@2.0.5.rbi
110
+ - sorbet/rbi/gems/unicode-display_width@2.3.0.rbi
111
+ - sorbet/rbi/gems/unparser@0.6.5.rbi
112
+ - sorbet/rbi/gems/webrick@1.7.0.rbi
113
+ - sorbet/rbi/gems/yard-sorbet@0.7.0.rbi
114
+ - sorbet/rbi/gems/yard@0.9.28.rbi
115
+ - sorbet/rbi/todo.rbi
116
+ - sorbet/tapioca/config.yml
117
+ - sorbet/tapioca/require.rb
51
118
  homepage: https://github.com/AudaciousAardvark/activerecord-ejection_seat
52
119
  licenses:
53
120
  - MIT
@@ -72,7 +139,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
72
139
  - !ruby/object:Gem::Version
73
140
  version: '0'
74
141
  requirements: []
75
- rubygems_version: 3.3.14
142
+ rubygems_version: 3.3.26
76
143
  signing_key:
77
144
  specification_version: 4
78
145
  summary: Eject from an ActiveRecord model to a Sorbet T::Struct, or buckle back in.
@@ -1,39 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "lib/activerecord-ejection_seat/version"
4
-
5
- Gem::Specification.new do |spec|
6
- spec.name = "activerecord-ejection_seat"
7
- spec.version = ActiveRecord::EjectionSeat::VERSION
8
- spec.authors = ["Max VelDink"]
9
- spec.email = ["max@audaciousaardvark.com"]
10
-
11
- spec.summary = "Eject from an ActiveRecord model to a Sorbet T::Struct, or buckle back in."
12
- spec.description = "When working with ActiveRecord models, sometimes you want to eject to a simpler, safer object. \
13
- Enter Sorbet's T::Struct. This gem makes it much easier to target a \
14
- Sorbet T::Struct and eject from an ActiveRecord model into the struct. \
15
- It also allows you to buckle in from a simple struct to a new ActiveRecord model instance."
16
- spec.homepage = "https://github.com/AudaciousAardvark/activerecord-ejection_seat"
17
- spec.license = "MIT"
18
- spec.required_ruby_version = ">= 2.7.0"
19
-
20
- spec.metadata["allowed_push_host"] = "https://rubygems.org"
21
- spec.metadata["rubygems_mfa_required"] = "true"
22
-
23
- spec.metadata["homepage_uri"] = spec.homepage
24
- spec.metadata["source_code_uri"] = spec.homepage
25
- spec.metadata["changelog_uri"] = "https://github.com/AudaciousAardvark/activerecord-ejection_seat/blob/main/CHANGELOG.md"
26
-
27
- # Specify which files should be added to the gem when it is released.
28
- # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
29
- spec.files = Dir.chdir(__dir__) do
30
- `git ls-files -z`.split("\x0").reject do |f|
31
- (f == __FILE__) || f.match(%r{\A(?:(?:bin|test|spec|features)/|\.(?:git|travis|circleci)|appveyor)})
32
- end
33
- end
34
- spec.bindir = "exe"
35
- spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
36
- spec.require_paths = ["lib"]
37
-
38
- spec.add_runtime_dependency "activerecord", ">= 5.2"
39
- end