Class: Medschool::SchemaProcessor
- Inherits:
-
Object
- Object
- Medschool::SchemaProcessor
- Defined in:
- lib/medschool/schema_processor.rb
Direct Known Subclasses
Instance Method Summary collapse
- #check_item(item, *args) ⇒ Object
- #items_process_item(item, *args) ⇒ Object
- #process_item(item, *args) ⇒ Object
- #process_items(items, *args) ⇒ Object
- #process_properties(properties, *args) ⇒ Object
- #properties_process_item(value, key, *args) ⇒ Object
Instance Method Details
#check_item(item, *args) ⇒ Object
36 37 |
# File 'lib/medschool/schema_processor.rb', line 36 def check_item(item, *args) end |
#items_process_item(item, *args) ⇒ Object
32 33 34 |
# File 'lib/medschool/schema_processor.rb', line 32 def items_process_item(item, *args) process_item(item, *args) end |
#process_item(item, *args) ⇒ Object
3 4 5 6 7 8 9 10 11 |
# File 'lib/medschool/schema_processor.rb', line 3 def process_item(item, *args) if Array === item process_items(item, *args) elsif item['properties'] process_properties(item['properties'], *args) elsif item['type'] check_item(item, *args) end end |
#process_items(items, *args) ⇒ Object
26 27 28 29 30 |
# File 'lib/medschool/schema_processor.rb', line 26 def process_items(items, *args) items.collect do |item| items_process_item(item, *args) end end |
#process_properties(properties, *args) ⇒ Object
13 14 15 16 17 18 19 20 |
# File 'lib/medschool/schema_processor.rb', line 13 def process_properties(properties, *args) h = HashWithIndifferentAccess.new properties ||= {} properties.each do |key, value| h[key] = properties_process_item(value, key, *args) end h end |
#properties_process_item(value, key, *args) ⇒ Object
22 23 24 |
# File 'lib/medschool/schema_processor.rb', line 22 def properties_process_item(value, key, *args) process_item(value, *args) end |