xbim_aim 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (331) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/README.md +413 -0
  4. data/Rakefile +10 -0
  5. data/lib/xbim_aim/api/admin_api.rb +358 -0
  6. data/lib/xbim_aim/api/applications_api.rb +203 -0
  7. data/lib/xbim_aim/api/assemblies_api.rb +690 -0
  8. data/lib/xbim_aim/api/assets_api.rb +926 -0
  9. data/lib/xbim_aim/api/attributes_api.rb +789 -0
  10. data/lib/xbim_aim/api/component_types_api.rb +690 -0
  11. data/lib/xbim_aim/api/components_api.rb +803 -0
  12. data/lib/xbim_aim/api/contacts_api.rb +690 -0
  13. data/lib/xbim_aim/api/diagnostics_api.rb +109 -0
  14. data/lib/xbim_aim/api/document_files_api.rb +224 -0
  15. data/lib/xbim_aim/api/documents_api.rb +690 -0
  16. data/lib/xbim_aim/api/entities_api.rb +904 -0
  17. data/lib/xbim_aim/api/facilities_api.rb +690 -0
  18. data/lib/xbim_aim/api/issues_api.rb +690 -0
  19. data/lib/xbim_aim/api/jobs_api.rb +690 -0
  20. data/lib/xbim_aim/api/levels_api.rb +690 -0
  21. data/lib/xbim_aim/api/logs_api.rb +90 -0
  22. data/lib/xbim_aim/api/model_files_api.rb +219 -0
  23. data/lib/xbim_aim/api/model_mapping_api.rb +203 -0
  24. data/lib/xbim_aim/api/models_api.rb +1308 -0
  25. data/lib/xbim_aim/api/resources_api.rb +690 -0
  26. data/lib/xbim_aim/api/schedules_api.rb +496 -0
  27. data/lib/xbim_aim/api/sites_api.rb +690 -0
  28. data/lib/xbim_aim/api/spaces_api.rb +803 -0
  29. data/lib/xbim_aim/api/spares_api.rb +690 -0
  30. data/lib/xbim_aim/api/stats_api.rb +170 -0
  31. data/lib/xbim_aim/api/systems_api.rb +690 -0
  32. data/lib/xbim_aim/api/thumbnails_api.rb +182 -0
  33. data/lib/xbim_aim/api/wexbim_api.rb +849 -0
  34. data/lib/xbim_aim/api/zones_api.rb +690 -0
  35. data/lib/xbim_aim/api_client.rb +390 -0
  36. data/lib/xbim_aim/api_error.rb +57 -0
  37. data/lib/xbim_aim/configuration.rb +278 -0
  38. data/lib/xbim_aim/models/application.rb +277 -0
  39. data/lib/xbim_aim/models/assembly_diagnostics.rb +299 -0
  40. data/lib/xbim_aim/models/assembly_info.rb +308 -0
  41. data/lib/xbim_aim/models/assembly_item.rb +454 -0
  42. data/lib/xbim_aim/models/asset.rb +339 -0
  43. data/lib/xbim_aim/models/asset_create.rb +268 -0
  44. data/lib/xbim_aim/models/asset_edit.rb +263 -0
  45. data/lib/xbim_aim/models/asset_segment.rb +304 -0
  46. data/lib/xbim_aim/models/attribute_definition.rb +354 -0
  47. data/lib/xbim_aim/models/attribute_definition_create.rb +338 -0
  48. data/lib/xbim_aim/models/attribute_definition_edit.rb +288 -0
  49. data/lib/xbim_aim/models/attribute_definition_entity.rb +392 -0
  50. data/lib/xbim_aim/models/attribute_value.rb +333 -0
  51. data/lib/xbim_aim/models/attribute_value_entity.rb +272 -0
  52. data/lib/xbim_aim/models/cell.rb +236 -0
  53. data/lib/xbim_aim/models/classification_node.rb +254 -0
  54. data/lib/xbim_aim/models/column_definition.rb +297 -0
  55. data/lib/xbim_aim/models/complex_value_base.rb +261 -0
  56. data/lib/xbim_aim/models/component.rb +535 -0
  57. data/lib/xbim_aim/models/component_create.rb +283 -0
  58. data/lib/xbim_aim/models/component_edit.rb +248 -0
  59. data/lib/xbim_aim/models/component_info.rb +326 -0
  60. data/lib/xbim_aim/models/component_type.rb +498 -0
  61. data/lib/xbim_aim/models/component_type_info.rb +308 -0
  62. data/lib/xbim_aim/models/contact.rb +443 -0
  63. data/lib/xbim_aim/models/contact_entity.rb +333 -0
  64. data/lib/xbim_aim/models/contact_info.rb +308 -0
  65. data/lib/xbim_aim/models/db_update.rb +227 -0
  66. data/lib/xbim_aim/models/document.rb +421 -0
  67. data/lib/xbim_aim/models/document_create.rb +345 -0
  68. data/lib/xbim_aim/models/document_edit.rb +310 -0
  69. data/lib/xbim_aim/models/document_info.rb +308 -0
  70. data/lib/xbim_aim/models/entity.rb +421 -0
  71. data/lib/xbim_aim/models/entity_base.rb +308 -0
  72. data/lib/xbim_aim/models/entity_contact.rb +333 -0
  73. data/lib/xbim_aim/models/entity_create.rb +274 -0
  74. data/lib/xbim_aim/models/entity_edit.rb +239 -0
  75. data/lib/xbim_aim/models/entity_mapping_info.rb +299 -0
  76. data/lib/xbim_aim/models/entity_match_descriptor.rb +245 -0
  77. data/lib/xbim_aim/models/entity_match_info.rb +238 -0
  78. data/lib/xbim_aim/models/entity_ref.rb +281 -0
  79. data/lib/xbim_aim/models/facility.rb +432 -0
  80. data/lib/xbim_aim/models/facility_info.rb +308 -0
  81. data/lib/xbim_aim/models/file_upload_result.rb +300 -0
  82. data/lib/xbim_aim/models/footprint.rb +254 -0
  83. data/lib/xbim_aim/models/i_metered_resource.rb +254 -0
  84. data/lib/xbim_aim/models/ifc_type.rb +247 -0
  85. data/lib/xbim_aim/models/inline_object.rb +294 -0
  86. data/lib/xbim_aim/models/inline_object1.rb +294 -0
  87. data/lib/xbim_aim/models/inline_object2.rb +220 -0
  88. data/lib/xbim_aim/models/inline_object3.rb +223 -0
  89. data/lib/xbim_aim/models/inline_object4.rb +294 -0
  90. data/lib/xbim_aim/models/inline_object5.rb +294 -0
  91. data/lib/xbim_aim/models/issue.rb +443 -0
  92. data/lib/xbim_aim/models/issue_info.rb +308 -0
  93. data/lib/xbim_aim/models/job.rb +483 -0
  94. data/lib/xbim_aim/models/job_create.rb +283 -0
  95. data/lib/xbim_aim/models/job_edit.rb +248 -0
  96. data/lib/xbim_aim/models/job_info.rb +308 -0
  97. data/lib/xbim_aim/models/level.rb +463 -0
  98. data/lib/xbim_aim/models/level_create.rb +274 -0
  99. data/lib/xbim_aim/models/level_edit.rb +239 -0
  100. data/lib/xbim_aim/models/level_info.rb +308 -0
  101. data/lib/xbim_aim/models/mapping_message_info.rb +281 -0
  102. data/lib/xbim_aim/models/mapping_properties.rb +227 -0
  103. data/lib/xbim_aim/models/member_permission.rb +292 -0
  104. data/lib/xbim_aim/models/member_role.rb +320 -0
  105. data/lib/xbim_aim/models/model.rb +617 -0
  106. data/lib/xbim_aim/models/model_create.rb +318 -0
  107. data/lib/xbim_aim/models/model_edit.rb +284 -0
  108. data/lib/xbim_aim/models/model_info.rb +380 -0
  109. data/lib/xbim_aim/models/model_mapping.rb +363 -0
  110. data/lib/xbim_aim/models/model_mapping_report.rb +354 -0
  111. data/lib/xbim_aim/models/o_data_list_response_of_application.rb +247 -0
  112. data/lib/xbim_aim/models/o_data_list_response_of_assembly_diagnostics.rb +247 -0
  113. data/lib/xbim_aim/models/o_data_list_response_of_assembly_item.rb +247 -0
  114. data/lib/xbim_aim/models/o_data_list_response_of_asset.rb +247 -0
  115. data/lib/xbim_aim/models/o_data_list_response_of_attribute_definition.rb +247 -0
  116. data/lib/xbim_aim/models/o_data_list_response_of_attribute_definition_entity.rb +247 -0
  117. data/lib/xbim_aim/models/o_data_list_response_of_attribute_value.rb +247 -0
  118. data/lib/xbim_aim/models/o_data_list_response_of_complex_value_base.rb +247 -0
  119. data/lib/xbim_aim/models/o_data_list_response_of_component.rb +247 -0
  120. data/lib/xbim_aim/models/o_data_list_response_of_component_type.rb +247 -0
  121. data/lib/xbim_aim/models/o_data_list_response_of_contact.rb +247 -0
  122. data/lib/xbim_aim/models/o_data_list_response_of_document.rb +247 -0
  123. data/lib/xbim_aim/models/o_data_list_response_of_entity.rb +247 -0
  124. data/lib/xbim_aim/models/o_data_list_response_of_entity_ref.rb +247 -0
  125. data/lib/xbim_aim/models/o_data_list_response_of_facility.rb +247 -0
  126. data/lib/xbim_aim/models/o_data_list_response_of_issue.rb +247 -0
  127. data/lib/xbim_aim/models/o_data_list_response_of_job.rb +247 -0
  128. data/lib/xbim_aim/models/o_data_list_response_of_level.rb +247 -0
  129. data/lib/xbim_aim/models/o_data_list_response_of_member_permission.rb +247 -0
  130. data/lib/xbim_aim/models/o_data_list_response_of_model.rb +247 -0
  131. data/lib/xbim_aim/models/o_data_list_response_of_model_mapping.rb +247 -0
  132. data/lib/xbim_aim/models/o_data_list_response_of_model_mapping_report.rb +247 -0
  133. data/lib/xbim_aim/models/o_data_list_response_of_resource.rb +247 -0
  134. data/lib/xbim_aim/models/o_data_list_response_of_role.rb +247 -0
  135. data/lib/xbim_aim/models/o_data_list_response_of_row.rb +247 -0
  136. data/lib/xbim_aim/models/o_data_list_response_of_schedule.rb +247 -0
  137. data/lib/xbim_aim/models/o_data_list_response_of_site.rb +247 -0
  138. data/lib/xbim_aim/models/o_data_list_response_of_space.rb +247 -0
  139. data/lib/xbim_aim/models/o_data_list_response_of_spare.rb +247 -0
  140. data/lib/xbim_aim/models/o_data_list_response_of_system_item.rb +247 -0
  141. data/lib/xbim_aim/models/o_data_list_response_of_zone.rb +247 -0
  142. data/lib/xbim_aim/models/o_data_response_of_boolean.rb +227 -0
  143. data/lib/xbim_aim/models/quota_status.rb +300 -0
  144. data/lib/xbim_aim/models/related_entity.rb +432 -0
  145. data/lib/xbim_aim/models/resource.rb +443 -0
  146. data/lib/xbim_aim/models/resource_info.rb +308 -0
  147. data/lib/xbim_aim/models/role.rb +331 -0
  148. data/lib/xbim_aim/models/role_member.rb +279 -0
  149. data/lib/xbim_aim/models/row.rb +229 -0
  150. data/lib/xbim_aim/models/schedule.rb +258 -0
  151. data/lib/xbim_aim/models/site.rb +432 -0
  152. data/lib/xbim_aim/models/space.rb +491 -0
  153. data/lib/xbim_aim/models/space_create.rb +283 -0
  154. data/lib/xbim_aim/models/space_edit.rb +248 -0
  155. data/lib/xbim_aim/models/space_info.rb +326 -0
  156. data/lib/xbim_aim/models/spare.rb +450 -0
  157. data/lib/xbim_aim/models/spare_create.rb +283 -0
  158. data/lib/xbim_aim/models/spare_edit.rb +248 -0
  159. data/lib/xbim_aim/models/spare_info.rb +308 -0
  160. data/lib/xbim_aim/models/system_info.rb +319 -0
  161. data/lib/xbim_aim/models/system_item.rb +454 -0
  162. data/lib/xbim_aim/models/user_permissions.rb +275 -0
  163. data/lib/xbim_aim/models/value_container.rb +308 -0
  164. data/lib/xbim_aim/models/zone.rb +454 -0
  165. data/lib/xbim_aim/models/zone_info.rb +308 -0
  166. data/lib/xbim_aim/version.rb +15 -0
  167. data/lib/xbim_aim.rb +197 -0
  168. data/spec/api/admin_api_spec.rb +95 -0
  169. data/spec/api/applications_api_spec.rb +71 -0
  170. data/spec/api/assemblies_api_spec.rb +160 -0
  171. data/spec/api/assets_api_spec.rb +203 -0
  172. data/spec/api/attributes_api_spec.rb +177 -0
  173. data/spec/api/component_types_api_spec.rb +160 -0
  174. data/spec/api/components_api_spec.rb +184 -0
  175. data/spec/api/contacts_api_spec.rb +160 -0
  176. data/spec/api/diagnostics_api_spec.rb +54 -0
  177. data/spec/api/document_files_api_spec.rb +69 -0
  178. data/spec/api/documents_api_spec.rb +160 -0
  179. data/spec/api/entities_api_spec.rb +203 -0
  180. data/spec/api/facilities_api_spec.rb +160 -0
  181. data/spec/api/issues_api_spec.rb +160 -0
  182. data/spec/api/jobs_api_spec.rb +160 -0
  183. data/spec/api/levels_api_spec.rb +160 -0
  184. data/spec/api/logs_api_spec.rb +47 -0
  185. data/spec/api/model_files_api_spec.rb +71 -0
  186. data/spec/api/model_mapping_api_spec.rb +71 -0
  187. data/spec/api/models_api_spec.rb +273 -0
  188. data/spec/api/resources_api_spec.rb +160 -0
  189. data/spec/api/schedules_api_spec.rb +126 -0
  190. data/spec/api/sites_api_spec.rb +160 -0
  191. data/spec/api/spaces_api_spec.rb +184 -0
  192. data/spec/api/spares_api_spec.rb +160 -0
  193. data/spec/api/stats_api_spec.rb +61 -0
  194. data/spec/api/systems_api_spec.rb +160 -0
  195. data/spec/api/thumbnails_api_spec.rb +63 -0
  196. data/spec/api/wexbim_api_spec.rb +175 -0
  197. data/spec/api/zones_api_spec.rb +160 -0
  198. data/spec/api_client_spec.rb +226 -0
  199. data/spec/configuration_spec.rb +42 -0
  200. data/spec/models/application_spec.rb +70 -0
  201. data/spec/models/assembly_diagnostics_spec.rb +88 -0
  202. data/spec/models/assembly_info_spec.rb +94 -0
  203. data/spec/models/assembly_item_spec.rb +178 -0
  204. data/spec/models/asset_create_spec.rb +44 -0
  205. data/spec/models/asset_edit_spec.rb +44 -0
  206. data/spec/models/asset_segment_spec.rb +88 -0
  207. data/spec/models/asset_spec.rb +92 -0
  208. data/spec/models/attribute_definition_create_spec.rb +78 -0
  209. data/spec/models/attribute_definition_edit_spec.rb +62 -0
  210. data/spec/models/attribute_definition_entity_spec.rb +126 -0
  211. data/spec/models/attribute_definition_spec.rb +102 -0
  212. data/spec/models/attribute_value_entity_spec.rb +70 -0
  213. data/spec/models/attribute_value_spec.rb +92 -0
  214. data/spec/models/cell_spec.rb +46 -0
  215. data/spec/models/classification_node_spec.rb +58 -0
  216. data/spec/models/column_definition_spec.rb +68 -0
  217. data/spec/models/complex_value_base_spec.rb +44 -0
  218. data/spec/models/component_create_spec.rb +70 -0
  219. data/spec/models/component_edit_spec.rb +52 -0
  220. data/spec/models/component_info_spec.rb +106 -0
  221. data/spec/models/component_spec.rb +226 -0
  222. data/spec/models/component_type_info_spec.rb +94 -0
  223. data/spec/models/component_type_spec.rb +202 -0
  224. data/spec/models/contact_entity_spec.rb +92 -0
  225. data/spec/models/contact_info_spec.rb +94 -0
  226. data/spec/models/contact_spec.rb +172 -0
  227. data/spec/models/db_update_spec.rb +40 -0
  228. data/spec/models/document_create_spec.rb +106 -0
  229. data/spec/models/document_edit_spec.rb +88 -0
  230. data/spec/models/document_info_spec.rb +94 -0
  231. data/spec/models/document_spec.rb +160 -0
  232. data/spec/models/entity_base_spec.rb +94 -0
  233. data/spec/models/entity_contact_spec.rb +92 -0
  234. data/spec/models/entity_create_spec.rb +64 -0
  235. data/spec/models/entity_edit_spec.rb +46 -0
  236. data/spec/models/entity_mapping_info_spec.rb +88 -0
  237. data/spec/models/entity_match_descriptor_spec.rb +52 -0
  238. data/spec/models/entity_match_info_spec.rb +46 -0
  239. data/spec/models/entity_ref_spec.rb +76 -0
  240. data/spec/models/entity_spec.rb +160 -0
  241. data/spec/models/facility_info_spec.rb +94 -0
  242. data/spec/models/facility_spec.rb +166 -0
  243. data/spec/models/file_upload_result_spec.rb +82 -0
  244. data/spec/models/footprint_spec.rb +58 -0
  245. data/spec/models/i_metered_resource_spec.rb +58 -0
  246. data/spec/models/ifc_type_spec.rb +52 -0
  247. data/spec/models/inline_object1_spec.rb +56 -0
  248. data/spec/models/inline_object2_spec.rb +34 -0
  249. data/spec/models/inline_object3_spec.rb +34 -0
  250. data/spec/models/inline_object4_spec.rb +56 -0
  251. data/spec/models/inline_object5_spec.rb +56 -0
  252. data/spec/models/inline_object_spec.rb +56 -0
  253. data/spec/models/issue_info_spec.rb +94 -0
  254. data/spec/models/issue_spec.rb +172 -0
  255. data/spec/models/job_create_spec.rb +70 -0
  256. data/spec/models/job_edit_spec.rb +52 -0
  257. data/spec/models/job_info_spec.rb +94 -0
  258. data/spec/models/job_spec.rb +196 -0
  259. data/spec/models/level_create_spec.rb +64 -0
  260. data/spec/models/level_edit_spec.rb +46 -0
  261. data/spec/models/level_info_spec.rb +94 -0
  262. data/spec/models/level_spec.rb +184 -0
  263. data/spec/models/mapping_message_info_spec.rb +76 -0
  264. data/spec/models/mapping_properties_spec.rb +40 -0
  265. data/spec/models/member_permission_spec.rb +66 -0
  266. data/spec/models/member_role_spec.rb +82 -0
  267. data/spec/models/model_create_spec.rb +68 -0
  268. data/spec/models/model_edit_spec.rb +56 -0
  269. data/spec/models/model_info_spec.rb +142 -0
  270. data/spec/models/model_mapping_report_spec.rb +118 -0
  271. data/spec/models/model_mapping_spec.rb +124 -0
  272. data/spec/models/model_spec.rb +260 -0
  273. data/spec/models/o_data_list_response_of_application_spec.rb +52 -0
  274. data/spec/models/o_data_list_response_of_assembly_diagnostics_spec.rb +52 -0
  275. data/spec/models/o_data_list_response_of_assembly_item_spec.rb +52 -0
  276. data/spec/models/o_data_list_response_of_asset_spec.rb +52 -0
  277. data/spec/models/o_data_list_response_of_attribute_definition_entity_spec.rb +52 -0
  278. data/spec/models/o_data_list_response_of_attribute_definition_spec.rb +52 -0
  279. data/spec/models/o_data_list_response_of_attribute_value_spec.rb +52 -0
  280. data/spec/models/o_data_list_response_of_complex_value_base_spec.rb +52 -0
  281. data/spec/models/o_data_list_response_of_component_spec.rb +52 -0
  282. data/spec/models/o_data_list_response_of_component_type_spec.rb +52 -0
  283. data/spec/models/o_data_list_response_of_contact_spec.rb +52 -0
  284. data/spec/models/o_data_list_response_of_document_spec.rb +52 -0
  285. data/spec/models/o_data_list_response_of_entity_ref_spec.rb +52 -0
  286. data/spec/models/o_data_list_response_of_entity_spec.rb +52 -0
  287. data/spec/models/o_data_list_response_of_facility_spec.rb +52 -0
  288. data/spec/models/o_data_list_response_of_issue_spec.rb +52 -0
  289. data/spec/models/o_data_list_response_of_job_spec.rb +52 -0
  290. data/spec/models/o_data_list_response_of_level_spec.rb +52 -0
  291. data/spec/models/o_data_list_response_of_member_permission_spec.rb +52 -0
  292. data/spec/models/o_data_list_response_of_model_mapping_report_spec.rb +52 -0
  293. data/spec/models/o_data_list_response_of_model_mapping_spec.rb +52 -0
  294. data/spec/models/o_data_list_response_of_model_spec.rb +52 -0
  295. data/spec/models/o_data_list_response_of_resource_spec.rb +52 -0
  296. data/spec/models/o_data_list_response_of_role_spec.rb +52 -0
  297. data/spec/models/o_data_list_response_of_row_spec.rb +52 -0
  298. data/spec/models/o_data_list_response_of_schedule_spec.rb +52 -0
  299. data/spec/models/o_data_list_response_of_site_spec.rb +52 -0
  300. data/spec/models/o_data_list_response_of_space_spec.rb +52 -0
  301. data/spec/models/o_data_list_response_of_spare_spec.rb +52 -0
  302. data/spec/models/o_data_list_response_of_system_item_spec.rb +52 -0
  303. data/spec/models/o_data_list_response_of_zone_spec.rb +52 -0
  304. data/spec/models/o_data_response_of_boolean_spec.rb +40 -0
  305. data/spec/models/quota_status_spec.rb +66 -0
  306. data/spec/models/related_entity_spec.rb +166 -0
  307. data/spec/models/resource_info_spec.rb +94 -0
  308. data/spec/models/resource_spec.rb +172 -0
  309. data/spec/models/role_member_spec.rb +56 -0
  310. data/spec/models/role_spec.rb +88 -0
  311. data/spec/models/row_spec.rb +40 -0
  312. data/spec/models/schedule_spec.rb +58 -0
  313. data/spec/models/site_spec.rb +166 -0
  314. data/spec/models/space_create_spec.rb +70 -0
  315. data/spec/models/space_edit_spec.rb +52 -0
  316. data/spec/models/space_info_spec.rb +106 -0
  317. data/spec/models/space_spec.rb +202 -0
  318. data/spec/models/spare_create_spec.rb +70 -0
  319. data/spec/models/spare_edit_spec.rb +52 -0
  320. data/spec/models/spare_info_spec.rb +94 -0
  321. data/spec/models/spare_spec.rb +178 -0
  322. data/spec/models/system_info_spec.rb +100 -0
  323. data/spec/models/system_item_spec.rb +178 -0
  324. data/spec/models/user_permissions_spec.rb +56 -0
  325. data/spec/models/value_container_spec.rb +78 -0
  326. data/spec/models/zone_info_spec.rb +94 -0
  327. data/spec/models/zone_spec.rb +178 -0
  328. data/spec/spec_helper.rb +111 -0
  329. data/xbim_aim-1.0.0.gem +0 -0
  330. data/xbim_aim.gemspec +38 -0
  331. metadata +413 -0
@@ -0,0 +1,617 @@
1
+ =begin
2
+ #XBIM Flex API v2
3
+
4
+ #This is the XBIM Flex Swagger service where you can explore the REST API for the platform.
5
+
6
+ The version of the OpenAPI document: 2.0
7
+ Contact: info@xbim.net
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.4.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module XbimAim
17
+ class Model
18
+ attr_accessor :entities
19
+
20
+ # See #/definitions/Asset
21
+ attr_accessor :asset
22
+
23
+ # See #/definitions/AssetSegment
24
+ attr_accessor :segment
25
+
26
+ attr_accessor :attribute_definitions
27
+
28
+ attr_accessor :spaces
29
+
30
+ attr_accessor :components
31
+
32
+ attr_accessor :component_types
33
+
34
+ attr_accessor :levels
35
+
36
+ attr_accessor :zones
37
+
38
+ attr_accessor :facilities
39
+
40
+ attr_accessor :documents
41
+
42
+ attr_accessor :contacts
43
+
44
+ attr_accessor :sites
45
+
46
+ attr_accessor :applications
47
+
48
+ attr_accessor :forward_mappings
49
+
50
+ attr_accessor :reverse_mappings
51
+
52
+ attr_accessor :roles
53
+
54
+ attr_accessor :permissions
55
+
56
+ attr_accessor :state
57
+
58
+ attr_accessor :asset_model_id
59
+
60
+ attr_accessor :asset_id
61
+
62
+ attr_accessor :name
63
+
64
+ attr_accessor :revision
65
+
66
+ attr_accessor :status
67
+
68
+ attr_accessor :is_current
69
+
70
+ attr_accessor :uploaded_by_id
71
+
72
+ attr_accessor :segment_name
73
+
74
+ attr_accessor :segment_id
75
+
76
+ attr_accessor :asset_name
77
+
78
+ attr_accessor :model_path
79
+
80
+ attr_accessor :model_size
81
+
82
+ attr_accessor :one_meter
83
+
84
+ attr_accessor :original_author_id
85
+
86
+ attr_accessor :date_uploaded
87
+
88
+ attr_accessor :date_processed
89
+
90
+ attr_accessor :last_entity_id
91
+
92
+ attr_accessor :processing_stage
93
+
94
+ attr_accessor :processing_status
95
+
96
+ class EnumAttributeValidator
97
+ attr_reader :datatype
98
+ attr_reader :allowable_values
99
+
100
+ def initialize(datatype, allowable_values)
101
+ @allowable_values = allowable_values.map do |value|
102
+ case datatype.to_s
103
+ when /Integer/i
104
+ value.to_i
105
+ when /Float/i
106
+ value.to_f
107
+ else
108
+ value
109
+ end
110
+ end
111
+ end
112
+
113
+ def valid?(value)
114
+ !value || allowable_values.include?(value)
115
+ end
116
+ end
117
+
118
+ # Attribute mapping from ruby-style variable name to JSON key.
119
+ def self.attribute_map
120
+ {
121
+ :'entities' => :'Entities',
122
+ :'asset' => :'Asset',
123
+ :'segment' => :'Segment',
124
+ :'attribute_definitions' => :'AttributeDefinitions',
125
+ :'spaces' => :'Spaces',
126
+ :'components' => :'Components',
127
+ :'component_types' => :'ComponentTypes',
128
+ :'levels' => :'Levels',
129
+ :'zones' => :'Zones',
130
+ :'facilities' => :'Facilities',
131
+ :'documents' => :'Documents',
132
+ :'contacts' => :'Contacts',
133
+ :'sites' => :'Sites',
134
+ :'applications' => :'Applications',
135
+ :'forward_mappings' => :'ForwardMappings',
136
+ :'reverse_mappings' => :'ReverseMappings',
137
+ :'roles' => :'Roles',
138
+ :'permissions' => :'Permissions',
139
+ :'state' => :'State',
140
+ :'asset_model_id' => :'AssetModelId',
141
+ :'asset_id' => :'AssetId',
142
+ :'name' => :'Name',
143
+ :'revision' => :'Revision',
144
+ :'status' => :'Status',
145
+ :'is_current' => :'IsCurrent',
146
+ :'uploaded_by_id' => :'UploadedById',
147
+ :'segment_name' => :'SegmentName',
148
+ :'segment_id' => :'SegmentId',
149
+ :'asset_name' => :'AssetName',
150
+ :'model_path' => :'ModelPath',
151
+ :'model_size' => :'ModelSize',
152
+ :'one_meter' => :'OneMeter',
153
+ :'original_author_id' => :'OriginalAuthorId',
154
+ :'date_uploaded' => :'DateUploaded',
155
+ :'date_processed' => :'DateProcessed',
156
+ :'last_entity_id' => :'LastEntityId',
157
+ :'processing_stage' => :'ProcessingStage',
158
+ :'processing_status' => :'ProcessingStatus'
159
+ }
160
+ end
161
+
162
+ # Returns all the JSON keys this model knows about
163
+ def self.acceptable_attributes
164
+ attribute_map.values
165
+ end
166
+
167
+ # Attribute type mapping.
168
+ def self.openapi_types
169
+ {
170
+ :'entities' => :'Array<Object>',
171
+ :'asset' => :'Object',
172
+ :'segment' => :'Object',
173
+ :'attribute_definitions' => :'Array<AttributeDefinitionEntity>',
174
+ :'spaces' => :'Array<Object>',
175
+ :'components' => :'Array<Object>',
176
+ :'component_types' => :'Array<Object>',
177
+ :'levels' => :'Array<Object>',
178
+ :'zones' => :'Array<Object>',
179
+ :'facilities' => :'Array<Object>',
180
+ :'documents' => :'Array<Object>',
181
+ :'contacts' => :'Array<Object>',
182
+ :'sites' => :'Array<Object>',
183
+ :'applications' => :'Array<Application>',
184
+ :'forward_mappings' => :'Array<ModelMapping>',
185
+ :'reverse_mappings' => :'Array<ModelMapping>',
186
+ :'roles' => :'Array<Role>',
187
+ :'permissions' => :'UserPermissions',
188
+ :'state' => :'String',
189
+ :'asset_model_id' => :'Integer',
190
+ :'asset_id' => :'Integer',
191
+ :'name' => :'String',
192
+ :'revision' => :'String',
193
+ :'status' => :'String',
194
+ :'is_current' => :'Boolean',
195
+ :'uploaded_by_id' => :'String',
196
+ :'segment_name' => :'String',
197
+ :'segment_id' => :'String',
198
+ :'asset_name' => :'String',
199
+ :'model_path' => :'String',
200
+ :'model_size' => :'Integer',
201
+ :'one_meter' => :'Float',
202
+ :'original_author_id' => :'Integer',
203
+ :'date_uploaded' => :'Time',
204
+ :'date_processed' => :'Time',
205
+ :'last_entity_id' => :'Integer',
206
+ :'processing_stage' => :'String',
207
+ :'processing_status' => :'String'
208
+ }
209
+ end
210
+
211
+ # List of attributes with nullable: true
212
+ def self.openapi_nullable
213
+ Set.new([
214
+ ])
215
+ end
216
+
217
+ # Initializes the object
218
+ # @param [Hash] attributes Model attributes in the form of hash
219
+ def initialize(attributes = {})
220
+ if (!attributes.is_a?(Hash))
221
+ fail ArgumentError, "The input argument (attributes) must be a hash in `XbimAim::Model` initialize method"
222
+ end
223
+
224
+ # check to see if the attribute exists and convert string to symbol for hash key
225
+ attributes = attributes.each_with_object({}) { |(k, v), h|
226
+ if (!self.class.attribute_map.key?(k.to_sym))
227
+ fail ArgumentError, "`#{k}` is not a valid attribute in `XbimAim::Model`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
228
+ end
229
+ h[k.to_sym] = v
230
+ }
231
+
232
+ if attributes.key?(:'entities')
233
+ if (value = attributes[:'entities']).is_a?(Array)
234
+ self.entities = value
235
+ end
236
+ end
237
+
238
+ if attributes.key?(:'asset')
239
+ self.asset = attributes[:'asset']
240
+ end
241
+
242
+ if attributes.key?(:'segment')
243
+ self.segment = attributes[:'segment']
244
+ end
245
+
246
+ if attributes.key?(:'attribute_definitions')
247
+ if (value = attributes[:'attribute_definitions']).is_a?(Array)
248
+ self.attribute_definitions = value
249
+ end
250
+ end
251
+
252
+ if attributes.key?(:'spaces')
253
+ if (value = attributes[:'spaces']).is_a?(Array)
254
+ self.spaces = value
255
+ end
256
+ end
257
+
258
+ if attributes.key?(:'components')
259
+ if (value = attributes[:'components']).is_a?(Array)
260
+ self.components = value
261
+ end
262
+ end
263
+
264
+ if attributes.key?(:'component_types')
265
+ if (value = attributes[:'component_types']).is_a?(Array)
266
+ self.component_types = value
267
+ end
268
+ end
269
+
270
+ if attributes.key?(:'levels')
271
+ if (value = attributes[:'levels']).is_a?(Array)
272
+ self.levels = value
273
+ end
274
+ end
275
+
276
+ if attributes.key?(:'zones')
277
+ if (value = attributes[:'zones']).is_a?(Array)
278
+ self.zones = value
279
+ end
280
+ end
281
+
282
+ if attributes.key?(:'facilities')
283
+ if (value = attributes[:'facilities']).is_a?(Array)
284
+ self.facilities = value
285
+ end
286
+ end
287
+
288
+ if attributes.key?(:'documents')
289
+ if (value = attributes[:'documents']).is_a?(Array)
290
+ self.documents = value
291
+ end
292
+ end
293
+
294
+ if attributes.key?(:'contacts')
295
+ if (value = attributes[:'contacts']).is_a?(Array)
296
+ self.contacts = value
297
+ end
298
+ end
299
+
300
+ if attributes.key?(:'sites')
301
+ if (value = attributes[:'sites']).is_a?(Array)
302
+ self.sites = value
303
+ end
304
+ end
305
+
306
+ if attributes.key?(:'applications')
307
+ if (value = attributes[:'applications']).is_a?(Array)
308
+ self.applications = value
309
+ end
310
+ end
311
+
312
+ if attributes.key?(:'forward_mappings')
313
+ if (value = attributes[:'forward_mappings']).is_a?(Array)
314
+ self.forward_mappings = value
315
+ end
316
+ end
317
+
318
+ if attributes.key?(:'reverse_mappings')
319
+ if (value = attributes[:'reverse_mappings']).is_a?(Array)
320
+ self.reverse_mappings = value
321
+ end
322
+ end
323
+
324
+ if attributes.key?(:'roles')
325
+ if (value = attributes[:'roles']).is_a?(Array)
326
+ self.roles = value
327
+ end
328
+ end
329
+
330
+ if attributes.key?(:'permissions')
331
+ self.permissions = attributes[:'permissions']
332
+ end
333
+
334
+ if attributes.key?(:'state')
335
+ self.state = attributes[:'state']
336
+ end
337
+
338
+ if attributes.key?(:'asset_model_id')
339
+ self.asset_model_id = attributes[:'asset_model_id']
340
+ end
341
+
342
+ if attributes.key?(:'asset_id')
343
+ self.asset_id = attributes[:'asset_id']
344
+ end
345
+
346
+ if attributes.key?(:'name')
347
+ self.name = attributes[:'name']
348
+ end
349
+
350
+ if attributes.key?(:'revision')
351
+ self.revision = attributes[:'revision']
352
+ end
353
+
354
+ if attributes.key?(:'status')
355
+ self.status = attributes[:'status']
356
+ end
357
+
358
+ if attributes.key?(:'is_current')
359
+ self.is_current = attributes[:'is_current']
360
+ end
361
+
362
+ if attributes.key?(:'uploaded_by_id')
363
+ self.uploaded_by_id = attributes[:'uploaded_by_id']
364
+ end
365
+
366
+ if attributes.key?(:'segment_name')
367
+ self.segment_name = attributes[:'segment_name']
368
+ end
369
+
370
+ if attributes.key?(:'segment_id')
371
+ self.segment_id = attributes[:'segment_id']
372
+ end
373
+
374
+ if attributes.key?(:'asset_name')
375
+ self.asset_name = attributes[:'asset_name']
376
+ end
377
+
378
+ if attributes.key?(:'model_path')
379
+ self.model_path = attributes[:'model_path']
380
+ end
381
+
382
+ if attributes.key?(:'model_size')
383
+ self.model_size = attributes[:'model_size']
384
+ end
385
+
386
+ if attributes.key?(:'one_meter')
387
+ self.one_meter = attributes[:'one_meter']
388
+ end
389
+
390
+ if attributes.key?(:'original_author_id')
391
+ self.original_author_id = attributes[:'original_author_id']
392
+ end
393
+
394
+ if attributes.key?(:'date_uploaded')
395
+ self.date_uploaded = attributes[:'date_uploaded']
396
+ end
397
+
398
+ if attributes.key?(:'date_processed')
399
+ self.date_processed = attributes[:'date_processed']
400
+ end
401
+
402
+ if attributes.key?(:'last_entity_id')
403
+ self.last_entity_id = attributes[:'last_entity_id']
404
+ end
405
+
406
+ if attributes.key?(:'processing_stage')
407
+ self.processing_stage = attributes[:'processing_stage']
408
+ end
409
+
410
+ if attributes.key?(:'processing_status')
411
+ self.processing_status = attributes[:'processing_status']
412
+ end
413
+ end
414
+
415
+ # Show invalid properties with the reasons. Usually used together with valid?
416
+ # @return Array for valid properties with the reasons
417
+ def list_invalid_properties
418
+ invalid_properties = Array.new
419
+ invalid_properties
420
+ end
421
+
422
+ # Check to see if the all the properties in the model are valid
423
+ # @return true if the model is valid
424
+ def valid?
425
+ state_validator = EnumAttributeValidator.new('String', ["Active", "Hidden", "Archived"])
426
+ return false unless state_validator.valid?(@state)
427
+ true
428
+ end
429
+
430
+ # Custom attribute writer method checking allowed values (enum).
431
+ # @param [Object] state Object to be assigned
432
+ def state=(state)
433
+ validator = EnumAttributeValidator.new('String', ["Active", "Hidden", "Archived"])
434
+ unless validator.valid?(state)
435
+ fail ArgumentError, "invalid value for \"state\", must be one of #{validator.allowable_values}."
436
+ end
437
+ @state = state
438
+ end
439
+
440
+ # Checks equality by comparing each attribute.
441
+ # @param [Object] Object to be compared
442
+ def ==(o)
443
+ return true if self.equal?(o)
444
+ self.class == o.class &&
445
+ entities == o.entities &&
446
+ asset == o.asset &&
447
+ segment == o.segment &&
448
+ attribute_definitions == o.attribute_definitions &&
449
+ spaces == o.spaces &&
450
+ components == o.components &&
451
+ component_types == o.component_types &&
452
+ levels == o.levels &&
453
+ zones == o.zones &&
454
+ facilities == o.facilities &&
455
+ documents == o.documents &&
456
+ contacts == o.contacts &&
457
+ sites == o.sites &&
458
+ applications == o.applications &&
459
+ forward_mappings == o.forward_mappings &&
460
+ reverse_mappings == o.reverse_mappings &&
461
+ roles == o.roles &&
462
+ permissions == o.permissions &&
463
+ state == o.state &&
464
+ asset_model_id == o.asset_model_id &&
465
+ asset_id == o.asset_id &&
466
+ name == o.name &&
467
+ revision == o.revision &&
468
+ status == o.status &&
469
+ is_current == o.is_current &&
470
+ uploaded_by_id == o.uploaded_by_id &&
471
+ segment_name == o.segment_name &&
472
+ segment_id == o.segment_id &&
473
+ asset_name == o.asset_name &&
474
+ model_path == o.model_path &&
475
+ model_size == o.model_size &&
476
+ one_meter == o.one_meter &&
477
+ original_author_id == o.original_author_id &&
478
+ date_uploaded == o.date_uploaded &&
479
+ date_processed == o.date_processed &&
480
+ last_entity_id == o.last_entity_id &&
481
+ processing_stage == o.processing_stage &&
482
+ processing_status == o.processing_status
483
+ end
484
+
485
+ # @see the `==` method
486
+ # @param [Object] Object to be compared
487
+ def eql?(o)
488
+ self == o
489
+ end
490
+
491
+ # Calculates hash code according to all attributes.
492
+ # @return [Integer] Hash code
493
+ def hash
494
+ [entities, asset, segment, attribute_definitions, spaces, components, component_types, levels, zones, facilities, documents, contacts, sites, applications, forward_mappings, reverse_mappings, roles, permissions, state, asset_model_id, asset_id, name, revision, status, is_current, uploaded_by_id, segment_name, segment_id, asset_name, model_path, model_size, one_meter, original_author_id, date_uploaded, date_processed, last_entity_id, processing_stage, processing_status].hash
495
+ end
496
+
497
+ # Builds the object from hash
498
+ # @param [Hash] attributes Model attributes in the form of hash
499
+ # @return [Object] Returns the model itself
500
+ def self.build_from_hash(attributes)
501
+ new.build_from_hash(attributes)
502
+ end
503
+
504
+ # Builds the object from hash
505
+ # @param [Hash] attributes Model attributes in the form of hash
506
+ # @return [Object] Returns the model itself
507
+ def build_from_hash(attributes)
508
+ return nil unless attributes.is_a?(Hash)
509
+ self.class.openapi_types.each_pair do |key, type|
510
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
511
+ self.send("#{key}=", nil)
512
+ elsif type =~ /\AArray<(.*)>/i
513
+ # check to ensure the input is an array given that the attribute
514
+ # is documented as an array but the input is not
515
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
516
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
517
+ end
518
+ elsif !attributes[self.class.attribute_map[key]].nil?
519
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
520
+ end
521
+ end
522
+
523
+ self
524
+ end
525
+
526
+ # Deserializes the data based on type
527
+ # @param string type Data type
528
+ # @param string value Value to be deserialized
529
+ # @return [Object] Deserialized data
530
+ def _deserialize(type, value)
531
+ case type.to_sym
532
+ when :Time
533
+ Time.parse(value)
534
+ when :Date
535
+ Date.parse(value)
536
+ when :String
537
+ value.to_s
538
+ when :Integer
539
+ value.to_i
540
+ when :Float
541
+ value.to_f
542
+ when :Boolean
543
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
544
+ true
545
+ else
546
+ false
547
+ end
548
+ when :Object
549
+ # generic object (usually a Hash), return directly
550
+ value
551
+ when /\AArray<(?<inner_type>.+)>\z/
552
+ inner_type = Regexp.last_match[:inner_type]
553
+ value.map { |v| _deserialize(inner_type, v) }
554
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
555
+ k_type = Regexp.last_match[:k_type]
556
+ v_type = Regexp.last_match[:v_type]
557
+ {}.tap do |hash|
558
+ value.each do |k, v|
559
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
560
+ end
561
+ end
562
+ else # model
563
+ # models (e.g. Pet) or oneOf
564
+ klass = XbimAim.const_get(type)
565
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
566
+ end
567
+ end
568
+
569
+ # Returns the string representation of the object
570
+ # @return [String] String presentation of the object
571
+ def to_s
572
+ to_hash.to_s
573
+ end
574
+
575
+ # to_body is an alias to to_hash (backward compatibility)
576
+ # @return [Hash] Returns the object in the form of hash
577
+ def to_body
578
+ to_hash
579
+ end
580
+
581
+ # Returns the object in the form of hash
582
+ # @return [Hash] Returns the object in the form of hash
583
+ def to_hash
584
+ hash = {}
585
+ self.class.attribute_map.each_pair do |attr, param|
586
+ value = self.send(attr)
587
+ if value.nil?
588
+ is_nullable = self.class.openapi_nullable.include?(attr)
589
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
590
+ end
591
+
592
+ hash[param] = _to_hash(value)
593
+ end
594
+ hash
595
+ end
596
+
597
+ # Outputs non-array value in the form of hash
598
+ # For object, use to_hash. Otherwise, just return the value
599
+ # @param [Object] value Any valid value
600
+ # @return [Hash] Returns the value in the form of hash
601
+ def _to_hash(value)
602
+ if value.is_a?(Array)
603
+ value.compact.map { |v| _to_hash(v) }
604
+ elsif value.is_a?(Hash)
605
+ {}.tap do |hash|
606
+ value.each { |k, v| hash[k] = _to_hash(v) }
607
+ end
608
+ elsif value.respond_to? :to_hash
609
+ value.to_hash
610
+ else
611
+ value
612
+ end
613
+ end
614
+
615
+ end
616
+
617
+ end