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