class Eversign::Mappings::Document
Public Class Methods
extract_collection(content, scope)
click to toggle source
# File lib/eversign/mappings/document.rb, line 62 def self.extract_collection(content, scope) data = JSON.parse(content) result = [] data.each do |item| result << extract_single(item.to_json, nil) end result end
extract_single(content, scope)
click to toggle source
Calls superclass method
# File lib/eversign/mappings/document.rb, line 71 def self.extract_single(content, scope) obj = super(content, scope) data = JSON.parse(content) if data["fields"] data["fields"].each do |field_list| field_data = [] field_list.each do |field| extracted_field = Field.extract_single(field.to_json, nil) field_data << extracted_field if extracted_field end obj.add_field_list(field_data) end end obj end
representation_for(document, isFromTemplate = false)
click to toggle source
Calls superclass method
# File lib/eversign/mappings/document.rb, line 87 def self.representation_for(document, isFromTemplate = false) data = super(nil, document) list = [] if document.fields document.fields.each do |field_list| field_data = [] field_list.each do |field| field_data << JSON.parse(Field.representation_for(nil, field)) end list << field_data end end data = JSON.parse(data) # Fix for issue 7. When we create a document from template (isFromTemplate=true) fields array is 1 dimentional, so we flatten it: data["fields"] = isFromTemplate ? list.flatten : list JSON.dump(data) end