Class: Swagger::Blocks::Nodes::SchemaNode
- Inherits:
-
Node
- Object
- Node
- Swagger::Blocks::Nodes::SchemaNode
- Defined in:
- lib/api_schema/patches/schema_node.rb
Instance Method Summary collapse
- #array_schema(serializer) ⇒ Object
- #property_schema_for(serializer) ⇒ Object
- #requires(fields) ⇒ Object
- #schema_for(serializer) ⇒ Object
- #single_schema(serializer) ⇒ Object
Instance Method Details
#array_schema(serializer) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/api_schema/patches/schema_node.rb', line 33 def array_schema(serializer) requires serializer.required_fields serializer.fields.each do |f| property f.name do key :type, f.type key :format, f.format if f.format key :description, f.description key :enum, f.allowed_values unless f.allowed_values.empty? end end serializer.references.each do |r| property_schema_for(r) end end |
#property_schema_for(serializer) ⇒ Object
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/api_schema/patches/schema_node.rb', line 48 def property_schema_for(serializer) property serializer.name do key :type, serializer.type key :description, serializer.description requires serializer.required_fields serializer.fields.each do |f| property f.name do key :type, f.type key :format, f.format if f.format key :description, f.description key :enum, f.allowed_values unless f.allowed_values.empty? end end serializer.references.each do |r| property_schema_for(r) end end end |
#requires(fields) ⇒ Object
5 6 7 |
# File 'lib/api_schema/patches/schema_node.rb', line 5 def requires(fields) key :required, fields end |
#schema_for(serializer) ⇒ Object
9 10 11 12 |
# File 'lib/api_schema/patches/schema_node.rb', line 9 def schema_for(serializer) key :title, serializer.id.to_s.humanize serializer.type == :array ? array_schema(serializer) : single_schema(serializer) end |
#single_schema(serializer) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/api_schema/patches/schema_node.rb', line 14 def single_schema(serializer) key :required, serializer.name property serializer.name do key :type, :object requires serializer.required_fields serializer.fields.each do |f| property f.name do key :type, f.type key :format, f.format if f.format key :description, f.description key :enum, f.allowed_values unless f.allowed_values.empty? end end serializer.references.each do |r| property_schema_for(r) #schema_for from PropertyNode class end end end |