class Addressable::Template::MatchData

is matched against a URI.
This class represents the data that is extracted when a Template
#

def [](key, len = nil)

Returns:
  • (Array, String, nil) -

Parameters:
  • len (#to_int, nil) --
  • key (String, Symbol, Fixnum) --
def [](key, len = nil)
  if len
    to_a[key, len]
  elsif String === key or Symbol === key
    mapping[key.to_s]
  else
    to_a[key]
  end
end

def initialize(uri, template, mapping)

Parameters:
  • uri (Addressable::URI) --
def initialize(uri, template, mapping)
  @uri = uri.dup.freeze
  @template = template
  @mapping = mapping.dup.freeze
end

def inspect

Returns:
  • (String) - The MatchData's state, as a String.
def inspect
  sprintf("#<%s:%#0x RESULT:%s>",
    self.class.to_s, self.object_id, self.mapping.inspect)
end

def pre_match

Returns:
  • (String) - An empty string.
def pre_match
  ""
end

def to_a

Returns:
  • (Array) -
def to_a
  [to_s, *values]
end

def to_s

Returns:
  • (String) -
def to_s
  uri.to_s
end

def values

Returns:
  • (Array) -
def values
  @values ||= self.variables.inject([]) do |accu, key|
    accu << self.mapping[key]
    accu
  end
end

def values_at(*indexes)

Other tags:
    See: Addressable::Template::MatchData#[] -

Returns:
  • (Array) -

Parameters:
  • *indexes (String, Symbol, Fixnum) --
def values_at(*indexes)
  indexes.map { |i| self[i] }
end

def variables

Returns:
  • (Array) -
def variables
  self.template.variables
end