Class: Medschool::SchemaProcessor

Inherits:
Object
  • Object
show all
Defined in:
lib/medschool/schema_processor.rb

Direct Known Subclasses

HashGenerator, Validator

Instance Method Summary collapse

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