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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 74cb8c4e07101320893a1a99c2cbbdb9d1db05e9
4
- data.tar.gz: 54623e6a8c00abdc86f1800d327df8fe091f8b5f
3
+ metadata.gz: b88e4f305b59c16a0117cfb8a91f5fa890ed4431
4
+ data.tar.gz: a13809a6a6d33936359c7ab04248dd6d43a4b798
5
5
  SHA512:
6
- metadata.gz: cf7f7a284348b34634f2ee4ce6c6135fecd460b1d1be153477fd9a8d1a29e5537cbe9d5150bdacfec2c38844b0b0eb71c8f5c4488d20be204026a97e757867e3
7
- data.tar.gz: 6075c2f9d282c53f7317ae6c41ba0411f9793e0a4ce755edc14567a5fecc2ca404462f78aa574011b9206e407dba74f24d309a2070df839b73fe9bc0f82fecf8
6
+ metadata.gz: 705022feeb033937ef9c2c08257f9cd4daefd7ea369fe05dce114ced1af67305fcf2060c559ca60519e2d64ef0f0b1b5652e957c94c3e711f2cad773c3beec47
7
+ data.tar.gz: 2277f2883652417e4dbe0fd0064dea23997def5044622c641a1684ee537795c81f3c0ab54d6f79675006bf796f9e924d7ceec71e63150b59763c2e0c71599323
@@ -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
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
  require 'optparse'
3
- require 'prmd'
4
- require 'prmd/cli'
3
+ require_relative '../lib/prmd'
4
+ require_relative '../lib/prmd/cli'
5
5
 
6
6
  Prmd::CLI.run(ARGV.dup, bin: File.basename(__FILE__))
@@ -1,7 +1,8 @@
1
- require 'prmd/version'
2
- require 'prmd/load_schema_file'
3
- require 'prmd/commands'
4
- require 'prmd/schema'
5
- require 'prmd/template'
6
- require 'prmd/url_generator'
7
- require 'prmd/hash_helpers'
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'
@@ -1,9 +1,9 @@
1
- require 'prmd/core_ext/optparse'
2
- require 'prmd/cli/combine'
3
- require 'prmd/cli/doc'
4
- require 'prmd/cli/generate'
5
- require 'prmd/cli/render'
6
- require 'prmd/cli/verify'
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
@@ -1,6 +1,6 @@
1
1
  require 'json'
2
- require 'prmd/core_ext/optparse'
3
- require 'prmd/load_schema_file'
2
+ require_relative '../core_ext/optparse'
3
+ require_relative '../load_schema_file'
4
4
 
5
5
  module Prmd
6
6
  module CLI
@@ -1,5 +1,5 @@
1
- require 'prmd/cli/base'
2
- require 'prmd/commands/combine'
1
+ require_relative 'base'
2
+ require_relative '../commands/combine'
3
3
 
4
4
  module Prmd
5
5
  module CLI
@@ -1,6 +1,6 @@
1
- require 'prmd/cli/base'
2
- require 'prmd/commands/render'
3
- require 'prmd/hash_helpers'
1
+ require_relative 'base'
2
+ require_relative '../commands/render'
3
+ require_relative '../hash_helpers'
4
4
 
5
5
  module Prmd
6
6
  module CLI
@@ -1,5 +1,5 @@
1
- require 'prmd/cli/base'
2
- require 'prmd/commands/init'
1
+ require_relative 'base'
2
+ require_relative '../commands/init'
3
3
 
4
4
  module Prmd
5
5
  module CLI
@@ -1,5 +1,5 @@
1
- require 'prmd/cli/base'
2
- require 'prmd/commands/render'
1
+ require_relative 'base'
2
+ require_relative '../commands/render'
3
3
 
4
4
  module Prmd
5
5
  module CLI
@@ -1,5 +1,5 @@
1
- require 'prmd/cli/base'
2
- require 'prmd/commands/verify'
1
+ require_relative 'base'
2
+ require_relative '../commands/verify'
3
3
 
4
4
  module Prmd
5
5
  module CLI
@@ -1,4 +1,4 @@
1
- require 'prmd/commands/combine'
2
- require 'prmd/commands/init'
3
- require 'prmd/commands/render'
4
- require 'prmd/commands/verify'
1
+ require_relative 'commands/combine'
2
+ require_relative 'commands/init'
3
+ require_relative 'commands/render'
4
+ require_relative 'commands/verify'
@@ -1,6 +1,6 @@
1
- require 'prmd/load_schema_file'
2
- require 'prmd/core/schema_hash'
3
- require 'prmd/core/combiner'
1
+ require_relative '../load_schema_file'
2
+ require_relative '../core/schema_hash'
3
+ require_relative '../core/combiner'
4
4
 
5
5
  # :nodoc:
6
6
  module Prmd
@@ -1,6 +1,6 @@
1
1
  require 'json'
2
- require 'prmd/template'
3
- require 'prmd/core/generator'
2
+ require_relative '../template'
3
+ require_relative '../core/generator'
4
4
 
5
5
  # :nodoc:
6
6
  module Prmd
@@ -1,4 +1,4 @@
1
- require 'prmd/core/renderer'
1
+ require_relative '../core/renderer'
2
2
 
3
3
  # :nodoc:
4
4
  module Prmd
@@ -1,6 +1,6 @@
1
- require 'prmd/schema'
2
- require 'prmd/core/schema_hash'
3
- require 'prmd/core/reference_localizer'
1
+ require_relative '../schema'
2
+ require_relative 'schema_hash'
3
+ require_relative 'reference_localizer'
4
4
 
5
5
  # :nodoc:
6
6
  module Prmd
@@ -1,5 +1,5 @@
1
1
  require 'json'
2
- require 'prmd/schema'
2
+ require_relative '../schema'
3
3
 
4
4
  # :nodoc:
5
5
  module Prmd
@@ -1,4 +1,4 @@
1
- require 'prmd/template'
1
+ require_relative '../template'
2
2
 
3
3
  # :nodoc:
4
4
  module Prmd
@@ -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
@@ -1,6 +1,6 @@
1
1
  require 'yaml'
2
2
  require 'json'
3
- require 'prmd/multi_loader'
3
+ require_relative 'multi_loader'
4
4
 
5
5
  module Prmd #:nodoc:
6
6
  # Attempts to load either a json or yaml file, the type is determined by
@@ -1,2 +1,2 @@
1
- require 'prmd/multi_loader/json'
2
- require 'prmd/multi_loader/yaml'
1
+ require_relative 'multi_loader/json'
2
+ require_relative 'multi_loader/yaml'
@@ -1,4 +1,4 @@
1
- require 'prmd/multi_loader/loader'
1
+ require_relative 'loader'
2
2
  require 'json'
3
3
 
4
4
  module Prmd #:nodoc:
@@ -1,4 +1,4 @@
1
- require 'prmd/multi_loader/loader'
1
+ require_relative 'loader'
2
2
  require 'toml'
3
3
 
4
4
  module Prmd #:nodoc:
@@ -1,4 +1,4 @@
1
- require 'prmd/multi_loader/loader'
1
+ require_relative 'loader'
2
2
  require 'yajl'
3
3
 
4
4
  module Prmd #:nodoc:
@@ -1,4 +1,4 @@
1
- require 'prmd/multi_loader/loader'
1
+ require_relative 'loader'
2
2
  require 'yaml'
3
3
 
4
4
  module Prmd #:nodoc:
@@ -1,2 +1,2 @@
1
1
  # alias for yaml
2
- require 'prmd/multi_loader/yaml'
2
+ require_relative 'yaml'
@@ -1,6 +1,7 @@
1
1
  require 'prmd/commands/render'
2
2
  require 'prmd/rake_tasks/base'
3
3
  require 'prmd/load_schema_file'
4
+ require 'prmd/url_generator'
4
5
  require 'prmd/template'
5
6
  require 'prmd/schema'
6
7
 
@@ -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'] && value['items']['properties']
49
- nested = extract_attributes(schema, value['items']['properties'])
50
- nested.each do |attribute|
51
- attribute[0] = "#{key}/#{attribute[0]}"
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
- attributes.concat(nested)
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['schema']['properties'].partition do |k, v|
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
@@ -1,5 +1,5 @@
1
- require 'prmd/url_generators/generators/default'
2
- require 'prmd/url_generators/generators/json'
1
+ require_relative 'url_generators/generators/default'
2
+ require_relative 'url_generators/generators/json'
3
3
 
4
4
  # :nodoc:
5
5
  module Prmd
@@ -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, 7, 4, nil
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
@@ -107,7 +107,7 @@
107
107
  "resourceLink": {
108
108
  "properties": {
109
109
  "href": {
110
- "pattern": "^(/([a-z][a-z\\-]*[a-z]|\\{\\(.*\\)\\}))+$"
110
+ "pattern": "^(/([a-z0-9][a-z0-9_\\-]*[a-z0-9]|\\{\\(.*\\)\\}))+$"
111
111
  },
112
112
  "schema": {
113
113
  "anyOf": [
@@ -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' => '/my_apps'
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 /\/my_apps does not match /, errors[0]
115
+ assert_match /\/my~apps does not match /, errors[0]
116
116
  end
117
117
 
118
118
  def test_resource_link_required
@@ -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
@@ -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.7.4
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-06-03 00:00:00.000000000 Z
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