rack-raml 0.1.1 → 0.1.2

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