Method: XSD::Restriction#facets

Defined in:
lib/xsd/objects/restriction.rb

#facetsObject

Get restriction facets



41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'lib/xsd/objects/restriction.rb', line 41

def facets
  nodes.inject({}) do |hash, node|
    if FACET_ELEMENTS.include?(node.name)
      key   = node.name
      value = node['value']

      if key == 'enumeration'
        hash[key]        ||= {}
        hash[key][value] = documentation_for(node)
      elsif key == 'pattern'
        hash[key] ||= []
        hash[key].push(value)
      else
        hash[key] = value
      end
    end
    hash
  end
end