raml_parser 0.2 → 0.2.1
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/lib/raml_parser.rb +0 -2
- data/lib/raml_parser/model.rb +2 -4
- data/lib/raml_parser/version.rb +1 -1
- data/spec/examples/raml/methods.raml +1 -1
- data/spec/examples/raml/traits.raml +0 -2
- data/spec/lib/raml_parser_spec.rb +3 -11
- metadata +2 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ff9e7a1f4e30b306aef82ac79df6419da2965b39
|
4
|
+
data.tar.gz: fbb5b40f82f8da01c76006b19eda007632caee27
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 41753e3578d079704dd08fa98049ffe5a78aef722e159f89006c262f2a757e6637f56568ac78dd87585e4ed21236c48c8adfd8f8dfffb64b696da7700af3f74d
|
7
|
+
data.tar.gz: 785ad520d0b6f48509e693fad7a60ee5241f01cf9524104de759bdc2107daba4b30b4753545081cb2ab3ddc1fdd948df09b0ce0a6f42ba1b4267c796f26a30e6
|
data/lib/raml_parser.rb
CHANGED
@@ -82,7 +82,6 @@ module RamlParser
|
|
82
82
|
def self.parse_method(node, root, resource, as_trait)
|
83
83
|
node = node.or_default({})
|
84
84
|
method = Model::Method.new(node.key.upcase)
|
85
|
-
method.display_name = node.hash('displayName').value
|
86
85
|
method.description = node.hash('description').value
|
87
86
|
method.query_parameters = node.hash('queryParameters').hash_map { |n| parse_named_parameter(n) }
|
88
87
|
method.bodies = node.hash('body').hash_map { |n| parse_body(n, root) }
|
@@ -93,7 +92,6 @@ module RamlParser
|
|
93
92
|
|
94
93
|
unless as_trait
|
95
94
|
method = mixin_traits(node, root, method, resource)
|
96
|
-
method.display_name = method.method + ' ' + resource.relative_uri unless method.display_name
|
97
95
|
end
|
98
96
|
|
99
97
|
method
|
data/lib/raml_parser/model.rb
CHANGED
@@ -52,11 +52,10 @@ module RamlParser
|
|
52
52
|
end
|
53
53
|
|
54
54
|
class Method
|
55
|
-
attr_accessor :method, :
|
55
|
+
attr_accessor :method, :description, :query_parameters, :responses, :bodies, :headers, :is, :secured_by
|
56
56
|
|
57
|
-
def initialize(method,
|
57
|
+
def initialize(method, description = nil, query_parameters = {}, responses = {}, bodies = {}, headers = {}, is = {}, secured_by = [])
|
58
58
|
@method = method
|
59
|
-
@display_name = display_name
|
60
59
|
@description = description
|
61
60
|
@query_parameters = query_parameters
|
62
61
|
@responses = responses
|
@@ -69,7 +68,6 @@ module RamlParser
|
|
69
68
|
def self.merge(a, b)
|
70
69
|
method = Method.new(b.method)
|
71
70
|
|
72
|
-
method.display_name = if b.display_name then b.display_name else a.display_name end
|
73
71
|
method.description = if b.description then b.description else a.description end
|
74
72
|
method.query_parameters = a.query_parameters.merge(b.query_parameters)
|
75
73
|
method.responses = a.responses.merge(b.responses)
|
data/lib/raml_parser/version.rb
CHANGED
@@ -4,7 +4,6 @@ title: Example API
|
|
4
4
|
baseUri: http://localhost:3000
|
5
5
|
traits:
|
6
6
|
- searchable:
|
7
|
-
displayName: Foo
|
8
7
|
description: This is searchable
|
9
8
|
queryParameters:
|
10
9
|
q:
|
@@ -19,7 +18,6 @@ traits:
|
|
19
18
|
/b:
|
20
19
|
get:
|
21
20
|
is: [ searchable, sortable ]
|
22
|
-
displayName: /a/b
|
23
21
|
description: This is resource /a/b
|
24
22
|
queryParameters:
|
25
23
|
sort:
|
@@ -48,9 +48,7 @@ RSpec.describe RamlParser::Parser do
|
|
48
48
|
it 'parses methods' do
|
49
49
|
raml = RamlParser::Parser.parse_file('spec/examples/raml/methods.raml')
|
50
50
|
expect(raml.resources[0].methods['get'].method).to eq 'GET'
|
51
|
-
expect(raml.resources[0].methods['get'].display_name).to eq 'GET /a'
|
52
51
|
expect(raml.resources[1].methods['get'].method).to eq 'GET'
|
53
|
-
expect(raml.resources[1].methods['get'].display_name).to eq 'This is /a/b'
|
54
52
|
end
|
55
53
|
|
56
54
|
it 'parses responses' do
|
@@ -144,10 +142,8 @@ RSpec.describe RamlParser::Parser do
|
|
144
142
|
it 'mixes in traits' do
|
145
143
|
raml = RamlParser::Parser.parse_file('spec/examples/raml/traits.raml')
|
146
144
|
expect(raml.resources[0].methods['get'].query_parameters.map { |name,_| name }).to eq ['q', 'key', 'order']
|
147
|
-
expect(raml.resources[0].methods['get'].display_name).to eq 'Foo'
|
148
145
|
expect(raml.resources[0].methods['get'].description).to eq 'This is sortable'
|
149
146
|
expect(raml.resources[1].methods['get'].query_parameters.map { |name,_| name }).to eq ['q', 'key', 'order', 'sort']
|
150
|
-
expect(raml.resources[1].methods['get'].display_name).to eq '/a/b'
|
151
147
|
expect(raml.resources[1].methods['get'].description).to eq 'This is resource /a/b'
|
152
148
|
expect(raml.resources[2].methods['get'].query_parameters.map { |name,_| name }).to eq ['key', 'order']
|
153
149
|
expect(raml.resources[3].methods['get'].query_parameters.map { |name,_| name }).to eq ['key', 'order', 'q']
|
@@ -174,13 +170,9 @@ RSpec.describe RamlParser::Parser do
|
|
174
170
|
expect(raml3.resources[0].methods['get'].query_parameters['q1'].display_name).to eq 'q1'
|
175
171
|
expect(raml3.resources[1].methods['get'].query_parameters['q2'].display_name).to eq 'This is the second query parameter'
|
176
172
|
|
177
|
-
raml4 = RamlParser::Parser.parse_file('spec/examples/raml/
|
178
|
-
expect(raml4.resources[0].methods['get'].display_name).to eq '
|
179
|
-
expect(raml4.resources[
|
180
|
-
|
181
|
-
raml5 = RamlParser::Parser.parse_file('spec/examples/raml/headers.raml')
|
182
|
-
expect(raml5.resources[0].methods['get'].headers['X-Foobar-Ping'].display_name).to eq 'X-Foobar-Ping'
|
183
|
-
expect(raml5.resources[0].methods['get'].responses[200].headers['X-Foobar-Pong'].display_name).to eq 'PingPong'
|
173
|
+
raml4 = RamlParser::Parser.parse_file('spec/examples/raml/headers.raml')
|
174
|
+
expect(raml4.resources[0].methods['get'].headers['X-Foobar-Ping'].display_name).to eq 'X-Foobar-Ping'
|
175
|
+
expect(raml4.resources[0].methods['get'].responses[200].headers['X-Foobar-Pong'].display_name).to eq 'PingPong'
|
184
176
|
end
|
185
177
|
|
186
178
|
it 'fixed issue #2' do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: raml_parser
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Christian Hoffmeister
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-02-
|
11
|
+
date: 2015-02-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -77,7 +77,6 @@ files:
|
|
77
77
|
- .rspec
|
78
78
|
- .travis.yml
|
79
79
|
- Gemfile
|
80
|
-
- Gemfile.lock
|
81
80
|
- LICENSE.txt
|
82
81
|
- README.md
|
83
82
|
- Rakefile
|