class WsdlMapper::TypeMapping::MappingSet
Public Class Methods
default()
click to toggle source
# File lib/wsdl_mapper/type_mapping/mapping_set.rb, line 38 def self.default @default ||= MappingSet.new end
new()
click to toggle source
# File lib/wsdl_mapper/type_mapping/mapping_set.rb, line 4 def initialize @list = [] @cache = Hash.new do |h, k| h[k] = get_mapping(k) end end
Public Instance Methods
<<(mapping)
click to toggle source
# File lib/wsdl_mapper/type_mapping/mapping_set.rb, line 11 def <<(mapping) @list << mapping self end
dup()
click to toggle source
# File lib/wsdl_mapper/type_mapping/mapping_set.rb, line 24 def dup other = self.class.new @list.each do |mapping| other << mapping end other end
find(type)
click to toggle source
# File lib/wsdl_mapper/type_mapping/mapping_set.rb, line 16 def find(type) @cache[type] end
find!(type)
click to toggle source
# File lib/wsdl_mapper/type_mapping/mapping_set.rb, line 20 def find!(type) find(type) || raise(ArgumentError.new("Unknown type: #{type}")) end
remove(mapping)
click to toggle source
TODO: test
# File lib/wsdl_mapper/type_mapping/mapping_set.rb, line 33 def remove(mapping) @list.delete mapping @cache.delete_if { |_, m| m == mapping } end
requires(type)
click to toggle source
# File lib/wsdl_mapper/type_mapping/mapping_set.rb, line 54 def requires(type) find!(type).requires end
ruby_type(type)
click to toggle source
# File lib/wsdl_mapper/type_mapping/mapping_set.rb, line 50 def ruby_type(type) find!(type).ruby_type end
to_ruby(type, value)
click to toggle source
# File lib/wsdl_mapper/type_mapping/mapping_set.rb, line 42 def to_ruby(type, value) find!(type).to_ruby value end
to_xml(type, value)
click to toggle source
# File lib/wsdl_mapper/type_mapping/mapping_set.rb, line 46 def to_xml(type, value) find!(type).to_xml value end
Protected Instance Methods
get_mapping(type)
click to toggle source
# File lib/wsdl_mapper/type_mapping/mapping_set.rb, line 59 def get_mapping(type) @list.find { |m| m.maps? type } end