Class: WsdlMapper::Dom::Namespaces

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/wsdl_mapper/dom/namespaces.rb

Instance Attribute Summary (collapse)

Class Method Summary (collapse)

Instance Method Summary (collapse)

Constructor Details

- (Namespaces) initialize(prefix: 'ns')

Returns a new instance of Namespaces



6
7
8
9
10
11
# File 'lib/wsdl_mapper/dom/namespaces.rb', line 6

def initialize(prefix: 'ns')
  @namespaces = {}
  @default = nil
  @i = 0
  @prefix = prefix
end

Instance Attribute Details

- (Object) default

Returns the value of attribute default



13
14
15
# File 'lib/wsdl_mapper/dom/namespaces.rb', line 13

def default
  @default
end

Class Method Details

+ (Object) for(hash)



47
48
49
50
51
52
53
# File 'lib/wsdl_mapper/dom/namespaces.rb', line 47

def self.for(hash)
  ns = new
  hash.each do |prefix, url|
    ns[prefix] = url
  end
  ns
end

Instance Method Details

- (Object) each(&block)



36
37
38
39
40
41
42
43
44
45
# File 'lib/wsdl_mapper/dom/namespaces.rb', line 36

def each(&block)
  enum = Enumerator.new do |y|
    y << [nil, default] if default
    @namespaces.each do |prefix, url|
      y << [prefix, url]
    end
  end

  block_given? ? enum.each(&block) : enum
end

- (Object) get(prefix) Also known as: []



20
21
22
# File 'lib/wsdl_mapper/dom/namespaces.rb', line 20

def get(prefix)
  @namespaces[prefix.to_s]
end

- (Object) prefix_for(url)



25
26
27
28
29
30
31
32
33
34
# File 'lib/wsdl_mapper/dom/namespaces.rb', line 25

def prefix_for(url)
  return nil if url.nil?
  return nil if url == @default
  prefix = @namespaces.key(url)
  return prefix if prefix
  prefix = @prefix + @i.to_s
  @i += 1
  set prefix, url
  prefix
end

- (Object) set(prefix, url) Also known as: []=



15
16
17
# File 'lib/wsdl_mapper/dom/namespaces.rb', line 15

def set(prefix, url)
  @namespaces[prefix.to_s] = url
end