class Utopia::Controller::Rewrite::ExtractPrefixRule

A rule which extracts a prefix pattern from the request path.

Public Class Methods

new(patterns, block) click to toggle source
# File lib/utopia/controller/rewrite.rb, line 50
def initialize(patterns, block)
        @matcher = Path::Matcher.new(patterns)
        @block = block
end

Public Instance Methods

apply(context, request, path) click to toggle source
# File lib/utopia/controller/rewrite.rb, line 62
def apply(context, request, path)
        if match_data = @matcher.match(path)
                apply_match_to_context(match_data, context)
                
                if @block
                        context.instance_exec(request, path, match_data, &@block)
                end
                
                return match_data.post_match
        else
                return path
        end
end
freeze() click to toggle source
Calls superclass method
# File lib/utopia/controller/rewrite.rb, line 55
def freeze
        @matcher.freeze
        @block.freeze
        
        super
end