prmd 0.7.4 → 0.8.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 +4 -4
- data/CONTRIBUTORS.md +11 -0
- data/bin/prmd +2 -2
- data/lib/prmd.rb +8 -7
- data/lib/prmd/cli.rb +6 -6
- data/lib/prmd/cli/base.rb +2 -2
- data/lib/prmd/cli/combine.rb +2 -2
- data/lib/prmd/cli/doc.rb +3 -3
- data/lib/prmd/cli/generate.rb +2 -2
- data/lib/prmd/cli/render.rb +2 -2
- data/lib/prmd/cli/verify.rb +2 -2
- data/lib/prmd/commands.rb +4 -4
- data/lib/prmd/commands/combine.rb +3 -3
- data/lib/prmd/commands/init.rb +2 -2
- data/lib/prmd/commands/render.rb +1 -1
- data/lib/prmd/core/combiner.rb +3 -3
- data/lib/prmd/core/generator.rb +1 -1
- data/lib/prmd/core/renderer.rb +1 -1
- data/lib/prmd/link.rb +56 -0
- data/lib/prmd/load_schema_file.rb +1 -1
- data/lib/prmd/multi_loader.rb +2 -2
- data/lib/prmd/multi_loader/json.rb +1 -1
- data/lib/prmd/multi_loader/toml.rb +1 -1
- data/lib/prmd/multi_loader/yajl.rb +1 -1
- data/lib/prmd/multi_loader/yaml.rb +1 -1
- data/lib/prmd/multi_loader/yml.rb +1 -1
- data/lib/prmd/rake_tasks/doc.rb +1 -0
- data/lib/prmd/templates/schemata/helper.erb +20 -5
- data/lib/prmd/templates/schemata/link.md.erb +1 -3
- data/lib/prmd/url_generator.rb +2 -2
- data/lib/prmd/version.rb +1 -1
- data/schemas/interagent-hyper-schema.json +1 -1
- data/test/commands/render_test.rb +50 -1
- data/test/commands/verify_test.rb +2 -2
- data/test/helpers.rb +92 -0
- data/test/link_test.rb +41 -0
- data/test/schemata/input/user.json +10 -1
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b88e4f305b59c16a0117cfb8a91f5fa890ed4431
|
4
|
+
data.tar.gz: a13809a6a6d33936359c7ab04248dd6d43a4b798
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 705022feeb033937ef9c2c08257f9cd4daefd7ea369fe05dce114ced1af67305fcf2060c559ca60519e2d64ef0f0b1b5652e957c94c3e711f2cad773c3beec47
|
7
|
+
data.tar.gz: 2277f2883652417e4dbe0fd0064dea23997def5044622c641a1684ee537795c81f3c0ab54d6f79675006bf796f9e924d7ceec71e63150b59763c2e0c71599323
|
data/CONTRIBUTORS.md
CHANGED
@@ -1,14 +1,20 @@
|
|
1
1
|
* Adel Qalieh <aqalieh95@gmail.com>
|
2
|
+
* Alex Fedorov <alexey.fedorov@wimdu.com>
|
2
3
|
* Alex Sergeyev <alex.sergeyev@gmail.com>
|
4
|
+
* Alexey Fedorov <waterlink000@gmail.com>
|
3
5
|
* Arnold <arnoldcano@yahoo.com>
|
4
6
|
* Brandur <brandur@heroku.com>
|
5
7
|
* Brandur <brandur@mutelight.org>
|
8
|
+
* Camilo Aguilar <camilo.aguilar@gmail.com>
|
9
|
+
* Cesar Andreu <cesarandreu@gmail.com>
|
6
10
|
* Chris Continanza <christopher.continanza@gmail.com>
|
7
11
|
* Corey Powell <mistdragon100@gmail.com>
|
8
12
|
* Dan Peterson <dpiddy@gmail.com>
|
9
13
|
* Dane Harrigan <dane.harrigan@gmail.com>
|
14
|
+
* Dominik Honnef <dominik@honnef.co>
|
10
15
|
* Eric J. Holmes <eric@ejholmes.net>
|
11
16
|
* Ernesto Jiménez <me@ernesto-jimenez.com>
|
17
|
+
* Guillaume Coderre <guillaume.coderre@bookwitty.com>
|
12
18
|
* Jason Rudolph <github@jasonrudolph.com>
|
13
19
|
* Juan Pablo Buritica <juanpablo@buritica.org>
|
14
20
|
* Justin Halsall <justin@juice10.com>
|
@@ -17,11 +23,16 @@
|
|
17
23
|
* Lucas Carvalho <lucas.carvalho@corp.globo.com>
|
18
24
|
* Mark McGranaghan <mmcgrana@gmail.com>
|
19
25
|
* Martin Seeler <developer@chasmo.de>
|
26
|
+
* Matt Gauger <matt.gauger@gmail.com>
|
20
27
|
* Matthew Conway <himself@mattonrails.com>
|
28
|
+
* Matthew Tylee Atkinson <matatk@gmail.com>
|
29
|
+
* Nikolay Markov <mainameiz@gmail.com>
|
21
30
|
* Olivier Lance <olance@users.noreply.github.com>
|
22
31
|
* Scott Clasen <scott@heroku.com>
|
32
|
+
* Takehiro Adachi <takehiro0740@gmail.com>
|
23
33
|
* Timothée Peignier <timothee.peignier@tryphon.org>
|
24
34
|
* Wesley Beary <geemus+github@gmail.com>
|
25
35
|
* Wesley Beary <geemus@gmail.com>
|
36
|
+
* Willem Dekker <wdekker@gmail.com>
|
26
37
|
* Zack Shapiro <zack.shapiro@kontagent.com>
|
27
38
|
* geemus <geemus@gmail.com>
|
data/bin/prmd
CHANGED
data/lib/prmd.rb
CHANGED
@@ -1,7 +1,8 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
1
|
+
require_relative 'prmd/version'
|
2
|
+
require_relative 'prmd/load_schema_file'
|
3
|
+
require_relative 'prmd/commands'
|
4
|
+
require_relative 'prmd/schema'
|
5
|
+
require_relative 'prmd/link'
|
6
|
+
require_relative 'prmd/template'
|
7
|
+
require_relative 'prmd/url_generator'
|
8
|
+
require_relative 'prmd/hash_helpers'
|
data/lib/prmd/cli.rb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
1
|
+
require_relative 'core_ext/optparse'
|
2
|
+
require_relative 'cli/combine'
|
3
|
+
require_relative 'cli/doc'
|
4
|
+
require_relative 'cli/generate'
|
5
|
+
require_relative 'cli/render'
|
6
|
+
require_relative 'cli/verify'
|
7
7
|
|
8
8
|
# :nodoc:
|
9
9
|
module Prmd
|
data/lib/prmd/cli/base.rb
CHANGED
data/lib/prmd/cli/combine.rb
CHANGED
data/lib/prmd/cli/doc.rb
CHANGED
data/lib/prmd/cli/generate.rb
CHANGED
data/lib/prmd/cli/render.rb
CHANGED
data/lib/prmd/cli/verify.rb
CHANGED
data/lib/prmd/commands.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
require_relative 'commands/combine'
|
2
|
+
require_relative 'commands/init'
|
3
|
+
require_relative 'commands/render'
|
4
|
+
require_relative 'commands/verify'
|
data/lib/prmd/commands/init.rb
CHANGED
data/lib/prmd/commands/render.rb
CHANGED
data/lib/prmd/core/combiner.rb
CHANGED
data/lib/prmd/core/generator.rb
CHANGED
data/lib/prmd/core/renderer.rb
CHANGED
data/lib/prmd/link.rb
ADDED
@@ -0,0 +1,56 @@
|
|
1
|
+
module Prmd
|
2
|
+
class Link
|
3
|
+
def initialize(link_schema)
|
4
|
+
@link_schema = link_schema
|
5
|
+
end
|
6
|
+
|
7
|
+
def required_and_optional_parameters
|
8
|
+
@params = {required: {}, optional: {} }
|
9
|
+
recurse_properties(Schema.new(@link_schema["schema"]), "")
|
10
|
+
[@params[:required], @params[:optional]]
|
11
|
+
end
|
12
|
+
|
13
|
+
private
|
14
|
+
|
15
|
+
def recurse_properties(schema, prefix ="", parent_required= false )
|
16
|
+
return unless schema.has_properties?
|
17
|
+
|
18
|
+
schema.properties.keys.each do |prop_name|
|
19
|
+
prop = schema.properties[prop_name]
|
20
|
+
pref = "#{prefix}#{prop_name}"
|
21
|
+
required = parent_required || schema.property_is_required?(prop_name)
|
22
|
+
|
23
|
+
handle_property(prop, pref, required)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def handle_property(property, prefix, required = false)
|
28
|
+
case
|
29
|
+
when property_is_object?(property["type"])
|
30
|
+
recurse_properties(Schema.new(property), "#{prefix}:", required)
|
31
|
+
else
|
32
|
+
categorize_parameter(prefix, property, required)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def property_is_object?(type)
|
37
|
+
return false unless type
|
38
|
+
type == "object" || type.include?("object")
|
39
|
+
end
|
40
|
+
|
41
|
+
def categorize_parameter(name, param, required=false)
|
42
|
+
@params[(required ? :required : :optional)][name] = param
|
43
|
+
end
|
44
|
+
|
45
|
+
class Schema < OpenStruct
|
46
|
+
def has_properties?
|
47
|
+
!self.properties.empty?
|
48
|
+
end
|
49
|
+
|
50
|
+
def property_is_required?(property_name)
|
51
|
+
return false unless required
|
52
|
+
return required.include?(property_name)
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
data/lib/prmd/multi_loader.rb
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
require_relative 'multi_loader/json'
|
2
|
+
require_relative 'multi_loader/yaml'
|
@@ -1,2 +1,2 @@
|
|
1
1
|
# alias for yaml
|
2
|
-
|
2
|
+
require_relative 'yaml'
|
data/lib/prmd/rake_tasks/doc.rb
CHANGED
@@ -44,13 +44,28 @@
|
|
44
44
|
attribute[0] = "#{key}:#{attribute[0]}"
|
45
45
|
end
|
46
46
|
attributes.concat(nested)
|
47
|
+
|
47
48
|
# found an array with nested objects
|
48
|
-
elsif value['items']
|
49
|
-
|
50
|
-
|
51
|
-
|
49
|
+
elsif value['items']
|
50
|
+
if value['items']['properties']
|
51
|
+
nested = extract_attributes(schema, value['items']['properties'])
|
52
|
+
nested.each do |attribute|
|
53
|
+
attribute[0] = "#{key}/#{attribute[0]}"
|
54
|
+
end
|
55
|
+
attributes.concat(nested)
|
52
56
|
end
|
53
|
-
|
57
|
+
if value['items']['oneOf']
|
58
|
+
value['items']['oneOf'].each_with_index do |oneof, index|
|
59
|
+
ref, oneof_definition = schema.dereference(oneof)
|
60
|
+
oneof_name = ref ? ref.split('/').last : index
|
61
|
+
nested = extract_attributes(schema, oneof_definition['properties'])
|
62
|
+
nested.each do |attribute|
|
63
|
+
attribute[0] = "#{key}/[#{oneof_name.upcase}].#{attribute[0]}"
|
64
|
+
end
|
65
|
+
attributes.concat(nested)
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
54
69
|
# just a regular attribute
|
55
70
|
else
|
56
71
|
attributes << build_attribute(schema, key, value)
|
@@ -13,9 +13,7 @@
|
|
13
13
|
|
14
14
|
<%- if link.has_key?('schema') && link['schema'].has_key?('properties') %>
|
15
15
|
<%-
|
16
|
-
required, optional = link
|
17
|
-
(link['schema']['required'] || []).include?(k)
|
18
|
-
end.map { |partition| Hash[partition] }
|
16
|
+
required, optional = Prmd::Link.new(link).required_and_optional_parameters
|
19
17
|
%>
|
20
18
|
<%- unless required.empty? %>
|
21
19
|
#### Required Parameters
|
data/lib/prmd/url_generator.rb
CHANGED
data/lib/prmd/version.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
module Prmd
|
3
3
|
# Well, duh, its a Version module, what did you expect?
|
4
4
|
module Version
|
5
|
-
MAJOR, MINOR, TEENY, PATCH = 0,
|
5
|
+
MAJOR, MINOR, TEENY, PATCH = 0, 8, 0, nil
|
6
6
|
# version string
|
7
7
|
# @return [String]
|
8
8
|
STRING = [MAJOR, MINOR, TEENY, PATCH].compact.join('.').freeze
|
@@ -20,11 +20,20 @@ class InteragentRenderTest < Minitest::Test
|
|
20
20
|
}
|
21
21
|
}
|
22
22
|
})
|
23
|
-
|
24
23
|
markdown = render
|
25
24
|
assert_match /version.*v10\.9\.rc1/, markdown
|
26
25
|
end
|
27
26
|
|
27
|
+
|
28
|
+
def test_render_for_schema_with_property_defined_with_oneOf
|
29
|
+
markdown = render
|
30
|
+
|
31
|
+
assert_match /\*\*options\/\[OPTION1\]\.type\*\*/, markdown
|
32
|
+
assert_match /\*\*options\/\[OPTION2\]\.type\*\*/, markdown
|
33
|
+
end
|
34
|
+
|
35
|
+
|
36
|
+
|
28
37
|
def test_render_for_example_as_an_array
|
29
38
|
# matches -d '[{...}]' taking into account line breaks and spacing
|
30
39
|
expression = /-d '\[[\s\n]+\{[\n\s]+\"name\": \"EXAMPLE\",[\n\s]+\"value\": \"example\"[\s\n]+\}[\n\s]+\]/
|
@@ -85,6 +94,43 @@ class InteragentRenderTest < Minitest::Test
|
|
85
94
|
'type' => 'string',
|
86
95
|
'example' => 'example'
|
87
96
|
},
|
97
|
+
'option-type1' => {
|
98
|
+
'type' => 'string',
|
99
|
+
'example' => 'OPTION1',
|
100
|
+
'enum' => 'OPTION1'
|
101
|
+
},
|
102
|
+
'option-type2' => {
|
103
|
+
'type' => 'string',
|
104
|
+
'example' => 'OPTION2',
|
105
|
+
'enum' => 'OPTION2'
|
106
|
+
},
|
107
|
+
'option1' => {
|
108
|
+
'properties' => {
|
109
|
+
'type' => {
|
110
|
+
'$ref' => '#/definitions/config-var/definitions/option-type1'
|
111
|
+
}
|
112
|
+
}
|
113
|
+
},
|
114
|
+
'option2' => {
|
115
|
+
'properties' => {
|
116
|
+
'type' => {
|
117
|
+
'$ref' => '#/definitions/config-var/definitions/option-type2'
|
118
|
+
}
|
119
|
+
}
|
120
|
+
},
|
121
|
+
'options' => {
|
122
|
+
'items' => {
|
123
|
+
'example'=> 'CHOICE1',
|
124
|
+
'oneOf' => [
|
125
|
+
{
|
126
|
+
'$ref' => '#/definitions/config-var/definitions/option1'
|
127
|
+
},
|
128
|
+
{
|
129
|
+
'$ref' => '#/definitions/config-var/definitions/option2'
|
130
|
+
}
|
131
|
+
]
|
132
|
+
}
|
133
|
+
}
|
88
134
|
},
|
89
135
|
'links' => [
|
90
136
|
{
|
@@ -117,6 +163,9 @@ class InteragentRenderTest < Minitest::Test
|
|
117
163
|
},
|
118
164
|
'value' => {
|
119
165
|
'$ref' => '#/definitions/config-var/definitions/value'
|
166
|
+
},
|
167
|
+
'options' => {
|
168
|
+
'$ref' => '#/definitions/config-var/definitions/options'
|
120
169
|
}
|
121
170
|
}
|
122
171
|
}
|
@@ -107,12 +107,12 @@ class InteragentHyperSchemaVerifyTest < Minitest::Test
|
|
107
107
|
|
108
108
|
def test_resource_link_href_format
|
109
109
|
pointer('#/definitions/app/links/0').merge!({
|
110
|
-
'href' => '/
|
110
|
+
'href' => '/my~apps'
|
111
111
|
})
|
112
112
|
errors = verify
|
113
113
|
assert_equal 1, errors.count
|
114
114
|
assert_match %r{^#/definitions/app/links/0/href: }, errors[0]
|
115
|
-
assert_match /\/
|
115
|
+
assert_match /\/my~apps does not match /, errors[0]
|
116
116
|
end
|
117
117
|
|
118
118
|
def test_resource_link_required
|
data/test/helpers.rb
CHANGED
@@ -86,3 +86,95 @@ end
|
|
86
86
|
def user_input_schema
|
87
87
|
@user_input_schema ||= Prmd.combine(input_schemas_path('user.json'))
|
88
88
|
end
|
89
|
+
|
90
|
+
module PrmdLinkTestHelpers
|
91
|
+
def link_parent_required
|
92
|
+
{
|
93
|
+
"description"=>"Create User",
|
94
|
+
"href"=>"/users",
|
95
|
+
"method"=>"POST",
|
96
|
+
"rel"=>"create",
|
97
|
+
"schema"=> {
|
98
|
+
"properties"=>{
|
99
|
+
"user"=>{
|
100
|
+
"type"=>["object"], "properties"=>{"email"=>"string", "name"=>"string"}}
|
101
|
+
},
|
102
|
+
"type"=>["object"],
|
103
|
+
"required"=>["user"]
|
104
|
+
},
|
105
|
+
"title"=>"Create"
|
106
|
+
}
|
107
|
+
end
|
108
|
+
|
109
|
+
def link_no_required
|
110
|
+
{
|
111
|
+
"description"=>"Create User",
|
112
|
+
"href"=>"/users",
|
113
|
+
"method"=>"POST",
|
114
|
+
"rel"=>"create",
|
115
|
+
"schema"=> {
|
116
|
+
"properties"=>{
|
117
|
+
"user"=>{
|
118
|
+
"type"=>["object"], "properties"=>{"email"=>"string", "name"=>"string"}}
|
119
|
+
},
|
120
|
+
"type"=>["object"]
|
121
|
+
},
|
122
|
+
"title"=>"Create"
|
123
|
+
}
|
124
|
+
end
|
125
|
+
|
126
|
+
def link_child_required
|
127
|
+
{
|
128
|
+
"description"=>"Create user",
|
129
|
+
"href"=>"/users",
|
130
|
+
"method"=>"POST",
|
131
|
+
"rel"=>"create",
|
132
|
+
"schema"=> {
|
133
|
+
"properties"=>{
|
134
|
+
"user"=>{
|
135
|
+
"type"=>["object"],
|
136
|
+
"properties"=>{
|
137
|
+
"email"=>"string",
|
138
|
+
"name"=>"string"
|
139
|
+
},
|
140
|
+
"required" => ["email"]
|
141
|
+
}
|
142
|
+
},
|
143
|
+
"type"=>["object"]
|
144
|
+
},
|
145
|
+
"title"=>"Create"
|
146
|
+
}
|
147
|
+
end
|
148
|
+
|
149
|
+
def link_multiple_nested_required
|
150
|
+
{
|
151
|
+
"description"=>"Create user",
|
152
|
+
"href"=>"/users",
|
153
|
+
"method"=>"POST",
|
154
|
+
"rel"=>"create",
|
155
|
+
"schema"=> {
|
156
|
+
"properties"=>{
|
157
|
+
"user"=>{
|
158
|
+
"type"=>["object"],
|
159
|
+
"properties"=>{
|
160
|
+
"email"=>"string",
|
161
|
+
"name"=>"string"
|
162
|
+
},
|
163
|
+
"required" => ["email"]
|
164
|
+
},
|
165
|
+
"address" => {
|
166
|
+
"type"=>["object"],
|
167
|
+
"properties"=>{
|
168
|
+
"street"=>"string",
|
169
|
+
"zip"=>"string"
|
170
|
+
}
|
171
|
+
}
|
172
|
+
},
|
173
|
+
"type"=>["object"],
|
174
|
+
"required" => ["address"]
|
175
|
+
},
|
176
|
+
"title"=>"Create"
|
177
|
+
}
|
178
|
+
|
179
|
+
end
|
180
|
+
end
|
data/test/link_test.rb
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
require File.expand_path(File.join(File.dirname(__FILE__), '.', 'helpers'))
|
2
|
+
module Prmd
|
3
|
+
class LinkTest < MiniTest::Test
|
4
|
+
include PrmdLinkTestHelpers
|
5
|
+
|
6
|
+
[
|
7
|
+
{
|
8
|
+
title: "no_required",
|
9
|
+
required: {},
|
10
|
+
optional: {"user:email" => "string", "user:name" => "string"}
|
11
|
+
},
|
12
|
+
{
|
13
|
+
title: "parent_required",
|
14
|
+
optional: {},
|
15
|
+
required: {"user:email" => "string", "user:name" => "string"}
|
16
|
+
},
|
17
|
+
{
|
18
|
+
title: "child_required",
|
19
|
+
optional: {"user:name" => "string"},
|
20
|
+
required: {"user:email" => "string"}
|
21
|
+
},
|
22
|
+
{
|
23
|
+
title: "multiple_nested_required" ,
|
24
|
+
optional: {"user:name" => "string"},
|
25
|
+
required: {"user:email" => "string",
|
26
|
+
"address:street" => "string",
|
27
|
+
"address:zip" => "string"}
|
28
|
+
}
|
29
|
+
].each do |test_hash|
|
30
|
+
|
31
|
+
define_method "test_#{test_hash[:title]}" do
|
32
|
+
subject = Prmd::Link.new( send("link_#{test_hash[:title]}"))
|
33
|
+
required, optional = subject.required_and_optional_parameters
|
34
|
+
|
35
|
+
assert_equal required, test_hash[:required]
|
36
|
+
assert_equal optional, test_hash[:optional]
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
41
|
+
end
|
@@ -42,10 +42,19 @@
|
|
42
42
|
"rel": "create",
|
43
43
|
"schema": {
|
44
44
|
"properties": {
|
45
|
+
"user": {
|
46
|
+
"type": "object",
|
47
|
+
"properties" : {
|
48
|
+
"email": "string",
|
49
|
+
"name": "string"
|
50
|
+
},
|
51
|
+
"required": ["email"]
|
52
|
+
}
|
45
53
|
},
|
46
54
|
"type": [
|
47
55
|
"object"
|
48
|
-
]
|
56
|
+
],
|
57
|
+
"required": ["user"]
|
49
58
|
},
|
50
59
|
"title": "Create"
|
51
60
|
},
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: prmd
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- geemus
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-08-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: erubis
|
@@ -124,6 +124,7 @@ files:
|
|
124
124
|
- lib/prmd/core/schema_hash.rb
|
125
125
|
- lib/prmd/core_ext/optparse.rb
|
126
126
|
- lib/prmd/hash_helpers.rb
|
127
|
+
- lib/prmd/link.rb
|
127
128
|
- lib/prmd/load_schema_file.rb
|
128
129
|
- lib/prmd/multi_loader.rb
|
129
130
|
- lib/prmd/multi_loader/json.rb
|
@@ -165,6 +166,7 @@ files:
|
|
165
166
|
- test/commands/verify_test.rb
|
166
167
|
- test/core/reference_localizer_test.rb
|
167
168
|
- test/helpers.rb
|
169
|
+
- test/link_test.rb
|
168
170
|
- test/multi_loader/common.rb
|
169
171
|
- test/multi_loader/json_test.rb
|
170
172
|
- test/multi_loader/toml_test.rb
|
@@ -220,6 +222,7 @@ test_files:
|
|
220
222
|
- test/commands/verify_test.rb
|
221
223
|
- test/core/reference_localizer_test.rb
|
222
224
|
- test/helpers.rb
|
225
|
+
- test/link_test.rb
|
223
226
|
- test/multi_loader/common.rb
|
224
227
|
- test/multi_loader/json_test.rb
|
225
228
|
- test/multi_loader/toml_test.rb
|