Class: Safrano::FunctionImport::ResultAsComplexTypeColl

Inherits:
ResultDefinition show all
Defined in:
lib/odata/complex_type.rb

Constant Summary

Constants inherited from ResultDefinition

Safrano::FunctionImport::ResultDefinition::COLLECTION, Safrano::FunctionImport::ResultDefinition::D, Safrano::FunctionImport::ResultDefinition::DJ_CLOSE, Safrano::FunctionImport::ResultDefinition::DJ_OPEN, Safrano::FunctionImport::ResultDefinition::METAK, Safrano::FunctionImport::ResultDefinition::RESULTSK, Safrano::FunctionImport::ResultDefinition::TYPEK, Safrano::FunctionImport::ResultDefinition::VALUEK

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from ResultDefinition

#allowed_transitions, asComplexType, asComplexTypeColl, asEntity, asEntityColl, asPrimitiveType, asPrimitiveTypeColl, do_execute_func_result, #initialize, #odata_get, #transition_end, #type_metadata

Methods included from Transitions::GetNextTrans::ForJustTransitionEnd

#get_next_transresult

Constructor Details

This class inherits a constructor from Safrano::FunctionImport::ResultDefinition

Class Method Details

.type_metadataObject



109
110
111
# File 'lib/odata/complex_type.rb', line 109

def self.
  "Collection(#{@klassmod.type_name})"
end

Instance Method Details

#to_odata_json(req) ⇒ Object



113
114
115
116
117
118
119
120
121
122
123
124
# File 'lib/odata/complex_type.rb', line 113

def to_odata_json(req)
  template = self.class.klassmod.output_template
  # TODO: Error handling if database contains binary BLOB data that cant be
  # interpreted as UTF-8 then JSON will fail here

  innerh = req.service.get_coll_odata_h(array: @value,
                                        template: template)

  innerj = innerh.to_json

  "#{DJ_OPEN}#{innerj}#{DJ_CLOSE}"
end