prmd 0.7.4 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|