Sha256: b107f044c68587cb94275bf7add92d9c40902a73b507bfe854f4fcc8d80e06a2
Contents?: true
Size: 1.16 KB
Versions: 4
Compression:
Stored size: 1.16 KB
Contents
require 'deas/handler_proxy' require 'deas/url' require 'deas/view_handler' module Deas class RedirectProxy < HandlerProxy attr_reader :handler_class_name, :handler_class def initialize(router, path = nil, &block) @handler_class = Class.new do include Deas::ViewHandler def self.router; @router; end def self.router=(value) @router = value end def self.redirect_path; @redirect_path; end def self.redirect_path=(value) @redirect_path = value end def self.name; 'Deas::RedirectHandler'; end attr_reader :redirect_path def init! @redirect_path = self.class.router.prepend_base_url( self.instance_eval(&self.class.redirect_path) ) end def run! redirect @redirect_path end end @handler_class.router = router @handler_class.redirect_path = if path.nil? block elsif path.kind_of?(Deas::Url) proc{ path.path_for(params) } else proc{ path } end @handler_class_name = @handler_class.name end def validate!; end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
deas-0.38.0 | lib/deas/redirect_proxy.rb |
deas-0.37.1 | lib/deas/redirect_proxy.rb |
deas-0.37.0 | lib/deas/redirect_proxy.rb |
deas-0.36.0 | lib/deas/redirect_proxy.rb |