Class: Atom::Xml::NamespaceMap

Inherits:
Object
  • Object
show all
Defined in:
lib/atom/xml/parser.rb

Instance Method Summary collapse

Constructor Details

#initialize(default = Atom::NAMESPACE) ⇒ NamespaceMap

Returns a new instance of NamespaceMap.



46
47
48
49
50
# File 'lib/atom/xml/parser.rb', line 46

def initialize(default = Atom::NAMESPACE)
  @default = default
  @i = 0
  @map = {}
end

Instance Method Details

#each(&block) ⇒ Object



70
71
72
# File 'lib/atom/xml/parser.rb', line 70

def each(&block)
  @map.each(&block)
end

#get(ns) ⇒ Object



60
61
62
63
64
65
66
67
68
# File 'lib/atom/xml/parser.rb', line 60

def get(ns)
  if ns == Atom::NAMESPACE
    @map[ns] = "atom"
  elsif ns == Atom::Pub::NAMESPACE
    @map[ns] = "app"
  else
    @map[ns] or @map[ns] = "ns#{@i += 1}"
  end
end

#prefix(ns, element) ⇒ Object



52
53
54
55
56
57
58
# File 'lib/atom/xml/parser.rb', line 52

def prefix(ns, element)
  if ns == @default
    element
  else
    "#{get(ns)}:#{element}"
  end
end