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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 52471fa21e257a22339d7b59058e817e096c8cc7
4
- data.tar.gz: f7288ba66b060bfe90ed90ef8b60f91c2d24a7bd
3
+ metadata.gz: 1fff3b00ea86d88d16a190d879bffcfb882a220f
4
+ data.tar.gz: 55a41dc11be39d23f8bcf8074ec0ddb62aef1228
5
5
  SHA512:
6
- metadata.gz: 485971a1b4c9e787326a1891737b8bbe078b583be680670506f49d644f2714f4fa3619c7a6997bd4a72c3a619c8f2c6eca6f8d1b46b25016f019edc9b701c22c
7
- data.tar.gz: dfc05027e205f8701db3a1fca2ab6181501d8b879e8be3c7bca66f02ca88984f5231ea9321aa3dc57ff19ab739421fbf1458e8acc9b683c5290dfeed66ccb0f7
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
- end
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
- Rack::Raml::Response.new(resources, request)
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
@@ -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 :resources, :request
7
+ attr_reader :raml, :request
7
8
 
8
- def initialize(resources, request)
9
- @resources = resources
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 &&
@@ -1,5 +1,5 @@
1
1
  module Rack
2
2
  module Raml
3
- VERSION = "0.1.1"
3
+ VERSION = '0.1.2'
4
4
  end
5
5
  end
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.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-07 00:00:00.000000000 Z
11
+ date: 2016-11-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rack