apia-schema-parser 1.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.
- checksums.yaml +7 -0
- data/VERSION +1 -0
- data/lib/apia_schema-parser.rb +3 -0
- data/lib/apia_schema_parser.rb +14 -0
- data/lib/apia_schema_parser/api.rb +25 -0
- data/lib/apia_schema_parser/argument.rb +41 -0
- data/lib/apia_schema_parser/argument_set.rb +27 -0
- data/lib/apia_schema_parser/authenticator.rb +16 -0
- data/lib/apia_schema_parser/controller.rb +21 -0
- data/lib/apia_schema_parser/endpoint.rb +45 -0
- data/lib/apia_schema_parser/enum.rb +14 -0
- data/lib/apia_schema_parser/enum_value.rb +19 -0
- data/lib/apia_schema_parser/error.rb +20 -0
- data/lib/apia_schema_parser/field.rb +29 -0
- data/lib/apia_schema_parser/has_fields.rb +13 -0
- data/lib/apia_schema_parser/has_potential_errors.rb +13 -0
- data/lib/apia_schema_parser/lookup_argument_set.rb +12 -0
- data/lib/apia_schema_parser/object.rb +12 -0
- data/lib/apia_schema_parser/polymorph.rb +14 -0
- data/lib/apia_schema_parser/polymorph_option.rb +18 -0
- data/lib/apia_schema_parser/route.rb +53 -0
- data/lib/apia_schema_parser/route_group.rb +57 -0
- data/lib/apia_schema_parser/route_set.rb +40 -0
- data/lib/apia_schema_parser/scalar.rb +9 -0
- data/lib/apia_schema_parser/schema.rb +66 -0
- data/lib/apia_schema_parser/scope.rb +19 -0
- data/lib/apia_schema_parser/simple_object.rb +26 -0
- data/lib/apia_schema_parser/version.rb +12 -0
- metadata +103 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: b3e42e725c2a89060d290b451c8adff18274bc63b74a7b0f5ee3bff57d8556e3
|
4
|
+
data.tar.gz: a90d656b05c35bb6a9490b114110c072bc4f5d68e2475f62b09dff5a45f42ff7
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: ab8988054e80cf46b1b246d8f1e26848195720690b9d6b9c6e605cb66a3a94b8fa7fe9e4068ee8d9cded5e0f20a60adee37d0b0ee439b4b498a3e5cbc0004f91
|
7
|
+
data.tar.gz: a23a1fac9bb197e25945ed6c7a4931e689a529cc2b7fbdb89df66158edc186d232bf18336c7a8ea163844f7eb3bb84a413dbaa5eec4db592d35e081a485c48b0
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
1.0.0
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'apia_schema_parser/simple_object'
|
4
|
+
require 'apia_schema_parser/authenticator'
|
5
|
+
require 'apia_schema_parser/controller'
|
6
|
+
require 'apia_schema_parser/route_set'
|
7
|
+
require 'apia_schema_parser/scope'
|
8
|
+
|
9
|
+
module ApiaSchemaParser
|
10
|
+
class API < SimpleObject
|
11
|
+
|
12
|
+
def authenticator
|
13
|
+
@authenticator ||= schema.objects[@raw['authenticator']]
|
14
|
+
end
|
15
|
+
|
16
|
+
def route_set
|
17
|
+
@route_set ||= RouteSet.new(schema, @raw['route_set'])
|
18
|
+
end
|
19
|
+
|
20
|
+
def scopes
|
21
|
+
@scopes ||= @raw['scopes'].map { |s| Scope.new(s) }.sort_by { |s| s.name.upcase }
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'apia_schema_parser/simple_object'
|
4
|
+
|
5
|
+
module ApiaSchemaParser
|
6
|
+
class Argument
|
7
|
+
|
8
|
+
def initialize(set, raw)
|
9
|
+
@set = set
|
10
|
+
@schema = set.schema
|
11
|
+
@raw = raw
|
12
|
+
end
|
13
|
+
|
14
|
+
def name
|
15
|
+
@raw['name']
|
16
|
+
end
|
17
|
+
|
18
|
+
def description
|
19
|
+
@raw['description']
|
20
|
+
end
|
21
|
+
|
22
|
+
def type
|
23
|
+
return nil if @raw['type'].nil?
|
24
|
+
|
25
|
+
@schema.objects[@raw['type']]
|
26
|
+
end
|
27
|
+
|
28
|
+
def required?
|
29
|
+
@raw['required'] == true
|
30
|
+
end
|
31
|
+
|
32
|
+
def array?
|
33
|
+
@raw['array'] == true
|
34
|
+
end
|
35
|
+
|
36
|
+
def default
|
37
|
+
@raw['default']
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'apia_schema_parser/simple_object'
|
4
|
+
require 'apia_schema_parser/argument'
|
5
|
+
|
6
|
+
module ApiaSchemaParser
|
7
|
+
class ArgumentSet < SimpleObject
|
8
|
+
|
9
|
+
def arguments
|
10
|
+
@arguments ||= @raw['arguments'].each_with_object({}) do |a, hash|
|
11
|
+
arg = Argument.new(self, a)
|
12
|
+
hash[arg.name] = arg
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def all_potential_errors
|
17
|
+
errors = respond_to?(:potential_errors) ? potential_errors : []
|
18
|
+
arguments.values.each do |arg|
|
19
|
+
next unless arg.type.is_a?(ArgumentSet)
|
20
|
+
|
21
|
+
errors |= arg.type.all_potential_errors
|
22
|
+
end
|
23
|
+
errors
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'apia_schema_parser/simple_object'
|
4
|
+
require 'apia_schema_parser/has_potential_errors'
|
5
|
+
|
6
|
+
module ApiaSchemaParser
|
7
|
+
class Authenticator < SimpleObject
|
8
|
+
|
9
|
+
include HasPotentialErrors
|
10
|
+
|
11
|
+
def type
|
12
|
+
@raw['type']
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'apia_schema_parser/simple_object'
|
4
|
+
|
5
|
+
module ApiaSchemaParser
|
6
|
+
class Controller < SimpleObject
|
7
|
+
|
8
|
+
def authenticator
|
9
|
+
return nil if @raw['authenticator'].nil?
|
10
|
+
|
11
|
+
@authenticator ||= schema.objects[@raw['authenticator']]
|
12
|
+
end
|
13
|
+
|
14
|
+
def endpoints
|
15
|
+
@endpoints ||= @raw['endpoints'].each_with_object({}) do |endpoint, hash|
|
16
|
+
hash[endpoint['name']] = schema.objects[endpoint['endpoint']]
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'apia_schema_parser/simple_object'
|
4
|
+
require 'apia_schema_parser/has_fields'
|
5
|
+
require 'apia_schema_parser/has_potential_errors'
|
6
|
+
require 'apia_schema_parser/argument_set'
|
7
|
+
|
8
|
+
module ApiaSchemaParser
|
9
|
+
class Endpoint < SimpleObject
|
10
|
+
|
11
|
+
include HasFields
|
12
|
+
include HasPotentialErrors
|
13
|
+
|
14
|
+
def authenticator
|
15
|
+
return nil if @raw['authenticator'].nil?
|
16
|
+
|
17
|
+
@authenticator ||= schema.objects[@raw['authenticator']]
|
18
|
+
end
|
19
|
+
|
20
|
+
def routes
|
21
|
+
schema.api.route_set.routes_by_endpoint[id]
|
22
|
+
end
|
23
|
+
|
24
|
+
def argument_set
|
25
|
+
@argument_set ||= ArgumentSet.new(schema, @raw['argument_set'])
|
26
|
+
end
|
27
|
+
|
28
|
+
def http_status
|
29
|
+
@raw['http_status']
|
30
|
+
end
|
31
|
+
|
32
|
+
def http_method
|
33
|
+
@raw['http_method']
|
34
|
+
end
|
35
|
+
|
36
|
+
def scopes
|
37
|
+
@raw['scopes']
|
38
|
+
end
|
39
|
+
|
40
|
+
def all_potential_errors
|
41
|
+
(potential_errors + argument_set.all_potential_errors).uniq
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'apia_schema_parser/simple_object'
|
4
|
+
require 'apia_schema_parser/enum_value'
|
5
|
+
|
6
|
+
module ApiaSchemaParser
|
7
|
+
class Enum < SimpleObject
|
8
|
+
|
9
|
+
def values
|
10
|
+
@values ||= @raw['values'].map { |e| EnumValue.new(e) }
|
11
|
+
end
|
12
|
+
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'apia_schema_parser/simple_object'
|
4
|
+
require 'apia_schema_parser/has_fields'
|
5
|
+
|
6
|
+
module ApiaSchemaParser
|
7
|
+
class Error < SimpleObject
|
8
|
+
|
9
|
+
include HasFields
|
10
|
+
|
11
|
+
def code
|
12
|
+
@raw['code']
|
13
|
+
end
|
14
|
+
|
15
|
+
def http_status
|
16
|
+
@raw['http_status']
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'apia/field_spec'
|
4
|
+
require 'apia_schema_parser/simple_object'
|
5
|
+
|
6
|
+
module ApiaSchemaParser
|
7
|
+
class Field < SimpleObject
|
8
|
+
|
9
|
+
def type
|
10
|
+
schema.objects[@raw['type']]
|
11
|
+
end
|
12
|
+
|
13
|
+
def null?
|
14
|
+
@raw['null'] == true
|
15
|
+
end
|
16
|
+
|
17
|
+
def array?
|
18
|
+
@raw['array'] == true
|
19
|
+
end
|
20
|
+
|
21
|
+
def spec
|
22
|
+
return :all if @raw['spec']['all'] == true
|
23
|
+
return Apia::FieldSpec.parse(@raw['spec']['spec']) if @raw['spec']['spec']
|
24
|
+
|
25
|
+
nil
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'apia_schema_parser/simple_object'
|
4
|
+
require 'apia_schema_parser/polymorph_option'
|
5
|
+
|
6
|
+
module ApiaSchemaParser
|
7
|
+
class Polymorph < SimpleObject
|
8
|
+
|
9
|
+
def options
|
10
|
+
@options ||= @raw['options'].map { |o| PolymorphOption.new(schema, o) }
|
11
|
+
end
|
12
|
+
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module ApiaSchemaParser
|
4
|
+
class Route
|
5
|
+
|
6
|
+
def initialize(set, raw)
|
7
|
+
@route_set = set
|
8
|
+
@raw = raw
|
9
|
+
end
|
10
|
+
|
11
|
+
def url
|
12
|
+
"#{@route_set.schema.url}/#{path}"
|
13
|
+
end
|
14
|
+
|
15
|
+
def path
|
16
|
+
@raw['path']
|
17
|
+
end
|
18
|
+
|
19
|
+
def request_method
|
20
|
+
@raw['request_method']
|
21
|
+
end
|
22
|
+
|
23
|
+
def group
|
24
|
+
return nil if @raw['group'].nil?
|
25
|
+
|
26
|
+
parts = @raw['group'].split('.')
|
27
|
+
source = @route_set.groups
|
28
|
+
parts.size.times do |i|
|
29
|
+
part = parts[0, i + 1].join('.')
|
30
|
+
|
31
|
+
source = source[part]
|
32
|
+
return nil if source.nil?
|
33
|
+
return source if i == parts.size - 1
|
34
|
+
|
35
|
+
source = source.groups
|
36
|
+
end
|
37
|
+
nil
|
38
|
+
end
|
39
|
+
|
40
|
+
def controller
|
41
|
+
return if @raw['controller'].nil?
|
42
|
+
|
43
|
+
@route_set.schema.objects[@raw['controller']]
|
44
|
+
end
|
45
|
+
|
46
|
+
def endpoint
|
47
|
+
return if @raw['endpoint'].nil?
|
48
|
+
|
49
|
+
@route_set.schema.objects[@raw['endpoint']]
|
50
|
+
end
|
51
|
+
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module ApiaSchemaParser
|
4
|
+
class RouteGroup
|
5
|
+
|
6
|
+
def initialize(set, raw)
|
7
|
+
@route_set = set
|
8
|
+
@raw = raw
|
9
|
+
end
|
10
|
+
|
11
|
+
def id
|
12
|
+
@raw['id']
|
13
|
+
end
|
14
|
+
|
15
|
+
def name
|
16
|
+
@raw['name']
|
17
|
+
end
|
18
|
+
|
19
|
+
def description
|
20
|
+
@raw['description']
|
21
|
+
end
|
22
|
+
|
23
|
+
def routes
|
24
|
+
@route_set.routes_by_group[id]
|
25
|
+
end
|
26
|
+
|
27
|
+
def group_path
|
28
|
+
@group_path ||= begin
|
29
|
+
parts = @raw['id'].split('.')
|
30
|
+
last_group = @route_set
|
31
|
+
groups = []
|
32
|
+
parts.size.times do |i|
|
33
|
+
inner_parts = parts[0, i + 1]
|
34
|
+
id = inner_parts.join('.')
|
35
|
+
group = last_group.groups[id]
|
36
|
+
groups << group
|
37
|
+
last_group = group
|
38
|
+
end
|
39
|
+
groups
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
def group
|
44
|
+
return @group if instance_variable_defined?('@group')
|
45
|
+
|
46
|
+
@group = group_path[group_path.size - 2]
|
47
|
+
end
|
48
|
+
|
49
|
+
def groups
|
50
|
+
@groups ||= @raw['groups'].each_with_object({}) do |group_hash, hash|
|
51
|
+
group = RouteGroup.new(@route_set, group_hash)
|
52
|
+
hash[group.id] = group
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'apia_schema_parser/route_set'
|
4
|
+
require 'apia_schema_parser/route_group'
|
5
|
+
require 'apia_schema_parser/route'
|
6
|
+
|
7
|
+
module ApiaSchemaParser
|
8
|
+
class RouteSet < SimpleObject
|
9
|
+
|
10
|
+
def routes
|
11
|
+
@routes ||= @raw['routes'].map do |route_hash|
|
12
|
+
next if route_hash['controller'] =~ /\AApia\//
|
13
|
+
|
14
|
+
Route.new(self, route_hash)
|
15
|
+
end.compact
|
16
|
+
end
|
17
|
+
|
18
|
+
def routes_by_group
|
19
|
+
@routes_by_group ||= routes.each_with_object({}) do |route, hash|
|
20
|
+
hash[route.group&.id] ||= []
|
21
|
+
hash[route.group&.id] << route
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def routes_by_endpoint
|
26
|
+
@routes_by_endpoint ||= routes.each_with_object({}) do |route, hash|
|
27
|
+
hash[route.endpoint&.id] ||= []
|
28
|
+
hash[route.endpoint&.id] << route
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
def groups
|
33
|
+
@groups ||= @raw['groups'].each_with_object({}) do |group_hash, hash|
|
34
|
+
group = RouteGroup.new(self, group_hash)
|
35
|
+
hash[group.id] = group
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'apia_schema_parser/api'
|
4
|
+
require 'apia_schema_parser/controller'
|
5
|
+
require 'apia_schema_parser/endpoint'
|
6
|
+
require 'apia_schema_parser/argument_set'
|
7
|
+
require 'apia_schema_parser/authenticator'
|
8
|
+
require 'apia_schema_parser/error'
|
9
|
+
require 'apia_schema_parser/object'
|
10
|
+
require 'apia_schema_parser/enum'
|
11
|
+
require 'apia_schema_parser/scalar'
|
12
|
+
require 'apia_schema_parser/polymorph'
|
13
|
+
require 'apia_schema_parser/lookup_argument_set'
|
14
|
+
|
15
|
+
module ApiaSchemaParser
|
16
|
+
class Schema
|
17
|
+
|
18
|
+
OBJECT_MAP = {
|
19
|
+
'api' => API,
|
20
|
+
'authenticator' => Authenticator,
|
21
|
+
'controller' => Controller,
|
22
|
+
'argument_set' => ArgumentSet,
|
23
|
+
'endpoint' => Endpoint,
|
24
|
+
'error' => Error,
|
25
|
+
'object' => Object,
|
26
|
+
'enum' => Enum,
|
27
|
+
'scalar' => Scalar,
|
28
|
+
'polymorph' => Polymorph,
|
29
|
+
'lookup_argument_set' => LookupArgumentSet
|
30
|
+
}.freeze
|
31
|
+
|
32
|
+
def initialize(raw)
|
33
|
+
@raw = raw
|
34
|
+
end
|
35
|
+
|
36
|
+
def inspect
|
37
|
+
"#<ApiaSchemaParser::Schema[#{@raw['api']}] #{@raw['objects'].size} objects>"
|
38
|
+
end
|
39
|
+
|
40
|
+
def host
|
41
|
+
@raw['host']
|
42
|
+
end
|
43
|
+
|
44
|
+
def namespace
|
45
|
+
@raw['namespace']
|
46
|
+
end
|
47
|
+
|
48
|
+
def url
|
49
|
+
"https://#{host}#{namespace}"
|
50
|
+
end
|
51
|
+
|
52
|
+
def api
|
53
|
+
objects[@raw['api']]
|
54
|
+
end
|
55
|
+
|
56
|
+
def objects
|
57
|
+
@raw['objects'].each_with_object({}) do |object, hash|
|
58
|
+
klass = OBJECT_MAP[object['type']]
|
59
|
+
next if klass.nil?
|
60
|
+
|
61
|
+
hash[object['value']['id']] = klass.new(self, object['value'])
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
end
|
66
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module ApiaSchemaParser
|
4
|
+
class SimpleObject
|
5
|
+
|
6
|
+
attr_reader :schema
|
7
|
+
|
8
|
+
def initialize(schema, raw)
|
9
|
+
@schema = schema
|
10
|
+
@raw = raw
|
11
|
+
end
|
12
|
+
|
13
|
+
def id
|
14
|
+
@raw['id']
|
15
|
+
end
|
16
|
+
|
17
|
+
def name
|
18
|
+
@raw['name'] || id.split('/').last
|
19
|
+
end
|
20
|
+
|
21
|
+
def description
|
22
|
+
@raw['description']
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module ApiaSchemaParser
|
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,103 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: apia-schema-parser
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.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: apia
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '3.0'
|
20
|
+
- - "<"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '4.0'
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '3.0'
|
30
|
+
- - "<"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '4.0'
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: json
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - ">="
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '0'
|
40
|
+
type: :runtime
|
41
|
+
prerelease: false
|
42
|
+
version_requirements: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '0'
|
47
|
+
description: A little library for reading Apia Schema files.
|
48
|
+
email:
|
49
|
+
- adam@k.io
|
50
|
+
executables: []
|
51
|
+
extensions: []
|
52
|
+
extra_rdoc_files: []
|
53
|
+
files:
|
54
|
+
- VERSION
|
55
|
+
- lib/apia_schema-parser.rb
|
56
|
+
- lib/apia_schema_parser.rb
|
57
|
+
- lib/apia_schema_parser/api.rb
|
58
|
+
- lib/apia_schema_parser/argument.rb
|
59
|
+
- lib/apia_schema_parser/argument_set.rb
|
60
|
+
- lib/apia_schema_parser/authenticator.rb
|
61
|
+
- lib/apia_schema_parser/controller.rb
|
62
|
+
- lib/apia_schema_parser/endpoint.rb
|
63
|
+
- lib/apia_schema_parser/enum.rb
|
64
|
+
- lib/apia_schema_parser/enum_value.rb
|
65
|
+
- lib/apia_schema_parser/error.rb
|
66
|
+
- lib/apia_schema_parser/field.rb
|
67
|
+
- lib/apia_schema_parser/has_fields.rb
|
68
|
+
- lib/apia_schema_parser/has_potential_errors.rb
|
69
|
+
- lib/apia_schema_parser/lookup_argument_set.rb
|
70
|
+
- lib/apia_schema_parser/object.rb
|
71
|
+
- lib/apia_schema_parser/polymorph.rb
|
72
|
+
- lib/apia_schema_parser/polymorph_option.rb
|
73
|
+
- lib/apia_schema_parser/route.rb
|
74
|
+
- lib/apia_schema_parser/route_group.rb
|
75
|
+
- lib/apia_schema_parser/route_set.rb
|
76
|
+
- lib/apia_schema_parser/scalar.rb
|
77
|
+
- lib/apia_schema_parser/schema.rb
|
78
|
+
- lib/apia_schema_parser/scope.rb
|
79
|
+
- lib/apia_schema_parser/simple_object.rb
|
80
|
+
- lib/apia_schema_parser/version.rb
|
81
|
+
homepage: https://github.com/krystal/apia-schema-parser
|
82
|
+
licenses: []
|
83
|
+
metadata: {}
|
84
|
+
post_install_message:
|
85
|
+
rdoc_options: []
|
86
|
+
require_paths:
|
87
|
+
- lib
|
88
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
89
|
+
requirements:
|
90
|
+
- - ">="
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
version: '0'
|
93
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - ">="
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: '0'
|
98
|
+
requirements: []
|
99
|
+
rubygems_version: 3.1.6
|
100
|
+
signing_key:
|
101
|
+
specification_version: 4
|
102
|
+
summary: This gem provides tools for reading Apia schema definitions.
|
103
|
+
test_files: []
|