activerecord-ejection_seat 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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