lib/midori/api_engine.rb in em-midori-0.1.6.1 vs lib/midori/api_engine.rb in em-midori-0.1.7

- old
+ new

@@ -1,7 +1,14 @@ +## +# Merge and manage all APIs. +# @attr [ Hash ] routes A hash of all routes merged class Midori::APIEngine attr_accessor :routes + + # Init an API Engine + # @param [ Class ] root_api API inherited from [ Midori::API ] + # @param [ Symbol ] type type mustermann support def initialize(root_api, type = :sinatra) @routes = { GET: [], POST: [], PUT: [], @@ -21,12 +28,12 @@ route.path = Mustermann.new(route.path, type: type) end end end + # Merge all routes with a Depth-first search def merge(prefix, root_api, middlewares) - # Merge all routes with a Depth-first search root_api.routes[:MOUNT].each do |mount| root_api.routes.merge!(merge(mount[0], mount[1], root_api.scope_middlewares)) do |_key, old_val, new_val| old_val + new_val end end @@ -79,6 +86,8 @@ def self.websocket_header(key) header = Midori::Const::WEBSOCKET_HEADER.clone header['Sec-WebSocket-Accept'] = Digest::SHA1.base64digest(key + '258EAFA5-E914-47DA-95CA-C5AB0DC85B11') header end + + private :merge end