module I18n::Locale::Tag::Parents

def parent

def parent
  @parent ||= begin
    segs = to_a.compact
    segs.length > 1 ? self.class.tag(*segs[0..(segs.length-2)].join('-')) : nil
  end
end

def parents

def parents
  @parents ||= ([parent] + (parent ? parent.parents : [])).compact
end

def self_and_parents

def self_and_parents
  @self_and_parents ||= [self] + parents
end