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 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