apia 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (120) hide show
  1. checksums.yaml +7 -0
  2. data/VERSION +1 -0
  3. data/lib/apia.rb +21 -0
  4. data/lib/apia/api.rb +100 -0
  5. data/lib/apia/argument_set.rb +221 -0
  6. data/lib/apia/authenticator.rb +57 -0
  7. data/lib/apia/callable_with_environment.rb +43 -0
  8. data/lib/apia/controller.rb +32 -0
  9. data/lib/apia/defineable.rb +60 -0
  10. data/lib/apia/definition.rb +27 -0
  11. data/lib/apia/definitions/api.rb +51 -0
  12. data/lib/apia/definitions/argument.rb +77 -0
  13. data/lib/apia/definitions/argument_set.rb +33 -0
  14. data/lib/apia/definitions/authenticator.rb +46 -0
  15. data/lib/apia/definitions/controller.rb +41 -0
  16. data/lib/apia/definitions/endpoint.rb +74 -0
  17. data/lib/apia/definitions/enum.rb +31 -0
  18. data/lib/apia/definitions/error.rb +59 -0
  19. data/lib/apia/definitions/field.rb +117 -0
  20. data/lib/apia/definitions/lookup_argument_set.rb +27 -0
  21. data/lib/apia/definitions/object.rb +29 -0
  22. data/lib/apia/definitions/polymorph.rb +29 -0
  23. data/lib/apia/definitions/polymorph_option.rb +53 -0
  24. data/lib/apia/definitions/scalar.rb +23 -0
  25. data/lib/apia/definitions/type.rb +109 -0
  26. data/lib/apia/dsl.rb +23 -0
  27. data/lib/apia/dsls/api.rb +37 -0
  28. data/lib/apia/dsls/argument.rb +27 -0
  29. data/lib/apia/dsls/argument_set.rb +35 -0
  30. data/lib/apia/dsls/authenticator.rb +38 -0
  31. data/lib/apia/dsls/concerns/has_fields.rb +38 -0
  32. data/lib/apia/dsls/controller.rb +34 -0
  33. data/lib/apia/dsls/endpoint.rb +79 -0
  34. data/lib/apia/dsls/enum.rb +19 -0
  35. data/lib/apia/dsls/error.rb +26 -0
  36. data/lib/apia/dsls/field.rb +27 -0
  37. data/lib/apia/dsls/lookup_argument_set.rb +24 -0
  38. data/lib/apia/dsls/object.rb +19 -0
  39. data/lib/apia/dsls/polymorph.rb +19 -0
  40. data/lib/apia/dsls/route_group.rb +43 -0
  41. data/lib/apia/dsls/route_set.rb +40 -0
  42. data/lib/apia/dsls/scalar.rb +23 -0
  43. data/lib/apia/dsls/scope_descriptions.rb +17 -0
  44. data/lib/apia/endpoint.rb +110 -0
  45. data/lib/apia/enum.rb +43 -0
  46. data/lib/apia/environment_error_handling.rb +74 -0
  47. data/lib/apia/error.rb +61 -0
  48. data/lib/apia/error_set.rb +15 -0
  49. data/lib/apia/errors/error_exception_error.rb +32 -0
  50. data/lib/apia/errors/field_spec_parse_error.rb +23 -0
  51. data/lib/apia/errors/invalid_argument_error.rb +68 -0
  52. data/lib/apia/errors/invalid_enum_option_error.rb +21 -0
  53. data/lib/apia/errors/invalid_helper_error.rb +6 -0
  54. data/lib/apia/errors/invalid_json_error.rb +23 -0
  55. data/lib/apia/errors/invalid_polymorph_value_error.rb +21 -0
  56. data/lib/apia/errors/invalid_scalar_value_error.rb +21 -0
  57. data/lib/apia/errors/manifest_error.rb +43 -0
  58. data/lib/apia/errors/missing_argument_error.rb +40 -0
  59. data/lib/apia/errors/null_field_value_error.rb +37 -0
  60. data/lib/apia/errors/parse_error.rb +10 -0
  61. data/lib/apia/errors/runtime_error.rb +30 -0
  62. data/lib/apia/errors/scope_not_granted_error.rb +15 -0
  63. data/lib/apia/errors/standard_error.rb +6 -0
  64. data/lib/apia/field_set.rb +76 -0
  65. data/lib/apia/field_spec.rb +155 -0
  66. data/lib/apia/helpers.rb +34 -0
  67. data/lib/apia/hook_set.rb +30 -0
  68. data/lib/apia/lookup_argument_set.rb +57 -0
  69. data/lib/apia/lookup_environment.rb +27 -0
  70. data/lib/apia/manifest_errors.rb +62 -0
  71. data/lib/apia/mock_request.rb +18 -0
  72. data/lib/apia/object.rb +68 -0
  73. data/lib/apia/object_set.rb +21 -0
  74. data/lib/apia/pagination_object.rb +34 -0
  75. data/lib/apia/polymorph.rb +50 -0
  76. data/lib/apia/rack.rb +184 -0
  77. data/lib/apia/rack_error.rb +17 -0
  78. data/lib/apia/request.rb +67 -0
  79. data/lib/apia/request_environment.rb +84 -0
  80. data/lib/apia/request_headers.rb +42 -0
  81. data/lib/apia/response.rb +64 -0
  82. data/lib/apia/route.rb +61 -0
  83. data/lib/apia/route_group.rb +20 -0
  84. data/lib/apia/route_set.rb +89 -0
  85. data/lib/apia/scalar.rb +52 -0
  86. data/lib/apia/scalars.rb +25 -0
  87. data/lib/apia/scalars/base64.rb +31 -0
  88. data/lib/apia/scalars/boolean.rb +37 -0
  89. data/lib/apia/scalars/date.rb +45 -0
  90. data/lib/apia/scalars/decimal.rb +36 -0
  91. data/lib/apia/scalars/integer.rb +34 -0
  92. data/lib/apia/scalars/string.rb +24 -0
  93. data/lib/apia/scalars/unix_time.rb +40 -0
  94. data/lib/apia/schema/api_controller_schema_type.rb +17 -0
  95. data/lib/apia/schema/api_schema_type.rb +43 -0
  96. data/lib/apia/schema/argument_schema_type.rb +28 -0
  97. data/lib/apia/schema/argument_set_schema_type.rb +21 -0
  98. data/lib/apia/schema/authenticator_schema_type.rb +22 -0
  99. data/lib/apia/schema/controller.rb +39 -0
  100. data/lib/apia/schema/controller_endpoint_schema_type.rb +17 -0
  101. data/lib/apia/schema/controller_schema_type.rb +32 -0
  102. data/lib/apia/schema/endpoint_schema_type.rb +35 -0
  103. data/lib/apia/schema/enum_schema_type.rb +20 -0
  104. data/lib/apia/schema/enum_value_schema_type.rb +14 -0
  105. data/lib/apia/schema/error_schema_type.rb +23 -0
  106. data/lib/apia/schema/field_schema_type.rb +38 -0
  107. data/lib/apia/schema/field_spec_options_schema_type.rb +16 -0
  108. data/lib/apia/schema/lookup_argument_set_schema_type.rb +25 -0
  109. data/lib/apia/schema/object_schema_polymorph.rb +31 -0
  110. data/lib/apia/schema/object_schema_type.rb +21 -0
  111. data/lib/apia/schema/polymorph_option_schema_type.rb +16 -0
  112. data/lib/apia/schema/polymorph_schema_type.rb +20 -0
  113. data/lib/apia/schema/request_method_enum.rb +21 -0
  114. data/lib/apia/schema/route_group_schema_type.rb +19 -0
  115. data/lib/apia/schema/route_schema_type.rb +31 -0
  116. data/lib/apia/schema/route_set_schema_type.rb +20 -0
  117. data/lib/apia/schema/scalar_schema_type.rb +15 -0
  118. data/lib/apia/schema/scope_type.rb +14 -0
  119. data/lib/apia/version.rb +12 -0
  120. metadata +188 -0
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'apia/object'
4
+ require 'apia/schema/field_schema_type'
5
+
6
+ module Apia
7
+ module Schema
8
+ class ErrorSchemaType < Apia::Object
9
+
10
+ no_schema
11
+
12
+ field :id, type: :string
13
+ field :name, type: :string, null: true
14
+ field :description, type: :string, null: true
15
+ field :code, type: :string, backend: proc { |s| s.code.to_s }
16
+ field :http_status, type: :integer, backend: :http_status_code
17
+ field :fields, type: [FieldSchemaType] do
18
+ backend { |e| e.fields.values }
19
+ end
20
+
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'apia/object'
4
+ require 'apia/schema/field_spec_options_schema_type'
5
+
6
+ module Apia
7
+ module Schema
8
+ class FieldSchemaType < Apia::Object
9
+
10
+ no_schema
11
+
12
+ field :id, type: :string
13
+ field :name, type: :string
14
+ field :description, type: :string, null: true
15
+ field :type, type: :string do
16
+ backend { |f| f.type.id }
17
+ end
18
+ field :null, type: :boolean do
19
+ backend(&:null?)
20
+ end
21
+ field :array, type: :boolean do
22
+ backend(&:array?)
23
+ end
24
+
25
+ field :spec, type: FieldSpecOptionsSchemaType do
26
+ backend do |field|
27
+ hash = {}
28
+ hash[:all] = field.include.nil? || field.include == true
29
+ if field.include.is_a?(String)
30
+ hash[:spec] = field.include
31
+ end
32
+ hash
33
+ end
34
+ end
35
+
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'apia/object'
4
+
5
+ module Apia
6
+ module Schema
7
+ class FieldSpecOptionsSchemaType < Apia::Object
8
+
9
+ no_schema
10
+
11
+ field :all, type: :boolean
12
+ field :spec, type: :string, null: true
13
+
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'apia/object'
4
+ require 'apia/schema/argument_schema_type'
5
+
6
+ module Apia
7
+ module Schema
8
+ class LookupArgumentSetSchemaType < Apia::Object
9
+
10
+ no_schema
11
+
12
+ field :id, type: :string
13
+ field :name, type: :string, null: true
14
+ field :description, type: :string, null: true
15
+ field :arguments, type: [ArgumentSchemaType] do
16
+ backend { |as| as.arguments.values }
17
+ end
18
+
19
+ field :potential_errors, type: [:string] do
20
+ backend { |a| a.potential_errors.map { |e| e.definition.id } }
21
+ end
22
+
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'apia/polymorph'
4
+ require 'apia/schema/object_schema_type'
5
+ require 'apia/schema/scalar_schema_type'
6
+ require 'apia/schema/enum_schema_type'
7
+ require 'apia/schema/polymorph_schema_type'
8
+ require 'apia/schema/api_schema_type'
9
+ require 'apia/schema/lookup_argument_set_schema_type'
10
+
11
+ module Apia
12
+ module Schema
13
+ class ObjectSchemaPolymorph < Apia::Polymorph
14
+
15
+ no_schema
16
+
17
+ option :object, type: ObjectSchemaType, matcher: proc { |o| o.is_a?(Apia::Definitions::Object) }
18
+ option :scalar, type: ScalarSchemaType, matcher: proc { |o| o.is_a?(Apia::Definitions::Scalar) }
19
+ option :enum, type: EnumSchemaType, matcher: proc { |o| o.is_a?(Apia::Definitions::Enum) }
20
+ option :polymorph, type: PolymorphSchemaType, matcher: proc { |o| o.is_a?(Apia::Definitions::Polymorph) }
21
+ option :authenticator, type: AuthenticatorSchemaType, matcher: proc { |o| o.is_a?(Apia::Definitions::Authenticator) }
22
+ option :controller, type: ControllerSchemaType, matcher: proc { |o| o.is_a?(Apia::Definitions::Controller) }
23
+ option :endpoint, type: EndpointSchemaType, matcher: proc { |o| o.is_a?(Apia::Definitions::Endpoint) }
24
+ option :error, type: ErrorSchemaType, matcher: proc { |o| o.is_a?(Apia::Definitions::Error) }
25
+ option :lookup_argument_set, type: LookupArgumentSetSchemaType, matcher: proc { |o| o.is_a?(Apia::Definitions::LookupArgumentSet) }
26
+ option :argument_set, type: ArgumentSetSchemaType, matcher: proc { |o| o.is_a?(Apia::Definitions::ArgumentSet) }
27
+ option :api, type: APISchemaType, matcher: proc { |o| o.is_a?(Apia::Definitions::API) }
28
+
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'apia/object'
4
+ require 'apia/schema/field_schema_type'
5
+
6
+ module Apia
7
+ module Schema
8
+ class ObjectSchemaType < Apia::Object
9
+
10
+ no_schema
11
+
12
+ field :id, type: :string
13
+ field :name, type: :string, null: true
14
+ field :description, type: :string, null: true
15
+ field :fields, type: [FieldSchemaType] do
16
+ backend { |e| e.fields.values }
17
+ end
18
+
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Apia
4
+ module Schema
5
+ class PolymorphOptionSchemaType < Apia::Object
6
+
7
+ no_schema
8
+
9
+ field :name, type: :string
10
+ field :type, type: :string do
11
+ backend { |a| a.type.id }
12
+ end
13
+
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'apia/schema/polymorph_option_schema_type'
4
+
5
+ module Apia
6
+ module Schema
7
+ class PolymorphSchemaType < Apia::Object
8
+
9
+ no_schema
10
+
11
+ field :id, type: :string
12
+ field :name, type: :string, null: true
13
+ field :description, type: :string, null: true
14
+ field :options, type: [PolymorphOptionSchemaType] do
15
+ backend { |o| o.options.values }
16
+ end
17
+
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'apia/route'
4
+
5
+ module Apia
6
+ module Schema
7
+ class RequestMethodEnum < Apia::Enum
8
+
9
+ no_schema
10
+
11
+ Route::REQUEST_METHODS.each do |method|
12
+ value method.to_s.upcase
13
+ end
14
+
15
+ cast do |value|
16
+ value.to_s.upcase
17
+ end
18
+
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'apia/schema/request_method_enum'
4
+
5
+ module Apia
6
+ module Schema
7
+ class RouteGroupSchemaType < Apia::Object
8
+
9
+ no_schema
10
+
11
+ field :id, type: :string
12
+ field :name, type: :string, null: true
13
+ field :description, type: :string, null: true
14
+
15
+ field :groups, type: [RouteGroupSchemaType]
16
+
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'apia/schema/request_method_enum'
4
+
5
+ module Apia
6
+ module Schema
7
+ class RouteSchemaType < Apia::Object
8
+
9
+ no_schema
10
+
11
+ field :path, type: :string
12
+
13
+ field :request_method, type: RequestMethodEnum do
14
+ backend { |route| route.request_method }
15
+ end
16
+
17
+ field :controller, type: :string, null: true do
18
+ backend { |route| route.controller&.definition&.id }
19
+ end
20
+
21
+ field :endpoint, type: :string, null: true do
22
+ backend { |route| route.endpoint&.definition&.id }
23
+ end
24
+
25
+ field :group, type: :string, null: true do
26
+ backend { |route| route.group&.id }
27
+ end
28
+
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'apia/schema/route_schema_type'
4
+ require 'apia/schema/route_group_schema_type'
5
+ module Apia
6
+ module Schema
7
+ class RouteSetSchemaType < Apia::Object
8
+
9
+ no_schema
10
+
11
+ field :routes, [RouteSchemaType] do
12
+ backend do |o|
13
+ o.routes.select { |r| r.endpoint&.definition&.schema? }
14
+ end
15
+ end
16
+ field :groups, [RouteGroupSchemaType]
17
+
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Apia
4
+ module Schema
5
+ class ScalarSchemaType < Apia::Object
6
+
7
+ no_schema
8
+
9
+ field :id, type: :string
10
+ field :name, type: :string, null: true
11
+ field :description, type: :string, null: true
12
+
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'apia/object'
4
+
5
+ module Apia
6
+ module Schema
7
+ class ScopeType < Apia::Object
8
+
9
+ field :name, :string
10
+ field :description, :string
11
+
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Apia
4
+
5
+ VERSION_FILE_ROOT = File.expand_path('../../VERSION', __dir__)
6
+ if File.file?(VERSION_FILE_ROOT)
7
+ VERSION = File.read(VERSION_FILE_ROOT).strip.sub(/\Av/, '')
8
+ else
9
+ VERSION = '0.0.0.dev'
10
+ end
11
+
12
+ end
metadata ADDED
@@ -0,0 +1,188 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: apia
3
+ version: !ruby/object:Gem::Version
4
+ version: 3.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Adam Cooke
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2021-08-04 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: json
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rack
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'
41
+ description: A framework for building HTTP APIs.
42
+ email:
43
+ - adam@k.io
44
+ executables: []
45
+ extensions: []
46
+ extra_rdoc_files: []
47
+ files:
48
+ - VERSION
49
+ - lib/apia.rb
50
+ - lib/apia/api.rb
51
+ - lib/apia/argument_set.rb
52
+ - lib/apia/authenticator.rb
53
+ - lib/apia/callable_with_environment.rb
54
+ - lib/apia/controller.rb
55
+ - lib/apia/defineable.rb
56
+ - lib/apia/definition.rb
57
+ - lib/apia/definitions/api.rb
58
+ - lib/apia/definitions/argument.rb
59
+ - lib/apia/definitions/argument_set.rb
60
+ - lib/apia/definitions/authenticator.rb
61
+ - lib/apia/definitions/controller.rb
62
+ - lib/apia/definitions/endpoint.rb
63
+ - lib/apia/definitions/enum.rb
64
+ - lib/apia/definitions/error.rb
65
+ - lib/apia/definitions/field.rb
66
+ - lib/apia/definitions/lookup_argument_set.rb
67
+ - lib/apia/definitions/object.rb
68
+ - lib/apia/definitions/polymorph.rb
69
+ - lib/apia/definitions/polymorph_option.rb
70
+ - lib/apia/definitions/scalar.rb
71
+ - lib/apia/definitions/type.rb
72
+ - lib/apia/dsl.rb
73
+ - lib/apia/dsls/api.rb
74
+ - lib/apia/dsls/argument.rb
75
+ - lib/apia/dsls/argument_set.rb
76
+ - lib/apia/dsls/authenticator.rb
77
+ - lib/apia/dsls/concerns/has_fields.rb
78
+ - lib/apia/dsls/controller.rb
79
+ - lib/apia/dsls/endpoint.rb
80
+ - lib/apia/dsls/enum.rb
81
+ - lib/apia/dsls/error.rb
82
+ - lib/apia/dsls/field.rb
83
+ - lib/apia/dsls/lookup_argument_set.rb
84
+ - lib/apia/dsls/object.rb
85
+ - lib/apia/dsls/polymorph.rb
86
+ - lib/apia/dsls/route_group.rb
87
+ - lib/apia/dsls/route_set.rb
88
+ - lib/apia/dsls/scalar.rb
89
+ - lib/apia/dsls/scope_descriptions.rb
90
+ - lib/apia/endpoint.rb
91
+ - lib/apia/enum.rb
92
+ - lib/apia/environment_error_handling.rb
93
+ - lib/apia/error.rb
94
+ - lib/apia/error_set.rb
95
+ - lib/apia/errors/error_exception_error.rb
96
+ - lib/apia/errors/field_spec_parse_error.rb
97
+ - lib/apia/errors/invalid_argument_error.rb
98
+ - lib/apia/errors/invalid_enum_option_error.rb
99
+ - lib/apia/errors/invalid_helper_error.rb
100
+ - lib/apia/errors/invalid_json_error.rb
101
+ - lib/apia/errors/invalid_polymorph_value_error.rb
102
+ - lib/apia/errors/invalid_scalar_value_error.rb
103
+ - lib/apia/errors/manifest_error.rb
104
+ - lib/apia/errors/missing_argument_error.rb
105
+ - lib/apia/errors/null_field_value_error.rb
106
+ - lib/apia/errors/parse_error.rb
107
+ - lib/apia/errors/runtime_error.rb
108
+ - lib/apia/errors/scope_not_granted_error.rb
109
+ - lib/apia/errors/standard_error.rb
110
+ - lib/apia/field_set.rb
111
+ - lib/apia/field_spec.rb
112
+ - lib/apia/helpers.rb
113
+ - lib/apia/hook_set.rb
114
+ - lib/apia/lookup_argument_set.rb
115
+ - lib/apia/lookup_environment.rb
116
+ - lib/apia/manifest_errors.rb
117
+ - lib/apia/mock_request.rb
118
+ - lib/apia/object.rb
119
+ - lib/apia/object_set.rb
120
+ - lib/apia/pagination_object.rb
121
+ - lib/apia/polymorph.rb
122
+ - lib/apia/rack.rb
123
+ - lib/apia/rack_error.rb
124
+ - lib/apia/request.rb
125
+ - lib/apia/request_environment.rb
126
+ - lib/apia/request_headers.rb
127
+ - lib/apia/response.rb
128
+ - lib/apia/route.rb
129
+ - lib/apia/route_group.rb
130
+ - lib/apia/route_set.rb
131
+ - lib/apia/scalar.rb
132
+ - lib/apia/scalars.rb
133
+ - lib/apia/scalars/base64.rb
134
+ - lib/apia/scalars/boolean.rb
135
+ - lib/apia/scalars/date.rb
136
+ - lib/apia/scalars/decimal.rb
137
+ - lib/apia/scalars/integer.rb
138
+ - lib/apia/scalars/string.rb
139
+ - lib/apia/scalars/unix_time.rb
140
+ - lib/apia/schema/api_controller_schema_type.rb
141
+ - lib/apia/schema/api_schema_type.rb
142
+ - lib/apia/schema/argument_schema_type.rb
143
+ - lib/apia/schema/argument_set_schema_type.rb
144
+ - lib/apia/schema/authenticator_schema_type.rb
145
+ - lib/apia/schema/controller.rb
146
+ - lib/apia/schema/controller_endpoint_schema_type.rb
147
+ - lib/apia/schema/controller_schema_type.rb
148
+ - lib/apia/schema/endpoint_schema_type.rb
149
+ - lib/apia/schema/enum_schema_type.rb
150
+ - lib/apia/schema/enum_value_schema_type.rb
151
+ - lib/apia/schema/error_schema_type.rb
152
+ - lib/apia/schema/field_schema_type.rb
153
+ - lib/apia/schema/field_spec_options_schema_type.rb
154
+ - lib/apia/schema/lookup_argument_set_schema_type.rb
155
+ - lib/apia/schema/object_schema_polymorph.rb
156
+ - lib/apia/schema/object_schema_type.rb
157
+ - lib/apia/schema/polymorph_option_schema_type.rb
158
+ - lib/apia/schema/polymorph_schema_type.rb
159
+ - lib/apia/schema/request_method_enum.rb
160
+ - lib/apia/schema/route_group_schema_type.rb
161
+ - lib/apia/schema/route_schema_type.rb
162
+ - lib/apia/schema/route_set_schema_type.rb
163
+ - lib/apia/schema/scalar_schema_type.rb
164
+ - lib/apia/schema/scope_type.rb
165
+ - lib/apia/version.rb
166
+ homepage: https://github.com/krystal/apia
167
+ licenses: []
168
+ metadata: {}
169
+ post_install_message:
170
+ rdoc_options: []
171
+ require_paths:
172
+ - lib
173
+ required_ruby_version: !ruby/object:Gem::Requirement
174
+ requirements:
175
+ - - ">="
176
+ - !ruby/object:Gem::Version
177
+ version: '0'
178
+ required_rubygems_version: !ruby/object:Gem::Requirement
179
+ requirements:
180
+ - - ">="
181
+ - !ruby/object:Gem::Version
182
+ version: '0'
183
+ requirements: []
184
+ rubygems_version: 3.1.6
185
+ signing_key:
186
+ specification_version: 4
187
+ summary: This gem provides a friendly DSL for constructing HTTP APIs.
188
+ test_files: []