Class: WsdlMapper::Dom::Directory
- Inherits:
-
Object
- Object
- WsdlMapper::Dom::Directory
- Includes:
- Enumerable
- Defined in:
- lib/wsdl_mapper/dom/directory.rb
Instance Method Summary (collapse)
- - (Object) clear
- - (Object) each(&block)
- - (Object) each_value(&block)
- - (Object) get(name) (also: #[])
- - (Boolean) has_key?(name)
-
- (Directory) initialize(on_nil: nil, &block)
constructor
A new instance of Directory.
- - (Object) on_nil(name)
- - (Object) set(name, value) (also: #[]=)
Constructor Details
- (Directory) initialize(on_nil: nil, &block)
Returns a new instance of Directory
8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/wsdl_mapper/dom/directory.rb', line 8 def initialize(on_nil: nil, &block) if block @data = Hash.new do |h, k| h[k] = Hash.new do |h2, k2| h2[k2] = block[WsdlMapper::Dom::Name.get(k, k2)] end end else @data = {} end @on_nil = on_nil end |
Instance Method Details
- (Object) clear
21 22 23 |
# File 'lib/wsdl_mapper/dom/directory.rb', line 21 def clear @data.clear end |
- (Object) each(&block)
51 52 53 54 55 56 57 58 59 60 |
# File 'lib/wsdl_mapper/dom/directory.rb', line 51 def each(&block) enum = Enumerator.new do |y| @data.each do |ns, data| data.each do |name, value| y << [WsdlMapper::Dom::Name.get(ns, name), value] end end end block_given? ? enum.each(&block) : enum.each end |
- (Object) each_value(&block)
62 63 64 65 66 67 68 69 70 71 |
# File 'lib/wsdl_mapper/dom/directory.rb', line 62 def each_value(&block) enum = Enumerator.new do |y| @data.each do |ns, data| data.each do |name, value| y << value end end end block_given? ? enum.each(&block) : enum.each end |
- (Object) get(name) Also known as: []
27 28 29 30 31 |
# File 'lib/wsdl_mapper/dom/directory.rb', line 27 def get(name) hsh = @data[name.ns] hsh && hsh[name.name] || on_nil(name) end |
- (Boolean) has_key?(name)
38 39 40 41 |
# File 'lib/wsdl_mapper/dom/directory.rb', line 38 def has_key?(name) hsh = @data[name.ns] !!(hsh && hsh[name.name]) end |
- (Object) on_nil(name)
34 35 36 |
# File 'lib/wsdl_mapper/dom/directory.rb', line 34 def on_nil(name) @on_nil && raise(@on_nil.new(name)) end |
- (Object) set(name, value) Also known as: []=
45 46 47 48 |
# File 'lib/wsdl_mapper/dom/directory.rb', line 45 def set(name, value) @data[name.ns] ||= {} @data[name.ns][name.name] = value end |