lib/prmd/templates/schemata/helper.erb in prmd-0.7.0 vs lib/prmd/templates/schemata/helper.erb in prmd-0.7.1
- old
+ new
@@ -1,9 +1,11 @@
<%-
def extract_attributes(schema, properties)
attributes = []
+ _, properties = schema.dereference(properties)
+
properties.each do |key, value|
# found a reference to another element:
_, value = schema.dereference(value)
# include top level reference to nested things, when top level is nullable
@@ -81,9 +83,27 @@
description += '<br/> **one of:**' + [*value['enum']].map { |e| "`#{e.to_json}`" }.join(" or ")
end
if value['pattern']
description += "<br/> **pattern:** <code>#{value['pattern'].gsub /\|/, '|'}</code>"
+ end
+
+ if value['minLength'] || value['maxLength']
+ description += "<br/> **Length:** `"
+ if value['minLength']
+ description += "#{value['minLength'].to_json}"
+ end
+ unless value['minLength'] == value['maxLength']
+ if value['maxLength']
+ unless value['minLength']
+ description += "0"
+ end
+ description += "..#{value['maxLength'].to_json}"
+ else
+ description += "..∞"
+ end
+ end
+ description += "`"
end
if value.has_key?('example')
example = if value['example'].is_a?(Hash) && value['example'].has_key?('oneOf')
value['example']['oneOf'].map { |e| "`#{e.to_json}`" }.join(" or ")