module Ovto::Middleware
Public Class Methods
create_middleware_states_class(middlewares)
click to toggle source
(internal) Create a subclass of Ovto::State
that handles states of `middlewares` Called from App#initialize
# File lib/ovto/middleware.rb, line 24 def self.create_middleware_states_class(middlewares) return Class.new(Ovto::State){ middlewares.each do |m| item m.name, default_proc: ->{ mw_state_class = m.const_get('State') mw_state_class.item :_middlewares, default_proc: -> { Ovto::Middleware.create_middleware_states_class(m.middlewares).new } mw_state_class.new } end } end
dig_middleware_state(app_state, middleware_path)
click to toggle source
Get the state of the middleware specified with `middleware_path`
# File lib/ovto/middleware.rb, line 39 def self.dig_middleware_state(app_state, middleware_path) return middleware_path.inject(app_state){|state, middleware_name| state._middlewares.__send__(middleware_name) } end