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,498 @@
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 ComponentType
18
+ attr_accessor :components
19
+
20
+ attr_accessor :jobs
21
+
22
+ attr_accessor :spares
23
+
24
+ attr_accessor :component_entities
25
+
26
+ attr_accessor :sub_assemblies
27
+
28
+ attr_accessor :parent_assemblies
29
+
30
+ attr_accessor :documents
31
+
32
+ attr_accessor :document_entities
33
+
34
+ attr_accessor :issues
35
+
36
+ attr_accessor :contacts
37
+
38
+ attr_accessor :created_by
39
+
40
+ attr_accessor :modified_by
41
+
42
+ attr_accessor :attributes
43
+
44
+ attr_accessor :footprint
45
+
46
+ attr_accessor :mapped_from
47
+
48
+ attr_accessor :mapped_to
49
+
50
+ attr_accessor :ifc_type
51
+
52
+ attr_accessor :dynamic_properties
53
+
54
+ attr_accessor :asset_model_id
55
+
56
+ attr_accessor :entity_id
57
+
58
+ attr_accessor :name
59
+
60
+ attr_accessor :description
61
+
62
+ attr_accessor :external_identifier
63
+
64
+ attr_accessor :external_object_type
65
+
66
+ attr_accessor :external_object_name
67
+
68
+ attr_accessor :model
69
+
70
+ attr_accessor :model_name
71
+
72
+ attr_accessor :date_created
73
+
74
+ attr_accessor :date_modified
75
+
76
+ # Attribute mapping from ruby-style variable name to JSON key.
77
+ def self.attribute_map
78
+ {
79
+ :'components' => :'Components',
80
+ :'jobs' => :'Jobs',
81
+ :'spares' => :'Spares',
82
+ :'component_entities' => :'ComponentEntities',
83
+ :'sub_assemblies' => :'SubAssemblies',
84
+ :'parent_assemblies' => :'ParentAssemblies',
85
+ :'documents' => :'Documents',
86
+ :'document_entities' => :'DocumentEntities',
87
+ :'issues' => :'Issues',
88
+ :'contacts' => :'Contacts',
89
+ :'created_by' => :'CreatedBy',
90
+ :'modified_by' => :'ModifiedBy',
91
+ :'attributes' => :'Attributes',
92
+ :'footprint' => :'Footprint',
93
+ :'mapped_from' => :'MappedFrom',
94
+ :'mapped_to' => :'MappedTo',
95
+ :'ifc_type' => :'IfcType',
96
+ :'dynamic_properties' => :'DynamicProperties',
97
+ :'asset_model_id' => :'AssetModelId',
98
+ :'entity_id' => :'EntityId',
99
+ :'name' => :'Name',
100
+ :'description' => :'Description',
101
+ :'external_identifier' => :'ExternalIdentifier',
102
+ :'external_object_type' => :'ExternalObjectType',
103
+ :'external_object_name' => :'ExternalObjectName',
104
+ :'model' => :'Model',
105
+ :'model_name' => :'ModelName',
106
+ :'date_created' => :'DateCreated',
107
+ :'date_modified' => :'DateModified'
108
+ }
109
+ end
110
+
111
+ # Returns all the JSON keys this model knows about
112
+ def self.acceptable_attributes
113
+ attribute_map.values
114
+ end
115
+
116
+ # Attribute type mapping.
117
+ def self.openapi_types
118
+ {
119
+ :'components' => :'Array<ComponentInfo>',
120
+ :'jobs' => :'Array<JobInfo>',
121
+ :'spares' => :'Array<SpareInfo>',
122
+ :'component_entities' => :'Array<Object>',
123
+ :'sub_assemblies' => :'Array<AssemblyInfo>',
124
+ :'parent_assemblies' => :'Array<AssemblyInfo>',
125
+ :'documents' => :'Array<DocumentInfo>',
126
+ :'document_entities' => :'Array<Object>',
127
+ :'issues' => :'Array<IssueInfo>',
128
+ :'contacts' => :'Array<EntityContact>',
129
+ :'created_by' => :'EntityContact',
130
+ :'modified_by' => :'EntityContact',
131
+ :'attributes' => :'Array<AttributeValue>',
132
+ :'footprint' => :'Footprint',
133
+ :'mapped_from' => :'Array<EntityMappingInfo>',
134
+ :'mapped_to' => :'Array<EntityMappingInfo>',
135
+ :'ifc_type' => :'IfcType',
136
+ :'dynamic_properties' => :'Hash<String, Object>',
137
+ :'asset_model_id' => :'Integer',
138
+ :'entity_id' => :'Integer',
139
+ :'name' => :'String',
140
+ :'description' => :'String',
141
+ :'external_identifier' => :'String',
142
+ :'external_object_type' => :'String',
143
+ :'external_object_name' => :'String',
144
+ :'model' => :'ModelInfo',
145
+ :'model_name' => :'String',
146
+ :'date_created' => :'Time',
147
+ :'date_modified' => :'Time'
148
+ }
149
+ end
150
+
151
+ # List of attributes with nullable: true
152
+ def self.openapi_nullable
153
+ Set.new([
154
+ ])
155
+ end
156
+
157
+ # Initializes the object
158
+ # @param [Hash] attributes Model attributes in the form of hash
159
+ def initialize(attributes = {})
160
+ if (!attributes.is_a?(Hash))
161
+ fail ArgumentError, "The input argument (attributes) must be a hash in `XbimAim::ComponentType` initialize method"
162
+ end
163
+
164
+ # check to see if the attribute exists and convert string to symbol for hash key
165
+ attributes = attributes.each_with_object({}) { |(k, v), h|
166
+ if (!self.class.attribute_map.key?(k.to_sym))
167
+ fail ArgumentError, "`#{k}` is not a valid attribute in `XbimAim::ComponentType`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
168
+ end
169
+ h[k.to_sym] = v
170
+ }
171
+
172
+ if attributes.key?(:'components')
173
+ if (value = attributes[:'components']).is_a?(Array)
174
+ self.components = value
175
+ end
176
+ end
177
+
178
+ if attributes.key?(:'jobs')
179
+ if (value = attributes[:'jobs']).is_a?(Array)
180
+ self.jobs = value
181
+ end
182
+ end
183
+
184
+ if attributes.key?(:'spares')
185
+ if (value = attributes[:'spares']).is_a?(Array)
186
+ self.spares = value
187
+ end
188
+ end
189
+
190
+ if attributes.key?(:'component_entities')
191
+ if (value = attributes[:'component_entities']).is_a?(Array)
192
+ self.component_entities = value
193
+ end
194
+ end
195
+
196
+ if attributes.key?(:'sub_assemblies')
197
+ if (value = attributes[:'sub_assemblies']).is_a?(Array)
198
+ self.sub_assemblies = value
199
+ end
200
+ end
201
+
202
+ if attributes.key?(:'parent_assemblies')
203
+ if (value = attributes[:'parent_assemblies']).is_a?(Array)
204
+ self.parent_assemblies = value
205
+ end
206
+ end
207
+
208
+ if attributes.key?(:'documents')
209
+ if (value = attributes[:'documents']).is_a?(Array)
210
+ self.documents = value
211
+ end
212
+ end
213
+
214
+ if attributes.key?(:'document_entities')
215
+ if (value = attributes[:'document_entities']).is_a?(Array)
216
+ self.document_entities = value
217
+ end
218
+ end
219
+
220
+ if attributes.key?(:'issues')
221
+ if (value = attributes[:'issues']).is_a?(Array)
222
+ self.issues = value
223
+ end
224
+ end
225
+
226
+ if attributes.key?(:'contacts')
227
+ if (value = attributes[:'contacts']).is_a?(Array)
228
+ self.contacts = value
229
+ end
230
+ end
231
+
232
+ if attributes.key?(:'created_by')
233
+ self.created_by = attributes[:'created_by']
234
+ end
235
+
236
+ if attributes.key?(:'modified_by')
237
+ self.modified_by = attributes[:'modified_by']
238
+ end
239
+
240
+ if attributes.key?(:'attributes')
241
+ if (value = attributes[:'attributes']).is_a?(Array)
242
+ self.attributes = value
243
+ end
244
+ end
245
+
246
+ if attributes.key?(:'footprint')
247
+ self.footprint = attributes[:'footprint']
248
+ end
249
+
250
+ if attributes.key?(:'mapped_from')
251
+ if (value = attributes[:'mapped_from']).is_a?(Array)
252
+ self.mapped_from = value
253
+ end
254
+ end
255
+
256
+ if attributes.key?(:'mapped_to')
257
+ if (value = attributes[:'mapped_to']).is_a?(Array)
258
+ self.mapped_to = value
259
+ end
260
+ end
261
+
262
+ if attributes.key?(:'ifc_type')
263
+ self.ifc_type = attributes[:'ifc_type']
264
+ end
265
+
266
+ if attributes.key?(:'dynamic_properties')
267
+ if (value = attributes[:'dynamic_properties']).is_a?(Hash)
268
+ self.dynamic_properties = value
269
+ end
270
+ end
271
+
272
+ if attributes.key?(:'asset_model_id')
273
+ self.asset_model_id = attributes[:'asset_model_id']
274
+ end
275
+
276
+ if attributes.key?(:'entity_id')
277
+ self.entity_id = attributes[:'entity_id']
278
+ end
279
+
280
+ if attributes.key?(:'name')
281
+ self.name = attributes[:'name']
282
+ end
283
+
284
+ if attributes.key?(:'description')
285
+ self.description = attributes[:'description']
286
+ end
287
+
288
+ if attributes.key?(:'external_identifier')
289
+ self.external_identifier = attributes[:'external_identifier']
290
+ end
291
+
292
+ if attributes.key?(:'external_object_type')
293
+ self.external_object_type = attributes[:'external_object_type']
294
+ end
295
+
296
+ if attributes.key?(:'external_object_name')
297
+ self.external_object_name = attributes[:'external_object_name']
298
+ end
299
+
300
+ if attributes.key?(:'model')
301
+ self.model = attributes[:'model']
302
+ end
303
+
304
+ if attributes.key?(:'model_name')
305
+ self.model_name = attributes[:'model_name']
306
+ end
307
+
308
+ if attributes.key?(:'date_created')
309
+ self.date_created = attributes[:'date_created']
310
+ end
311
+
312
+ if attributes.key?(:'date_modified')
313
+ self.date_modified = attributes[:'date_modified']
314
+ end
315
+ end
316
+
317
+ # Show invalid properties with the reasons. Usually used together with valid?
318
+ # @return Array for valid properties with the reasons
319
+ def list_invalid_properties
320
+ invalid_properties = Array.new
321
+ invalid_properties
322
+ end
323
+
324
+ # Check to see if the all the properties in the model are valid
325
+ # @return true if the model is valid
326
+ def valid?
327
+ true
328
+ end
329
+
330
+ # Checks equality by comparing each attribute.
331
+ # @param [Object] Object to be compared
332
+ def ==(o)
333
+ return true if self.equal?(o)
334
+ self.class == o.class &&
335
+ components == o.components &&
336
+ jobs == o.jobs &&
337
+ spares == o.spares &&
338
+ component_entities == o.component_entities &&
339
+ sub_assemblies == o.sub_assemblies &&
340
+ parent_assemblies == o.parent_assemblies &&
341
+ documents == o.documents &&
342
+ document_entities == o.document_entities &&
343
+ issues == o.issues &&
344
+ contacts == o.contacts &&
345
+ created_by == o.created_by &&
346
+ modified_by == o.modified_by &&
347
+ attributes == o.attributes &&
348
+ footprint == o.footprint &&
349
+ mapped_from == o.mapped_from &&
350
+ mapped_to == o.mapped_to &&
351
+ ifc_type == o.ifc_type &&
352
+ dynamic_properties == o.dynamic_properties &&
353
+ asset_model_id == o.asset_model_id &&
354
+ entity_id == o.entity_id &&
355
+ name == o.name &&
356
+ description == o.description &&
357
+ external_identifier == o.external_identifier &&
358
+ external_object_type == o.external_object_type &&
359
+ external_object_name == o.external_object_name &&
360
+ model == o.model &&
361
+ model_name == o.model_name &&
362
+ date_created == o.date_created &&
363
+ date_modified == o.date_modified
364
+ end
365
+
366
+ # @see the `==` method
367
+ # @param [Object] Object to be compared
368
+ def eql?(o)
369
+ self == o
370
+ end
371
+
372
+ # Calculates hash code according to all attributes.
373
+ # @return [Integer] Hash code
374
+ def hash
375
+ [components, jobs, spares, component_entities, sub_assemblies, parent_assemblies, documents, document_entities, issues, contacts, created_by, modified_by, attributes, footprint, mapped_from, mapped_to, ifc_type, dynamic_properties, asset_model_id, entity_id, name, description, external_identifier, external_object_type, external_object_name, model, model_name, date_created, date_modified].hash
376
+ end
377
+
378
+ # Builds the object from hash
379
+ # @param [Hash] attributes Model attributes in the form of hash
380
+ # @return [Object] Returns the model itself
381
+ def self.build_from_hash(attributes)
382
+ new.build_from_hash(attributes)
383
+ end
384
+
385
+ # Builds the object from hash
386
+ # @param [Hash] attributes Model attributes in the form of hash
387
+ # @return [Object] Returns the model itself
388
+ def build_from_hash(attributes)
389
+ return nil unless attributes.is_a?(Hash)
390
+ self.class.openapi_types.each_pair do |key, type|
391
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
392
+ self.send("#{key}=", nil)
393
+ elsif type =~ /\AArray<(.*)>/i
394
+ # check to ensure the input is an array given that the attribute
395
+ # is documented as an array but the input is not
396
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
397
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
398
+ end
399
+ elsif !attributes[self.class.attribute_map[key]].nil?
400
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
401
+ end
402
+ end
403
+
404
+ self
405
+ end
406
+
407
+ # Deserializes the data based on type
408
+ # @param string type Data type
409
+ # @param string value Value to be deserialized
410
+ # @return [Object] Deserialized data
411
+ def _deserialize(type, value)
412
+ case type.to_sym
413
+ when :Time
414
+ Time.parse(value)
415
+ when :Date
416
+ Date.parse(value)
417
+ when :String
418
+ value.to_s
419
+ when :Integer
420
+ value.to_i
421
+ when :Float
422
+ value.to_f
423
+ when :Boolean
424
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
425
+ true
426
+ else
427
+ false
428
+ end
429
+ when :Object
430
+ # generic object (usually a Hash), return directly
431
+ value
432
+ when /\AArray<(?<inner_type>.+)>\z/
433
+ inner_type = Regexp.last_match[:inner_type]
434
+ value.map { |v| _deserialize(inner_type, v) }
435
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
436
+ k_type = Regexp.last_match[:k_type]
437
+ v_type = Regexp.last_match[:v_type]
438
+ {}.tap do |hash|
439
+ value.each do |k, v|
440
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
441
+ end
442
+ end
443
+ else # model
444
+ # models (e.g. Pet) or oneOf
445
+ klass = XbimAim.const_get(type)
446
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
447
+ end
448
+ end
449
+
450
+ # Returns the string representation of the object
451
+ # @return [String] String presentation of the object
452
+ def to_s
453
+ to_hash.to_s
454
+ end
455
+
456
+ # to_body is an alias to to_hash (backward compatibility)
457
+ # @return [Hash] Returns the object in the form of hash
458
+ def to_body
459
+ to_hash
460
+ end
461
+
462
+ # Returns the object in the form of hash
463
+ # @return [Hash] Returns the object in the form of hash
464
+ def to_hash
465
+ hash = {}
466
+ self.class.attribute_map.each_pair do |attr, param|
467
+ value = self.send(attr)
468
+ if value.nil?
469
+ is_nullable = self.class.openapi_nullable.include?(attr)
470
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
471
+ end
472
+
473
+ hash[param] = _to_hash(value)
474
+ end
475
+ hash
476
+ end
477
+
478
+ # Outputs non-array value in the form of hash
479
+ # For object, use to_hash. Otherwise, just return the value
480
+ # @param [Object] value Any valid value
481
+ # @return [Hash] Returns the value in the form of hash
482
+ def _to_hash(value)
483
+ if value.is_a?(Array)
484
+ value.compact.map { |v| _to_hash(v) }
485
+ elsif value.is_a?(Hash)
486
+ {}.tap do |hash|
487
+ value.each { |k, v| hash[k] = _to_hash(v) }
488
+ end
489
+ elsif value.respond_to? :to_hash
490
+ value.to_hash
491
+ else
492
+ value
493
+ end
494
+ end
495
+
496
+ end
497
+
498
+ end