Class: Ecoportal::API::V1::PersonSchema
Instance Attribute Summary
#doc
Instance Method Summary
collapse
#as_json, #as_update, #initialize, passthrough, #print
Instance Method Details
#[](id) ⇒ Object
22
23
24
25
|
# File 'lib/ecoportal/api/v1/person_schema.rb', line 22
def [](id)
@fields_by_alt_id or index_fields
@fields_by_id[id] || @fields_by_alt_id[id]
end
|
#fields ⇒ Object
7
8
9
10
|
# File 'lib/ecoportal/api/v1/person_schema.rb', line 7
def fields
@fields_by_id or index_fields
@fields_by_id.values
end
|
#fields_by_alt_id ⇒ Object
17
18
19
20
|
# File 'lib/ecoportal/api/v1/person_schema.rb', line 17
def fields_by_alt_id
@fields_by_alt_id or index_fields
@fields_by_alt_id
end
|
#fields_by_id ⇒ Object
12
13
14
15
|
# File 'lib/ecoportal/api/v1/person_schema.rb', line 12
def fields_by_id
@fields_by_id or index_fields
@fields_by_id
end
|
#index_fields ⇒ Object
27
28
29
30
31
32
33
34
35
|
# File 'lib/ecoportal/api/v1/person_schema.rb', line 27
def index_fields
@fields_by_id = {}
@fields_by_alt_id = {}
doc["fields"].each do |field|
wrapped = schema_field_class.new(field)
@fields_by_id[wrapped.id] = wrapped
@fields_by_id[wrapped.alt_id] = wrapped
end
end
|