class ApacheCrunch::ReqFirstlineDerivationRule

Public Class Methods

new() click to toggle source
# File lib/derivation.rb, line 62
def initialize
    @_derivation_regex = nil
end

Public Instance Methods

derive(name, source_value) click to toggle source
# File lib/derivation.rb, line 74
def derive(name, source_value)
    if @_derivation_regex.nil?
        @_derivation_regex = Regexp.compile("^(#{ReqMethodTokenDefinition.regex})\s+(#{UrlPathTokenDefinition.regex})(#{QueryStringTokenDefinition.regex})\s+(#{ProtocolTokenDefinition.regex})$")
    end

    hsh = {}
    if source_value =~ @_derivation_regex
        hsh[ReqMethodTokenDefinition.name] = $1
        hsh[UrlPathTokenDefinition.name] = $2
        hsh[QueryStringTokenDefinition.name] = $3
        hsh[ProtocolTokenDefinition.name] = $4
    end

    hsh[name]
end
source_name() click to toggle source
# File lib/derivation.rb, line 66
def source_name
    :req_firstline
end
target_names() click to toggle source
# File lib/derivation.rb, line 70
def target_names
    [ReqMethodTokenDefinition.name, UrlPathTokenDefinition.name, QueryStringTokenDefinition.name, ProtocolTokenDefinition.name]
end