class WsdlMapper::DomParsing::SimpleTypeParser
Public Instance Methods
parse(node)
click to toggle source
# File lib/wsdl_mapper/dom_parsing/simple_type_parser.rb, line 8 def parse(node) name = parse_name_in_attribute 'name', node type = SimpleType.new name each_element node do |child| parse_simple_type_child child, type end @base.schema.add_type type end
Protected Instance Methods
parse_simple_type_child(node, type)
click to toggle source
# File lib/wsdl_mapper/dom_parsing/simple_type_parser.rb, line 21 def parse_simple_type_child(node, type) case get_name node when RESTRICTION parse_simple_type_restriction node, type when ANNOTATION parse_annotation node, type else log_msg node, :unknown end end
parse_simple_type_enumeration(node, type)
click to toggle source
# File lib/wsdl_mapper/dom_parsing/simple_type_parser.rb, line 82 def parse_simple_type_enumeration(node, type) value = node.attributes['value'].value enum_value = EnumerationValue.new value type.enumeration_values << enum_value each_element node do |child| case get_name(child) when ANNOTATION parse_annotation child, enum_value else log_msg node, :unknown end end end
parse_simple_type_fraction_digits(node, type)
click to toggle source
# File lib/wsdl_mapper/dom_parsing/simple_type_parser.rb, line 60 def parse_simple_type_fraction_digits(node, type) type.fraction_digits = fetch_attribute_value 'value', node end
parse_simple_type_max(node, type, inclusive)
click to toggle source
# File lib/wsdl_mapper/dom_parsing/simple_type_parser.rb, line 77 def parse_simple_type_max(node, type, inclusive) type.max = fetch_attribute_value 'value', node type.max_inclusive = inclusive end
parse_simple_type_min(node, type, inclusive)
click to toggle source
# File lib/wsdl_mapper/dom_parsing/simple_type_parser.rb, line 72 def parse_simple_type_min(node, type, inclusive) type.min = fetch_attribute_value 'value', node type.min_inclusive = inclusive end
parse_simple_type_pattern(node, type)
click to toggle source
# File lib/wsdl_mapper/dom_parsing/simple_type_parser.rb, line 68 def parse_simple_type_pattern(node, type) type.pattern = fetch_attribute_value 'value', node end
parse_simple_type_restriction(node, type)
click to toggle source
# File lib/wsdl_mapper/dom_parsing/simple_type_parser.rb, line 32 def parse_simple_type_restriction(node, type) # TODO: test parse_base node, type each_element node do |child| case get_name(child) when ENUMERATION parse_simple_type_enumeration child, type when PATTERN parse_simple_type_pattern child, type when MIN_INCLUSIVE parse_simple_type_min child, type, true when MAX_INCLUSIVE parse_simple_type_max child, type, true when MIN_LENGTH parse_simple_type_min child, type, false when MAX_LENGTH parse_simple_type_max child, type, false when TOTAL_DIGITS parse_simple_type_total_digits child, type when FRACTION_DIGITS parse_simple_type_fraction_digits child, type else log_msg child, :unknown end end end
parse_simple_type_total_digits(node, type)
click to toggle source
# File lib/wsdl_mapper/dom_parsing/simple_type_parser.rb, line 64 def parse_simple_type_total_digits(node, type) type.total_digits = fetch_attribute_value 'value', node end