oriole 0.1.0.alpha.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 (80) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +56 -0
  3. data/.rubocop.yml +32 -0
  4. data/.ruby-version +1 -0
  5. data/CHANGELOG.md +1 -0
  6. data/Gemfile +20 -0
  7. data/Gemfile.lock +121 -0
  8. data/LICENSE +21 -0
  9. data/README.md +84 -0
  10. data/Rakefile +12 -0
  11. data/bench/bench.rb +35 -0
  12. data/bench/execute.rb +66 -0
  13. data/bench/schemas/bluejay.rb +149 -0
  14. data/bench/schemas/models.rb +216 -0
  15. data/bench/schemas/oriole.rb +144 -0
  16. data/bin/console +15 -0
  17. data/bin/setup +8 -0
  18. data/bin/style +2 -0
  19. data/bin/tapioca +27 -0
  20. data/bin/typecheck +2 -0
  21. data/lib/oriole/builtin_scalar_definition.rb +53 -0
  22. data/lib/oriole/definition/abstract/definition.rb +21 -0
  23. data/lib/oriole/definition/abstract/field_definition.rb +22 -0
  24. data/lib/oriole/definition/abstract/object_type_definition.rb +21 -0
  25. data/lib/oriole/definition/abstract/schema_definition.rb +18 -0
  26. data/lib/oriole/definition/abstract/visibility.rb +18 -0
  27. data/lib/oriole/definition/base_output_type.rb +13 -0
  28. data/lib/oriole/definition/field_definition.rb +27 -0
  29. data/lib/oriole/definition/object_type.rb +40 -0
  30. data/lib/oriole/definition/output_type.rb +79 -0
  31. data/lib/oriole/definition/schema.rb +45 -0
  32. data/lib/oriole/definition/visibility_scoped/object_type_definition.rb +62 -0
  33. data/lib/oriole/definition/visibility_scoped/schema_definition.rb +26 -0
  34. data/lib/oriole/execution/coerce_result.rb +16 -0
  35. data/lib/oriole/execution/engine.rb +207 -0
  36. data/lib/oriole/version.rb +6 -0
  37. data/lib/oriole.rb +14 -0
  38. data/oriole.gemspec +38 -0
  39. data/rakelib/bench.rake +69 -0
  40. data/sorbet/config +5 -0
  41. data/sorbet/rbi/annotations/rainbow.rbi +269 -0
  42. data/sorbet/rbi/gems/ast@2.4.2.rbi +584 -0
  43. data/sorbet/rbi/gems/base64@0.1.1.rbi +172 -0
  44. data/sorbet/rbi/gems/bluejay@0.1.0.alpha.2-a45c1b3b47aa4524f94bbe03db5ff1ae792afd09.rbi +1206 -0
  45. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +1083 -0
  46. data/sorbet/rbi/gems/erubi@1.12.0.rbi +145 -0
  47. data/sorbet/rbi/gems/json@2.6.3.rbi +1533 -0
  48. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +14237 -0
  49. data/sorbet/rbi/gems/minitest@5.19.0.rbi +1491 -0
  50. data/sorbet/rbi/gems/netrc@0.11.0.rbi +158 -0
  51. data/sorbet/rbi/gems/parallel@1.23.0.rbi +273 -0
  52. data/sorbet/rbi/gems/parser@3.2.2.3.rbi +7253 -0
  53. data/sorbet/rbi/gems/prettier_print@1.2.1.rbi +951 -0
  54. data/sorbet/rbi/gems/racc@1.7.1.rbi +161 -0
  55. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +402 -0
  56. data/sorbet/rbi/gems/rake@13.0.6.rbi +3024 -0
  57. data/sorbet/rbi/gems/rbi@0.0.17.rbi +2972 -0
  58. data/sorbet/rbi/gems/regexp_parser@2.8.1.rbi +3749 -0
  59. data/sorbet/rbi/gems/rexml@3.2.6.rbi +4781 -0
  60. data/sorbet/rbi/gems/rubocop-ast@1.29.0.rbi +7006 -0
  61. data/sorbet/rbi/gems/rubocop-minitest@0.27.0.rbi +2371 -0
  62. data/sorbet/rbi/gems/rubocop-rake@0.6.0.rbi +328 -0
  63. data/sorbet/rbi/gems/rubocop-shopify@2.14.0.rbi +8 -0
  64. data/sorbet/rbi/gems/rubocop-sorbet@0.6.11.rbi +975 -0
  65. data/sorbet/rbi/gems/rubocop@1.56.1.rbi +56525 -0
  66. data/sorbet/rbi/gems/ruby-lsp@0.4.5.rbi +11 -0
  67. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +1317 -0
  68. data/sorbet/rbi/gems/spoom@1.2.3.rbi +3203 -0
  69. data/sorbet/rbi/gems/syntax_tree@6.1.1.rbi +22855 -0
  70. data/sorbet/rbi/gems/tapioca@0.11.8.rbi +3349 -0
  71. data/sorbet/rbi/gems/thor@1.2.2.rbi +3965 -0
  72. data/sorbet/rbi/gems/tinygql@0.1.4.rbi +2363 -0
  73. data/sorbet/rbi/gems/unicode-display_width@2.4.2.rbi +65 -0
  74. data/sorbet/rbi/gems/unparser@0.6.8.rbi +4525 -0
  75. data/sorbet/rbi/gems/yard-sorbet@0.8.1.rbi +428 -0
  76. data/sorbet/rbi/gems/yard@0.9.34.rbi +18219 -0
  77. data/sorbet/rbi/gems/zeitwerk@2.6.11.rbi +999 -0
  78. data/sorbet/tapioca/config.yml +13 -0
  79. data/sorbet/tapioca/require.rb +5 -0
  80. metadata +208 -0
@@ -0,0 +1,13 @@
1
+ gem:
2
+ # Add your `gem` command parameters here:
3
+ #
4
+ # exclude:
5
+ # - gem_name
6
+ # doc: true
7
+ # workers: 5
8
+ dsl:
9
+ # Add your `dsl` command parameters here:
10
+ #
11
+ # exclude:
12
+ # - SomeGeneratorName
13
+ # workers: 5
@@ -0,0 +1,5 @@
1
+ # typed: strict
2
+ # frozen_string_literal: true
3
+
4
+ # Add your extra requires here (`bin/tapioca require` can be used to bootstrap this list)
5
+ require "zeitwerk"
metadata ADDED
@@ -0,0 +1,208 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: oriole
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0.alpha.0
5
+ platform: ruby
6
+ authors:
7
+ - Adam Petro
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2023-08-29 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 2.4.10
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 2.4.10
27
+ - !ruby/object:Gem::Dependency
28
+ name: minitest
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '5.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '5.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '13.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '13.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: sorbet-runtime
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '0.5'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '0.5'
69
+ - !ruby/object:Gem::Dependency
70
+ name: tinygql
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 0.1.4
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 0.1.4
83
+ - !ruby/object:Gem::Dependency
84
+ name: zeitwerk
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '2.6'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '2.6'
97
+ description: A fast GraphQL engine written in pure Ruby.
98
+ email:
99
+ - adamapetro@gmail.com
100
+ executables: []
101
+ extensions: []
102
+ extra_rdoc_files: []
103
+ files:
104
+ - ".gitignore"
105
+ - ".rubocop.yml"
106
+ - ".ruby-version"
107
+ - CHANGELOG.md
108
+ - Gemfile
109
+ - Gemfile.lock
110
+ - LICENSE
111
+ - README.md
112
+ - Rakefile
113
+ - bench/bench.rb
114
+ - bench/execute.rb
115
+ - bench/schemas/bluejay.rb
116
+ - bench/schemas/models.rb
117
+ - bench/schemas/oriole.rb
118
+ - bin/console
119
+ - bin/setup
120
+ - bin/style
121
+ - bin/tapioca
122
+ - bin/typecheck
123
+ - lib/oriole.rb
124
+ - lib/oriole/builtin_scalar_definition.rb
125
+ - lib/oriole/definition/abstract/definition.rb
126
+ - lib/oriole/definition/abstract/field_definition.rb
127
+ - lib/oriole/definition/abstract/object_type_definition.rb
128
+ - lib/oriole/definition/abstract/schema_definition.rb
129
+ - lib/oriole/definition/abstract/visibility.rb
130
+ - lib/oriole/definition/base_output_type.rb
131
+ - lib/oriole/definition/field_definition.rb
132
+ - lib/oriole/definition/object_type.rb
133
+ - lib/oriole/definition/output_type.rb
134
+ - lib/oriole/definition/schema.rb
135
+ - lib/oriole/definition/visibility_scoped/object_type_definition.rb
136
+ - lib/oriole/definition/visibility_scoped/schema_definition.rb
137
+ - lib/oriole/execution/coerce_result.rb
138
+ - lib/oriole/execution/engine.rb
139
+ - lib/oriole/version.rb
140
+ - oriole.gemspec
141
+ - rakelib/bench.rake
142
+ - sorbet/config
143
+ - sorbet/rbi/annotations/rainbow.rbi
144
+ - sorbet/rbi/gems/ast@2.4.2.rbi
145
+ - sorbet/rbi/gems/base64@0.1.1.rbi
146
+ - sorbet/rbi/gems/bluejay@0.1.0.alpha.2-a45c1b3b47aa4524f94bbe03db5ff1ae792afd09.rbi
147
+ - sorbet/rbi/gems/diff-lcs@1.5.0.rbi
148
+ - sorbet/rbi/gems/erubi@1.12.0.rbi
149
+ - sorbet/rbi/gems/json@2.6.3.rbi
150
+ - sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi
151
+ - sorbet/rbi/gems/minitest@5.19.0.rbi
152
+ - sorbet/rbi/gems/netrc@0.11.0.rbi
153
+ - sorbet/rbi/gems/parallel@1.23.0.rbi
154
+ - sorbet/rbi/gems/parser@3.2.2.3.rbi
155
+ - sorbet/rbi/gems/prettier_print@1.2.1.rbi
156
+ - sorbet/rbi/gems/racc@1.7.1.rbi
157
+ - sorbet/rbi/gems/rainbow@3.1.1.rbi
158
+ - sorbet/rbi/gems/rake@13.0.6.rbi
159
+ - sorbet/rbi/gems/rbi@0.0.17.rbi
160
+ - sorbet/rbi/gems/regexp_parser@2.8.1.rbi
161
+ - sorbet/rbi/gems/rexml@3.2.6.rbi
162
+ - sorbet/rbi/gems/rubocop-ast@1.29.0.rbi
163
+ - sorbet/rbi/gems/rubocop-minitest@0.27.0.rbi
164
+ - sorbet/rbi/gems/rubocop-rake@0.6.0.rbi
165
+ - sorbet/rbi/gems/rubocop-shopify@2.14.0.rbi
166
+ - sorbet/rbi/gems/rubocop-sorbet@0.6.11.rbi
167
+ - sorbet/rbi/gems/rubocop@1.56.1.rbi
168
+ - sorbet/rbi/gems/ruby-lsp@0.4.5.rbi
169
+ - sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi
170
+ - sorbet/rbi/gems/spoom@1.2.3.rbi
171
+ - sorbet/rbi/gems/syntax_tree@6.1.1.rbi
172
+ - sorbet/rbi/gems/tapioca@0.11.8.rbi
173
+ - sorbet/rbi/gems/thor@1.2.2.rbi
174
+ - sorbet/rbi/gems/tinygql@0.1.4.rbi
175
+ - sorbet/rbi/gems/unicode-display_width@2.4.2.rbi
176
+ - sorbet/rbi/gems/unparser@0.6.8.rbi
177
+ - sorbet/rbi/gems/yard-sorbet@0.8.1.rbi
178
+ - sorbet/rbi/gems/yard@0.9.34.rbi
179
+ - sorbet/rbi/gems/zeitwerk@2.6.11.rbi
180
+ - sorbet/tapioca/config.yml
181
+ - sorbet/tapioca/require.rb
182
+ homepage: https://github.com/adampetro/oriole
183
+ licenses:
184
+ - MIT
185
+ metadata:
186
+ homepage_uri: https://github.com/adampetro/oriole
187
+ source_code_uri: https://github.com/adampetro/oriole
188
+ changelog_uri: https://github.com/adampetro/oriole/blob/main/CHANGELOG
189
+ post_install_message:
190
+ rdoc_options: []
191
+ require_paths:
192
+ - lib
193
+ required_ruby_version: !ruby/object:Gem::Requirement
194
+ requirements:
195
+ - - ">="
196
+ - !ruby/object:Gem::Version
197
+ version: '0'
198
+ required_rubygems_version: !ruby/object:Gem::Requirement
199
+ requirements:
200
+ - - ">"
201
+ - !ruby/object:Gem::Version
202
+ version: 1.3.1
203
+ requirements: []
204
+ rubygems_version: 3.4.10
205
+ signing_key:
206
+ specification_version: 4
207
+ summary: A fast GraphQL engine written in pure Ruby.
208
+ test_files: []