module Aws::Endpoints::Matchers
def self.attr(value, path)
def self.attr(value, path) parts = path.split('.') val = if (index = parts.first[BRACKET_REGEX, 1]) # remove brackets and index from part before indexing if (base = parts.first.gsub(BRACKET_REGEX, '')) && !base.empty? value[base][index.to_i] else value[index.to_i] end else value[parts.first] end if parts.size == 1 val else attr(val, parts.slice(1..-1).join('.')) end end