rack-raml 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/rack/raml/app.rb +3 -19
- data/lib/rack/raml/response.rb +13 -3
- data/lib/rack/raml/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1fff3b00ea86d88d16a190d879bffcfb882a220f
|
4
|
+
data.tar.gz: 55a41dc11be39d23f8bcf8074ec0ddb62aef1228
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2c32b7aa786c23b9e95d9896cae90690bfe6cd05cdfd17f3b039ae8334db9b8e8440b5a90d72e90fc778e189aaff39a6c430ca82b1fa60cea0be388a9af9995f
|
7
|
+
data.tar.gz: 09053d45c33b7d4406fb116e2f60171fe81bbb75cc99b9a8cf72bca33c464d074631b248fbbe20a00ba868bc73e3530a4e27ba56ba28fb83b1313d1cb29d488a
|
data/lib/rack/raml/app.rb
CHANGED
@@ -6,12 +6,9 @@ module Rack
|
|
6
6
|
class App
|
7
7
|
attr_reader :raml_file
|
8
8
|
|
9
|
-
def initialize(raml_file)
|
9
|
+
def initialize(raml_file, responder: Rack::Raml::Response)
|
10
10
|
@raml_file = raml_file
|
11
|
-
|
12
|
-
|
13
|
-
def raml
|
14
|
-
@raml ||= ::Raml.parse_file(raml_file)
|
11
|
+
@responder = responder
|
15
12
|
end
|
16
13
|
|
17
14
|
def call(env)
|
@@ -22,23 +19,10 @@ module Rack
|
|
22
19
|
response_for(request).to_rack
|
23
20
|
end
|
24
21
|
|
25
|
-
def resources
|
26
|
-
@resources ||= flatten_resources(raml)
|
27
|
-
end
|
28
|
-
|
29
22
|
private
|
30
23
|
|
31
24
|
def response_for(request)
|
32
|
-
|
33
|
-
end
|
34
|
-
|
35
|
-
def flatten_resources(node)
|
36
|
-
return [] unless node.respond_to?(:children)
|
37
|
-
|
38
|
-
node.children.inject([]) do |acc, child|
|
39
|
-
acc << child if child.kind_of?(::Raml::Resource)
|
40
|
-
acc + flatten_resources(child)
|
41
|
-
end
|
25
|
+
@responder.new(raml_file, request)
|
42
26
|
end
|
43
27
|
end
|
44
28
|
end
|
data/lib/rack/raml/response.rb
CHANGED
@@ -1,12 +1,13 @@
|
|
1
|
+
require 'json'
|
1
2
|
require 'uri_template'
|
2
3
|
|
3
4
|
module Rack
|
4
5
|
module Raml
|
5
6
|
class Response
|
6
|
-
attr_reader :
|
7
|
+
attr_reader :raml, :request
|
7
8
|
|
8
|
-
def initialize(
|
9
|
-
@
|
9
|
+
def initialize(raml_file, request)
|
10
|
+
@raml = ::Raml.parse_file(raml_file)
|
10
11
|
@request = request
|
11
12
|
end
|
12
13
|
|
@@ -58,6 +59,15 @@ module Rack
|
|
58
59
|
}.to_json
|
59
60
|
end
|
60
61
|
|
62
|
+
def resources(node = raml)
|
63
|
+
return [] unless node.respond_to?(:children)
|
64
|
+
|
65
|
+
node.children.inject([]) do |acc, child|
|
66
|
+
acc << child if child.kind_of?(::Raml::Resource)
|
67
|
+
acc + resources(child)
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
61
71
|
def response
|
62
72
|
@response ||= (
|
63
73
|
possible_responses &&
|
data/lib/rack/raml/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rack-raml
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ray Zane
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-11-
|
11
|
+
date: 2016-11-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rack
|