apia 3.0.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 (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: []