ZOHOCRMSDK2_0 1.0.0 → 5.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (372) hide show
  1. checksums.yaml +4 -4
  2. data/src/ZOHOCRMSDK2_0.rb +6 -0
  3. data/src/com/zoho/api/authenticator/oauth_token.rb +202 -134
  4. data/src/com/zoho/api/authenticator/store/db_store.rb +141 -97
  5. data/src/com/zoho/api/authenticator/store/file_store.rb +178 -105
  6. data/src/com/zoho/api/authenticator/store/token_store.rb +30 -21
  7. data/src/com/zoho/api/authenticator/token.rb +10 -8
  8. data/src/com/zoho/api/logger/sdk_logger.rb +63 -51
  9. data/src/com/zoho/crm/api/attachments/action_handler.rb +7 -5
  10. data/src/com/zoho/crm/api/attachments/action_response.rb +7 -5
  11. data/src/com/zoho/crm/api/attachments/action_wrapper.rb +48 -46
  12. data/src/com/zoho/crm/api/attachments/api_exception.rb +95 -93
  13. data/src/com/zoho/crm/api/attachments/attachment.rb +271 -269
  14. data/src/com/zoho/crm/api/attachments/attachments_operations.rb +168 -166
  15. data/src/com/zoho/crm/api/attachments/file_body_wrapper.rb +48 -46
  16. data/src/com/zoho/crm/api/attachments/response_handler.rb +7 -5
  17. data/src/com/zoho/crm/api/attachments/response_wrapper.rb +63 -61
  18. data/src/com/zoho/crm/api/attachments/success_response.rb +91 -89
  19. data/src/com/zoho/crm/api/blue_print/action_response.rb +7 -5
  20. data/src/com/zoho/crm/api/blue_print/api_exception.rb +93 -91
  21. data/src/com/zoho/crm/api/blue_print/blue_print.rb +89 -87
  22. data/src/com/zoho/crm/api/blue_print/blue_print_operations.rb +56 -54
  23. data/src/com/zoho/crm/api/blue_print/body_wrapper.rb +47 -45
  24. data/src/com/zoho/crm/api/blue_print/next_transition.rb +61 -59
  25. data/src/com/zoho/crm/api/blue_print/process_info.rb +187 -185
  26. data/src/com/zoho/crm/api/blue_print/response_handler.rb +7 -5
  27. data/src/com/zoho/crm/api/blue_print/response_wrapper.rb +48 -46
  28. data/src/com/zoho/crm/api/blue_print/success_response.rb +91 -89
  29. data/src/com/zoho/crm/api/blue_print/transition.rb +187 -185
  30. data/src/com/zoho/crm/api/blue_print/validation_error.rb +61 -59
  31. data/src/com/zoho/crm/api/bulk_read/action_handler.rb +7 -5
  32. data/src/com/zoho/crm/api/bulk_read/action_response.rb +7 -5
  33. data/src/com/zoho/crm/api/bulk_read/action_wrapper.rb +63 -61
  34. data/src/com/zoho/crm/api/bulk_read/api_exception.rb +95 -93
  35. data/src/com/zoho/crm/api/bulk_read/bulk_read_operations.rb +61 -59
  36. data/src/com/zoho/crm/api/bulk_read/call_back.rb +61 -59
  37. data/src/com/zoho/crm/api/bulk_read/criteria.rb +101 -99
  38. data/src/com/zoho/crm/api/bulk_read/file_body_wrapper.rb +48 -46
  39. data/src/com/zoho/crm/api/bulk_read/job_detail.rb +145 -143
  40. data/src/com/zoho/crm/api/bulk_read/query.rb +103 -101
  41. data/src/com/zoho/crm/api/bulk_read/request_wrapper.rb +75 -73
  42. data/src/com/zoho/crm/api/bulk_read/response_handler.rb +7 -5
  43. data/src/com/zoho/crm/api/bulk_read/response_wrapper.rb +48 -46
  44. data/src/com/zoho/crm/api/bulk_read/result.rb +103 -101
  45. data/src/com/zoho/crm/api/bulk_read/success_response.rb +91 -89
  46. data/src/com/zoho/crm/api/bulk_write/action_response.rb +7 -5
  47. data/src/com/zoho/crm/api/bulk_write/api_exception.rb +179 -177
  48. data/src/com/zoho/crm/api/bulk_write/bulk_write_operations.rb +93 -91
  49. data/src/com/zoho/crm/api/bulk_write/bulk_write_response.rb +161 -159
  50. data/src/com/zoho/crm/api/bulk_write/call_back.rb +61 -59
  51. data/src/com/zoho/crm/api/bulk_write/field_mapping.rb +117 -115
  52. data/src/com/zoho/crm/api/bulk_write/file.rb +117 -115
  53. data/src/com/zoho/crm/api/bulk_write/file_body_wrapper.rb +48 -46
  54. data/src/com/zoho/crm/api/bulk_write/request_wrapper.rb +89 -87
  55. data/src/com/zoho/crm/api/bulk_write/resource.rb +145 -143
  56. data/src/com/zoho/crm/api/bulk_write/response_handler.rb +7 -5
  57. data/src/com/zoho/crm/api/bulk_write/response_wrapper.rb +7 -5
  58. data/src/com/zoho/crm/api/bulk_write/result.rb +47 -45
  59. data/src/com/zoho/crm/api/bulk_write/success_response.rb +91 -89
  60. data/src/com/zoho/crm/api/contact_roles/action_handler.rb +7 -5
  61. data/src/com/zoho/crm/api/contact_roles/action_response.rb +7 -5
  62. data/src/com/zoho/crm/api/contact_roles/action_wrapper.rb +48 -46
  63. data/src/com/zoho/crm/api/contact_roles/api_exception.rb +99 -93
  64. data/src/com/zoho/crm/api/contact_roles/body_wrapper.rb +47 -45
  65. data/src/com/zoho/crm/api/contact_roles/contact_role.rb +75 -73
  66. data/src/com/zoho/crm/api/contact_roles/contact_role_wrapper.rb +63 -0
  67. data/src/com/zoho/crm/api/contact_roles/contact_roles_operations.rb +254 -134
  68. data/src/com/zoho/crm/api/contact_roles/record_action_handler.rb +12 -0
  69. data/src/com/zoho/crm/api/contact_roles/record_action_wrapper.rb +65 -0
  70. data/src/com/zoho/crm/api/contact_roles/record_body_wrapper.rb +63 -0
  71. data/src/com/zoho/crm/api/contact_roles/record_response_handler.rb +12 -0
  72. data/src/com/zoho/crm/api/contact_roles/record_response_wrapper.rb +86 -0
  73. data/src/com/zoho/crm/api/contact_roles/response_handler.rb +7 -5
  74. data/src/com/zoho/crm/api/contact_roles/response_wrapper.rb +48 -46
  75. data/src/com/zoho/crm/api/contact_roles/success_response.rb +91 -89
  76. data/src/com/zoho/crm/api/currencies/action_handler.rb +7 -5
  77. data/src/com/zoho/crm/api/currencies/action_response.rb +7 -5
  78. data/src/com/zoho/crm/api/currencies/action_wrapper.rb +48 -46
  79. data/src/com/zoho/crm/api/currencies/api_exception.rb +97 -95
  80. data/src/com/zoho/crm/api/currencies/base_currency_action_handler.rb +7 -5
  81. data/src/com/zoho/crm/api/currencies/base_currency_action_wrapper.rb +48 -46
  82. data/src/com/zoho/crm/api/currencies/base_currency_wrapper.rb +47 -45
  83. data/src/com/zoho/crm/api/currencies/body_wrapper.rb +47 -45
  84. data/src/com/zoho/crm/api/currencies/currencies_operations.rb +136 -134
  85. data/src/com/zoho/crm/api/currencies/currency.rb +215 -213
  86. data/src/com/zoho/crm/api/currencies/format.rb +75 -73
  87. data/src/com/zoho/crm/api/currencies/response_handler.rb +7 -5
  88. data/src/com/zoho/crm/api/currencies/response_wrapper.rb +48 -46
  89. data/src/com/zoho/crm/api/currencies/success_response.rb +91 -89
  90. data/src/com/zoho/crm/api/custom_views/api_exception.rb +91 -89
  91. data/src/com/zoho/crm/api/custom_views/criteria.rb +101 -99
  92. data/src/com/zoho/crm/api/custom_views/custom_view.rb +243 -241
  93. data/src/com/zoho/crm/api/custom_views/custom_views_operations.rb +57 -55
  94. data/src/com/zoho/crm/api/custom_views/info.rb +117 -115
  95. data/src/com/zoho/crm/api/custom_views/range.rb +61 -59
  96. data/src/com/zoho/crm/api/custom_views/response_handler.rb +7 -5
  97. data/src/com/zoho/crm/api/custom_views/response_wrapper.rb +63 -61
  98. data/src/com/zoho/crm/api/custom_views/shared_details.rb +89 -87
  99. data/src/com/zoho/crm/api/custom_views/translation.rb +89 -87
  100. data/src/com/zoho/crm/api/dc/au_datacenter.rb +16 -13
  101. data/src/com/zoho/crm/api/dc/cn_datacenter.rb +16 -13
  102. data/src/com/zoho/crm/api/dc/datacenter.rb +18 -15
  103. data/src/com/zoho/crm/api/dc/eu_datacenter.rb +16 -13
  104. data/src/com/zoho/crm/api/dc/in_datacenter.rb +16 -13
  105. data/src/com/zoho/crm/api/dc/us_datacenter.rb +16 -13
  106. data/src/com/zoho/crm/api/exception/sdk_exception.rb +40 -38
  107. data/src/com/zoho/crm/api/fields/api_exception.rb +91 -89
  108. data/src/com/zoho/crm/api/fields/association_details.rb +61 -59
  109. data/src/com/zoho/crm/api/fields/auto_number.rb +75 -73
  110. data/src/com/zoho/crm/api/fields/crypt.rb +117 -115
  111. data/src/com/zoho/crm/api/fields/currency.rb +61 -59
  112. data/src/com/zoho/crm/api/fields/field.rb +712 -710
  113. data/src/com/zoho/crm/api/fields/fields_operations.rb +54 -52
  114. data/src/com/zoho/crm/api/fields/formula.rb +61 -59
  115. data/src/com/zoho/crm/api/fields/lookup_field.rb +61 -59
  116. data/src/com/zoho/crm/api/fields/module.rb +117 -115
  117. data/src/com/zoho/crm/api/fields/multi_select_lookup.rb +117 -115
  118. data/src/com/zoho/crm/api/fields/pick_list_value.rb +131 -129
  119. data/src/com/zoho/crm/api/fields/private.rb +75 -73
  120. data/src/com/zoho/crm/api/fields/related_details.rb +103 -101
  121. data/src/com/zoho/crm/api/fields/response_handler.rb +7 -5
  122. data/src/com/zoho/crm/api/fields/response_wrapper.rb +48 -46
  123. data/src/com/zoho/crm/api/fields/tool_tip.rb +61 -59
  124. data/src/com/zoho/crm/api/fields/unique.rb +47 -45
  125. data/src/com/zoho/crm/api/fields/view_type.rb +89 -87
  126. data/src/com/zoho/crm/api/files/action_handler.rb +7 -5
  127. data/src/com/zoho/crm/api/files/action_response.rb +7 -5
  128. data/src/com/zoho/crm/api/files/action_wrapper.rb +48 -46
  129. data/src/com/zoho/crm/api/files/api_exception.rb +95 -93
  130. data/src/com/zoho/crm/api/files/body_wrapper.rb +46 -44
  131. data/src/com/zoho/crm/api/files/file_body_wrapper.rb +48 -46
  132. data/src/com/zoho/crm/api/files/file_operations.rb +58 -56
  133. data/src/com/zoho/crm/api/files/response_handler.rb +7 -5
  134. data/src/com/zoho/crm/api/files/success_response.rb +91 -89
  135. data/src/com/zoho/crm/api/header.rb +10 -8
  136. data/src/com/zoho/crm/api/header_map.rb +39 -37
  137. data/src/com/zoho/crm/api/initializer.rb +148 -108
  138. data/src/com/zoho/crm/api/layouts/api_exception.rb +91 -89
  139. data/src/com/zoho/crm/api/layouts/layout.rb +201 -199
  140. data/src/com/zoho/crm/api/layouts/layouts_operations.rb +47 -45
  141. data/src/com/zoho/crm/api/layouts/properties.rb +75 -73
  142. data/src/com/zoho/crm/api/layouts/response_handler.rb +7 -5
  143. data/src/com/zoho/crm/api/layouts/response_wrapper.rb +48 -46
  144. data/src/com/zoho/crm/api/layouts/section.rb +173 -171
  145. data/src/com/zoho/crm/api/modules/action_handler.rb +7 -5
  146. data/src/com/zoho/crm/api/modules/action_response.rb +7 -5
  147. data/src/com/zoho/crm/api/modules/action_wrapper.rb +48 -46
  148. data/src/com/zoho/crm/api/modules/api_exception.rb +95 -93
  149. data/src/com/zoho/crm/api/modules/argument.rb +61 -59
  150. data/src/com/zoho/crm/api/modules/body_wrapper.rb +47 -45
  151. data/src/com/zoho/crm/api/modules/module.rb +652 -650
  152. data/src/com/zoho/crm/api/modules/modules_operations.rb +92 -90
  153. data/src/com/zoho/crm/api/modules/related_list_properties.rb +75 -73
  154. data/src/com/zoho/crm/api/modules/response_handler.rb +7 -5
  155. data/src/com/zoho/crm/api/modules/response_wrapper.rb +48 -46
  156. data/src/com/zoho/crm/api/modules/success_response.rb +91 -89
  157. data/src/com/zoho/crm/api/modules/territory.rb +75 -73
  158. data/src/com/zoho/crm/api/notes/action_handler.rb +7 -5
  159. data/src/com/zoho/crm/api/notes/action_response.rb +7 -5
  160. data/src/com/zoho/crm/api/notes/action_wrapper.rb +48 -46
  161. data/src/com/zoho/crm/api/notes/api_exception.rb +95 -93
  162. data/src/com/zoho/crm/api/notes/body_wrapper.rb +47 -45
  163. data/src/com/zoho/crm/api/notes/info.rb +89 -87
  164. data/src/com/zoho/crm/api/notes/note.rb +257 -255
  165. data/src/com/zoho/crm/api/notes/notes_operations.rb +184 -182
  166. data/src/com/zoho/crm/api/notes/response_handler.rb +7 -5
  167. data/src/com/zoho/crm/api/notes/response_wrapper.rb +63 -61
  168. data/src/com/zoho/crm/api/notes/success_response.rb +91 -89
  169. data/src/com/zoho/crm/api/notification/action_handler.rb +7 -5
  170. data/src/com/zoho/crm/api/notification/action_response.rb +7 -5
  171. data/src/com/zoho/crm/api/notification/action_wrapper.rb +48 -46
  172. data/src/com/zoho/crm/api/notification/api_exception.rb +95 -93
  173. data/src/com/zoho/crm/api/notification/body_wrapper.rb +47 -45
  174. data/src/com/zoho/crm/api/notification/info.rb +89 -87
  175. data/src/com/zoho/crm/api/notification/notification.rb +187 -185
  176. data/src/com/zoho/crm/api/notification/notification_operations.rb +139 -137
  177. data/src/com/zoho/crm/api/notification/response_handler.rb +7 -5
  178. data/src/com/zoho/crm/api/notification/response_wrapper.rb +63 -61
  179. data/src/com/zoho/crm/api/notification/success_response.rb +91 -89
  180. data/src/com/zoho/crm/api/org/action_response.rb +7 -5
  181. data/src/com/zoho/crm/api/org/api_exception.rb +93 -91
  182. data/src/com/zoho/crm/api/org/file_body_wrapper.rb +46 -44
  183. data/src/com/zoho/crm/api/org/license_details.rb +117 -115
  184. data/src/com/zoho/crm/api/org/org.rb +467 -465
  185. data/src/com/zoho/crm/api/org/org_operations.rb +39 -37
  186. data/src/com/zoho/crm/api/org/response_handler.rb +7 -5
  187. data/src/com/zoho/crm/api/org/response_wrapper.rb +48 -46
  188. data/src/com/zoho/crm/api/org/success_response.rb +91 -89
  189. data/src/com/zoho/crm/api/param.rb +10 -8
  190. data/src/com/zoho/crm/api/parameter_map.rb +39 -37
  191. data/src/com/zoho/crm/api/profiles/api_exception.rb +91 -89
  192. data/src/com/zoho/crm/api/profiles/category.rb +75 -73
  193. data/src/com/zoho/crm/api/profiles/permission_detail.rb +103 -101
  194. data/src/com/zoho/crm/api/profiles/profile.rb +215 -213
  195. data/src/com/zoho/crm/api/profiles/profiles_operations.rb +47 -45
  196. data/src/com/zoho/crm/api/profiles/response_handler.rb +7 -5
  197. data/src/com/zoho/crm/api/profiles/response_wrapper.rb +48 -46
  198. data/src/com/zoho/crm/api/profiles/section.rb +61 -59
  199. data/src/com/zoho/crm/api/query/api_exception.rb +91 -89
  200. data/src/com/zoho/crm/api/query/body_wrapper.rb +47 -45
  201. data/src/com/zoho/crm/api/query/query_operations.rb +26 -24
  202. data/src/com/zoho/crm/api/query/response_handler.rb +7 -5
  203. data/src/com/zoho/crm/api/query/response_wrapper.rb +63 -61
  204. data/src/com/zoho/crm/api/record/action_handler.rb +7 -5
  205. data/src/com/zoho/crm/api/record/action_response.rb +7 -5
  206. data/src/com/zoho/crm/api/record/action_wrapper.rb +48 -46
  207. data/src/com/zoho/crm/api/record/api_exception.rb +113 -111
  208. data/src/com/zoho/crm/api/record/body_wrapper.rb +117 -115
  209. data/src/com/zoho/crm/api/record/carry_over_tags.rb +75 -73
  210. data/src/com/zoho/crm/api/record/comment.rb +89 -87
  211. data/src/com/zoho/crm/api/record/consent.rb +130 -128
  212. data/src/com/zoho/crm/api/record/convert_action_handler.rb +7 -5
  213. data/src/com/zoho/crm/api/record/convert_action_response.rb +7 -5
  214. data/src/com/zoho/crm/api/record/convert_action_wrapper.rb +48 -46
  215. data/src/com/zoho/crm/api/record/convert_body_wrapper.rb +47 -45
  216. data/src/com/zoho/crm/api/record/criteria.rb +101 -99
  217. data/src/com/zoho/crm/api/record/deleted_record.rb +117 -115
  218. data/src/com/zoho/crm/api/record/deleted_records_handler.rb +7 -5
  219. data/src/com/zoho/crm/api/record/deleted_records_wrapper.rb +63 -61
  220. data/src/com/zoho/crm/api/record/download_handler.rb +7 -5
  221. data/src/com/zoho/crm/api/record/field.rb +2055 -2053
  222. data/src/com/zoho/crm/api/record/file_body_wrapper.rb +50 -48
  223. data/src/com/zoho/crm/api/record/file_details.rb +243 -241
  224. data/src/com/zoho/crm/api/record/file_handler.rb +7 -5
  225. data/src/com/zoho/crm/api/record/info.rb +89 -87
  226. data/src/com/zoho/crm/api/record/inventory_line_items.rb +166 -164
  227. data/src/com/zoho/crm/api/record/lead_converter.rb +145 -143
  228. data/src/com/zoho/crm/api/record/line_item_product.rb +45 -43
  229. data/src/com/zoho/crm/api/record/line_tax.rb +89 -87
  230. data/src/com/zoho/crm/api/record/mass_update.rb +105 -103
  231. data/src/com/zoho/crm/api/record/mass_update_action_handler.rb +7 -5
  232. data/src/com/zoho/crm/api/record/mass_update_action_response.rb +7 -5
  233. data/src/com/zoho/crm/api/record/mass_update_action_wrapper.rb +48 -46
  234. data/src/com/zoho/crm/api/record/mass_update_body_wrapper.rb +117 -115
  235. data/src/com/zoho/crm/api/record/mass_update_response.rb +7 -5
  236. data/src/com/zoho/crm/api/record/mass_update_response_handler.rb +7 -5
  237. data/src/com/zoho/crm/api/record/mass_update_response_wrapper.rb +48 -46
  238. data/src/com/zoho/crm/api/record/mass_update_success_response.rb +91 -89
  239. data/src/com/zoho/crm/api/record/options.rb +7 -5
  240. data/src/com/zoho/crm/api/record/participants.rb +82 -80
  241. data/src/com/zoho/crm/api/record/pricing_details.rb +45 -43
  242. data/src/com/zoho/crm/api/record/record.rb +139 -137
  243. data/src/com/zoho/crm/api/record/record_operations.rb +947 -742
  244. data/src/com/zoho/crm/api/record/recurring_activity.rb +47 -45
  245. data/src/com/zoho/crm/api/record/remind_at.rb +47 -45
  246. data/src/com/zoho/crm/api/record/reminder.rb +61 -59
  247. data/src/com/zoho/crm/api/record/response_handler.rb +7 -5
  248. data/src/com/zoho/crm/api/record/response_wrapper.rb +63 -61
  249. data/src/com/zoho/crm/api/record/success_response.rb +121 -119
  250. data/src/com/zoho/crm/api/record/successful_convert.rb +77 -75
  251. data/src/com/zoho/crm/api/record/territory.rb +61 -59
  252. data/src/com/zoho/crm/api/related_lists/api_exception.rb +91 -89
  253. data/src/com/zoho/crm/api/related_lists/related_list.rb +187 -185
  254. data/src/com/zoho/crm/api/related_lists/related_lists_operations.rb +47 -45
  255. data/src/com/zoho/crm/api/related_lists/response_handler.rb +7 -5
  256. data/src/com/zoho/crm/api/related_lists/response_wrapper.rb +48 -46
  257. data/src/com/zoho/crm/api/related_records/action_handler.rb +7 -5
  258. data/src/com/zoho/crm/api/related_records/action_response.rb +7 -5
  259. data/src/com/zoho/crm/api/related_records/action_wrapper.rb +48 -46
  260. data/src/com/zoho/crm/api/related_records/api_exception.rb +95 -93
  261. data/src/com/zoho/crm/api/related_records/body_wrapper.rb +46 -44
  262. data/src/com/zoho/crm/api/related_records/file_body_wrapper.rb +48 -46
  263. data/src/com/zoho/crm/api/related_records/related_records_operations.rb +476 -215
  264. data/src/com/zoho/crm/api/related_records/response_handler.rb +7 -5
  265. data/src/com/zoho/crm/api/related_records/response_wrapper.rb +63 -61
  266. data/src/com/zoho/crm/api/related_records/success_response.rb +91 -89
  267. data/src/com/zoho/crm/api/request_proxy.rb +12 -11
  268. data/src/com/zoho/crm/api/roles/api_exception.rb +91 -89
  269. data/src/com/zoho/crm/api/roles/response_handler.rb +7 -5
  270. data/src/com/zoho/crm/api/roles/response_wrapper.rb +48 -46
  271. data/src/com/zoho/crm/api/roles/role.rb +145 -143
  272. data/src/com/zoho/crm/api/roles/roles_operations.rb +37 -35
  273. data/src/com/zoho/crm/api/sdk_config.rb +5 -68
  274. data/src/com/zoho/crm/api/share_records/action_handler.rb +7 -5
  275. data/src/com/zoho/crm/api/share_records/action_response.rb +7 -5
  276. data/src/com/zoho/crm/api/share_records/action_wrapper.rb +48 -46
  277. data/src/com/zoho/crm/api/share_records/api_exception.rb +99 -97
  278. data/src/com/zoho/crm/api/share_records/body_wrapper.rb +47 -45
  279. data/src/com/zoho/crm/api/share_records/delete_action_handler.rb +7 -5
  280. data/src/com/zoho/crm/api/share_records/delete_action_response.rb +7 -5
  281. data/src/com/zoho/crm/api/share_records/delete_action_wrapper.rb +48 -46
  282. data/src/com/zoho/crm/api/share_records/response_handler.rb +7 -5
  283. data/src/com/zoho/crm/api/share_records/response_wrapper.rb +63 -61
  284. data/src/com/zoho/crm/api/share_records/share_record.rb +117 -115
  285. data/src/com/zoho/crm/api/share_records/share_records_operations.rb +109 -107
  286. data/src/com/zoho/crm/api/share_records/shared_through.rb +75 -73
  287. data/src/com/zoho/crm/api/share_records/success_response.rb +93 -91
  288. data/src/com/zoho/crm/api/tags/action_handler.rb +7 -5
  289. data/src/com/zoho/crm/api/tags/action_response.rb +7 -5
  290. data/src/com/zoho/crm/api/tags/action_wrapper.rb +48 -46
  291. data/src/com/zoho/crm/api/tags/api_exception.rb +101 -99
  292. data/src/com/zoho/crm/api/tags/body_wrapper.rb +47 -45
  293. data/src/com/zoho/crm/api/tags/conflict_wrapper.rb +47 -45
  294. data/src/com/zoho/crm/api/tags/count_handler.rb +7 -5
  295. data/src/com/zoho/crm/api/tags/count_wrapper.rb +48 -46
  296. data/src/com/zoho/crm/api/tags/info.rb +61 -59
  297. data/src/com/zoho/crm/api/tags/merge_wrapper.rb +47 -45
  298. data/src/com/zoho/crm/api/tags/record_action_handler.rb +7 -5
  299. data/src/com/zoho/crm/api/tags/record_action_response.rb +7 -5
  300. data/src/com/zoho/crm/api/tags/record_action_wrapper.rb +91 -89
  301. data/src/com/zoho/crm/api/tags/response_handler.rb +7 -5
  302. data/src/com/zoho/crm/api/tags/response_wrapper.rb +63 -61
  303. data/src/com/zoho/crm/api/tags/success_response.rb +93 -91
  304. data/src/com/zoho/crm/api/tags/tag.rb +117 -115
  305. data/src/com/zoho/crm/api/tags/tags_operations.rb +338 -336
  306. data/src/com/zoho/crm/api/taxes/action_handler.rb +7 -5
  307. data/src/com/zoho/crm/api/taxes/action_response.rb +7 -5
  308. data/src/com/zoho/crm/api/taxes/action_wrapper.rb +48 -46
  309. data/src/com/zoho/crm/api/taxes/api_exception.rb +95 -93
  310. data/src/com/zoho/crm/api/taxes/body_wrapper.rb +47 -45
  311. data/src/com/zoho/crm/api/taxes/preference.rb +61 -59
  312. data/src/com/zoho/crm/api/taxes/response_handler.rb +7 -5
  313. data/src/com/zoho/crm/api/taxes/response_wrapper.rb +63 -61
  314. data/src/com/zoho/crm/api/taxes/success_response.rb +91 -89
  315. data/src/com/zoho/crm/api/taxes/tax.rb +103 -101
  316. data/src/com/zoho/crm/api/taxes/taxes_operations.rb +114 -112
  317. data/src/com/zoho/crm/api/territories/api_exception.rb +91 -89
  318. data/src/com/zoho/crm/api/territories/response_handler.rb +7 -5
  319. data/src/com/zoho/crm/api/territories/response_wrapper.rb +48 -46
  320. data/src/com/zoho/crm/api/territories/territories_operations.rb +37 -35
  321. data/src/com/zoho/crm/api/territories/territory.rb +173 -171
  322. data/src/com/zoho/crm/api/user_signature.rb +19 -17
  323. data/src/com/zoho/crm/api/users/action_handler.rb +7 -5
  324. data/src/com/zoho/crm/api/users/action_response.rb +7 -5
  325. data/src/com/zoho/crm/api/users/action_wrapper.rb +48 -46
  326. data/src/com/zoho/crm/api/users/api_exception.rb +95 -93
  327. data/src/com/zoho/crm/api/users/body_wrapper.rb +47 -45
  328. data/src/com/zoho/crm/api/users/customize_info.rb +117 -115
  329. data/src/com/zoho/crm/api/users/info.rb +89 -87
  330. data/src/com/zoho/crm/api/users/request_wrapper.rb +47 -45
  331. data/src/com/zoho/crm/api/users/response_handler.rb +7 -5
  332. data/src/com/zoho/crm/api/users/response_wrapper.rb +63 -61
  333. data/src/com/zoho/crm/api/users/shift.rb +61 -59
  334. data/src/com/zoho/crm/api/users/success_response.rb +91 -89
  335. data/src/com/zoho/crm/api/users/tab_theme.rb +61 -59
  336. data/src/com/zoho/crm/api/users/territory.rb +75 -73
  337. data/src/com/zoho/crm/api/users/theme.rb +117 -115
  338. data/src/com/zoho/crm/api/users/user.rb +489 -487
  339. data/src/com/zoho/crm/api/users/users_operations.rb +152 -150
  340. data/src/com/zoho/crm/api/util/api_http_connector.rb +85 -83
  341. data/src/com/zoho/crm/api/util/api_response.rb +16 -14
  342. data/src/com/zoho/crm/api/util/choice.rb +8 -6
  343. data/src/com/zoho/crm/api/util/common_api_handler.rb +162 -157
  344. data/src/com/zoho/crm/api/util/constants.rb +382 -276
  345. data/src/com/zoho/crm/api/util/converter.rb +169 -150
  346. data/src/com/zoho/crm/api/util/data_type_converter.rb +129 -121
  347. data/src/com/zoho/crm/api/util/downloader.rb +60 -57
  348. data/src/com/zoho/crm/api/util/form_data_converter.rb +116 -125
  349. data/src/com/zoho/crm/api/util/header_param_validator.rb +47 -45
  350. data/src/com/zoho/crm/api/util/json_converter.rb +537 -534
  351. data/src/com/zoho/crm/api/util/model.rb +6 -4
  352. data/src/com/zoho/crm/api/util/module_fields_handler.rb +61 -59
  353. data/src/com/zoho/crm/api/util/stream_wrapper.rb +27 -25
  354. data/src/com/zoho/crm/api/util/utility.rb +697 -570
  355. data/src/com/zoho/crm/api/variable_groups/api_exception.rb +91 -89
  356. data/src/com/zoho/crm/api/variable_groups/response_handler.rb +7 -5
  357. data/src/com/zoho/crm/api/variable_groups/response_wrapper.rb +48 -46
  358. data/src/com/zoho/crm/api/variable_groups/variable_group.rb +103 -101
  359. data/src/com/zoho/crm/api/variable_groups/variable_groups_operations.rb +54 -52
  360. data/src/com/zoho/crm/api/variables/action_handler.rb +7 -5
  361. data/src/com/zoho/crm/api/variables/action_response.rb +7 -5
  362. data/src/com/zoho/crm/api/variables/action_wrapper.rb +48 -46
  363. data/src/com/zoho/crm/api/variables/api_exception.rb +95 -93
  364. data/src/com/zoho/crm/api/variables/body_wrapper.rb +47 -45
  365. data/src/com/zoho/crm/api/variables/response_handler.rb +7 -5
  366. data/src/com/zoho/crm/api/variables/response_wrapper.rb +48 -46
  367. data/src/com/zoho/crm/api/variables/success_response.rb +91 -89
  368. data/src/com/zoho/crm/api/variables/variable.rb +129 -127
  369. data/src/com/zoho/crm/api/variables/variables_operations.rb +231 -229
  370. data/src/resources/JSONDetails.json +1 -1
  371. data/src/version.rb +3 -3
  372. metadata +10 -4
@@ -1,268 +1,277 @@
1
1
  require 'json'
2
2
  require_relative 'converter'
3
3
  require_relative 'constants'
4
- module Util
5
- class JSONConverter < Converter
6
- attr_accessor :unique_hash
7
4
 
8
- def initialize(common_api_handler)
9
- @unique_hash = {}
10
- super(common_api_handler)
11
- end
5
+ module ZOHOCRMSDK
6
+ module Util
7
+ class JSONConverter < Converter
8
+ attr_accessor :unique_hash
12
9
 
13
- def append_to_request(request_base, request_object)
14
- request_object = request_object.to_json
15
- request_base.body = request_object.to_s
16
- end
10
+ def initialize(common_api_handler)
11
+ @unique_hash = {}
12
+ super(common_api_handler)
13
+ end
14
+
15
+ def append_to_request(request_base, request_object)
16
+ request_object = request_object.to_json
17
+ request_base.body = request_object.to_s
18
+ end
17
19
 
18
- def form_request(request_instance, pack, instance_number, member_json_details = nil)
19
- require_relative '../initializer'
20
+ def form_request(request_instance, pack, instance_number, member_json_details = nil)
21
+ require_relative '../initializer'
20
22
 
21
- package_name = Utility.path_to_package(pack)
22
- class_detail = Initializer.json_details[package_name]
23
+ package_name = Utility.path_to_package(pack)
24
+ class_detail = Initializer.json_details[package_name]
23
25
 
24
- if class_detail.key?(Constants::INTERFACE) && !class_detail[Constants::INTERFACE].nil?
25
- request_object_class_name = request_instance.class.name
26
- request_object_class_name = Utility.path_to_package(request_object_class_name)
27
- classes = class_detail[Constants::CLASSES]
26
+ if class_detail.key?(Constants::INTERFACE) && !class_detail[Constants::INTERFACE].nil?
27
+ request_object_class_name = request_instance.class.name
28
+ request_object_class_name = Utility.path_to_package(request_object_class_name)
29
+ classes = class_detail[Constants::CLASSES]
28
30
 
29
- classes.each do |class_name|
30
- class_name_lower = class_name.to_s.downcase
31
- request_class_path_lower = request_object_class_name.downcase
31
+ classes.each do |class_name|
32
+ class_name_lower = class_name.to_s.downcase
33
+ request_class_path_lower = request_object_class_name.downcase
32
34
 
33
- if class_name_lower.downcase == request_class_path_lower.downcase
34
- class_detail = Initializer.json_details[class_name.to_s]
35
- break
35
+ if class_name_lower.downcase == request_class_path_lower.downcase
36
+ class_detail = Initializer.json_details[class_name.to_s]
37
+ break
38
+ end
36
39
  end
37
40
  end
38
- end
39
41
 
40
- require_relative '../record/record'
42
+ require_relative '../record/record'
41
43
 
42
- if request_instance.is_a? Record::Record
43
- module_api_name = @common_api_handler.module_api_name
44
- return_json = is_record_request(request_instance, class_detail, instance_number, member_json_details)
45
- @common_api_handler.module_api_name = module_api_name
46
- return_json
47
- else
48
- is_not_record_request(request_instance, class_detail, instance_number, member_json_details)
44
+ if request_instance.is_a? Record::Record
45
+ module_api_name = @common_api_handler.module_api_name
46
+ return_json = is_record_request(request_instance, class_detail, instance_number, member_json_details)
47
+ @common_api_handler.module_api_name = module_api_name
48
+ return_json
49
+ else
50
+ is_not_record_request(request_instance, class_detail, instance_number, member_json_details)
51
+ end
49
52
  end
50
- end
51
53
 
52
- def is_not_record_request(request_instance, class_detail, instance_number, class_member_details = nil)
53
- lookup = false
54
- skip_mandatory = false
55
- class_member_name = nil
56
- unless class_member_details.nil?
57
- lookup = (class_member_details.key? Constants::LOOKUP) ? class_member_details[Constants::LOOKUP] : false
58
- skip_mandatory = (class_member_details.key? Constants::SKIP_MANDATORY) ? class_member_details[Constants::SKIP_MANDATORY] : false
59
- class_member_name = build_name(class_member_details[Constants::NAME])
60
- end
54
+ def is_not_record_request(request_instance, class_detail, instance_number, class_member_details = nil)
55
+ lookup = false
56
+ skip_mandatory = false
57
+ class_member_name = nil
58
+ unless class_member_details.nil?
59
+ lookup = (class_member_details.key? Constants::LOOKUP) ? class_member_details[Constants::LOOKUP] : false
60
+ skip_mandatory = (class_member_details.key? Constants::SKIP_MANDATORY) ? class_member_details[Constants::SKIP_MANDATORY] : false
61
+ class_member_name = build_name(class_member_details[Constants::NAME])
62
+ end
61
63
 
62
- request_json = {}
63
- required_keys = {}
64
- primary_keys = {}
65
- required_in_update_keys = {}
64
+ request_json = {}
65
+ required_keys = {}
66
+ primary_keys = {}
67
+ required_in_update_keys = {}
66
68
 
67
- class_detail.each_key do |member_name|
68
- member_detail = class_detail[member_name]
69
+ class_detail.each_key do |member_name|
70
+ member_detail = class_detail[member_name]
69
71
 
70
- if (member_detail.key?(Constants::READ_ONLY) && member_detail[Constants::READ_ONLY]) || (!member_detail.key? Constants::NAME)
71
- next
72
- end
72
+ if (member_detail.key?(Constants::READ_ONLY) && member_detail[Constants::READ_ONLY]) || (!member_detail.key? Constants::NAME)
73
+ next
74
+ end
73
75
 
74
- key_name = member_detail[Constants::NAME]
75
- begin
76
- modified = request_instance.public_send(Constants::IS_KEY_MODIFIED, key_name)
77
- rescue StandardError => e
78
- raise SDKException.new(nil, Constants::EXCEPTION_IS_KEY_MODIFIED, nil, e)
79
- end
80
-
81
- if member_detail.key?(Constants::REQUIRED) && member_detail[Constants::REQUIRED]
82
- required_keys[key_name]=1
83
- end
76
+ key_name = member_detail[Constants::NAME]
77
+ begin
78
+ modified = request_instance.public_send(Constants::IS_KEY_MODIFIED, key_name)
79
+ rescue StandardError => e
80
+ raise SDKException.new(nil, Constants::EXCEPTION_IS_KEY_MODIFIED, nil, e)
81
+ end
82
+
83
+ if member_detail.key?(Constants::REQUIRED) && member_detail[Constants::REQUIRED]
84
+ required_keys[key_name]=1
85
+ end
84
86
 
85
- if member_detail.key?(Constants::REQUIRED_IN_UPDATE) && member_detail[Constants::REQUIRED_IN_UPDATE]
86
- required_in_update_keys[key_name]=1
87
- end
87
+ if member_detail.key?(Constants::REQUIRED_IN_UPDATE) && member_detail[Constants::REQUIRED_IN_UPDATE]
88
+ required_in_update_keys[key_name]=1
89
+ end
88
90
 
89
- if member_detail.key?(Constants::PRIMARY) && member_detail[Constants::PRIMARY] && (!member_detail.key?(Constants::REQUIRED_IN_UPDATE) || member_detail[Constants::REQUIRED])
90
- primary_keys[key_name]=1
91
- end
91
+ if member_detail.key?(Constants::PRIMARY) && member_detail[Constants::PRIMARY] && (!member_detail.key?(Constants::REQUIRED_IN_UPDATE) || member_detail[Constants::REQUIRED])
92
+ primary_keys[key_name]=1
93
+ end
92
94
 
93
- if !modified.nil? && (modified != 0)
94
- field_value = request_instance.instance_variable_get(Constants::AT + member_name)
95
+ if !modified.nil? && (modified != 0)
96
+ field_value = request_instance.instance_variable_get(Constants::AT + member_name)
95
97
 
96
- if value_checker(request_instance.class.name, member_name, member_detail, field_value, @unique_hash, instance_number) == true
97
- require_relative '../record/file_details'
98
+ if value_checker(request_instance.class.name, member_name, member_detail, field_value, @unique_hash, instance_number) == true
99
+ require_relative '../record/file_details'
98
100
 
99
- unless field_value.nil?
100
- required_keys.delete(key_name)
101
+ unless field_value.nil?
102
+ required_keys.delete(key_name)
101
103
 
102
- primary_keys.delete(key_name)
104
+ primary_keys.delete(key_name)
103
105
 
104
- required_in_update_keys.delete(key_name)
105
- end
106
+ required_in_update_keys.delete(key_name)
107
+ end
106
108
 
107
- if request_instance.is_a? Record::FileDetails
108
- lower_case_key_name = key_name.downcase
109
-
110
-
111
- request_json[lower_case_key_name] = if field_value.nil?
112
- nil
113
- else
114
- field_value
115
- end
116
- else
117
- request_json[key_name] = set_data(member_detail, field_value)
109
+ if request_instance.is_a? Record::FileDetails
110
+ lower_case_key_name = key_name.downcase
111
+ if field_value.nil? || (field_value.is_a? (String) && field_value.downcase == "null")
112
+ request_json[lower_case_key_name] = nil
113
+ else
114
+ request_json[lower_case_key_name] = field_value
115
+ end
116
+ else
117
+ request_json[key_name] = set_data(member_detail, field_value)
118
+ end
118
119
  end
119
120
  end
120
121
  end
121
- end
122
-
123
- if skip_mandatory || check_exception(class_member_name, request_instance, instance_number, lookup, required_keys, primary_keys, required_in_update_keys)
124
- request_json
125
- end
126
- end
127
122
 
128
- def is_record_request(record_instance, class_detail, instance_number, class_member_details = nil)
129
- lookup = false
130
- skip_mandatory = false
131
- class_member_name = nil
132
- unless class_member_details.nil?
133
- lookup = (class_member_details.key? Constants::LOOKUP) ? class_member_details[Constants::LOOKUP] : false
134
- skip_mandatory = (class_member_details.key? Constants::SKIP_MANDATORY) ? class_member_details[Constants::SKIP_MANDATORY] : false
135
- class_member_name = (class_member_details.key? Constants::NAME) ? class_member_details[Constants::NAME] : nil
123
+ if skip_mandatory || check_exception(class_member_name, request_instance, instance_number, lookup, required_keys, primary_keys, required_in_update_keys)
124
+ request_json
125
+ end
136
126
  end
137
- request_json = {}
138
- module_detail = {}
139
- module_api_name = @common_api_handler.module_api_name
140
127
 
141
- if module_api_name.nil?
142
- module_detail = class_detail
143
- class_detail = Initializer.json_details[Constants::RECORD_NAMESPACE]
144
- else
128
+ def is_record_request(record_instance, class_detail, instance_number, class_member_details = nil)
129
+ lookup = false
130
+ skip_mandatory = false
131
+ class_member_name = nil
132
+ unless class_member_details.nil?
133
+ lookup = (class_member_details.key? Constants::LOOKUP) ? class_member_details[Constants::LOOKUP] : false
134
+ skip_mandatory = (class_member_details.key? Constants::SKIP_MANDATORY) ? class_member_details[Constants::SKIP_MANDATORY] : false
135
+ class_member_name = (class_member_details.key? Constants::NAME) ? class_member_details[Constants::NAME] : nil
136
+ end
137
+ request_json = {}
138
+ module_detail = {}
139
+ module_api_name = @common_api_handler.module_api_name
145
140
 
146
- @common_api_handler.module_api_name = nil
147
- full_detail = Utility.search_json_details(module_api_name)
141
+ if module_api_name.nil?
142
+ module_detail = class_detail
143
+ class_detail = Initializer.json_details[Constants::RECORD_NAMESPACE]
144
+ else
148
145
 
149
- module_detail = if full_detail.nil?
150
- get_module_detail_from_user_spec_json(module_api_name)
151
- else
152
- full_detail[Constants::MODULEDETAILS]
153
- end
154
- end
146
+ @common_api_handler.module_api_name = nil
147
+ full_detail = Utility.search_json_details(module_api_name)
155
148
 
156
- if record_instance.class.superclass == 'Record'
157
- end
149
+ module_detail = if full_detail.nil?
150
+ get_module_detail_from_user_spec_json(module_api_name)
151
+ else
152
+ full_detail[Constants::MODULEDETAILS]
153
+ end
154
+ end
158
155
 
159
- key_values = record_instance.instance_variable_get(Constants::AT + Constants::KEY_VALUES)
160
- key_modified = record_instance.instance_variable_get(Constants::AT + Constants::KEY_MODIFIED)
161
-
162
- required_keys = {}
163
- primary_keys = {}
164
- unless skip_mandatory
165
- module_detail.each_key do |key_name|
166
- key_detail = module_detail[key_name]
167
- name = key_detail[Constants::NAME]
168
- if key_detail.key?(Constants::REQUIRED) && key_detail[Constants::REQUIRED]
169
- required_keys[name]=1
170
- end
171
- if key_detail.key?(Constants::PRIMARY) && key_detail[Constants::PRIMARY]
172
- primary_keys[name]=1
173
- end
156
+ if record_instance.class.superclass == 'Record'
174
157
  end
175
- class_detail.each_key do |key_name|
176
- key_detail = class_detail[key_name]
177
- name = key_detail[Constants::NAME]
178
- if key_detail.key?(Constants::REQUIRED) && key_detail[Constants::REQUIRED]
179
- required_keys[name]=1
158
+
159
+ key_values = record_instance.instance_variable_get(Constants::AT + Constants::KEY_VALUES)
160
+ key_modified = record_instance.instance_variable_get(Constants::AT + Constants::KEY_MODIFIED)
161
+
162
+ required_keys = {}
163
+ primary_keys = {}
164
+ unless skip_mandatory
165
+ module_detail.each_key do |key_name|
166
+ key_detail = module_detail[key_name]
167
+ name = key_detail[Constants::NAME]
168
+ if key_detail.key?(Constants::REQUIRED) && key_detail[Constants::REQUIRED]
169
+ required_keys[name]=1
170
+ end
171
+ if key_detail.key?(Constants::PRIMARY) && key_detail[Constants::PRIMARY]
172
+ primary_keys[name]=1
173
+ end
180
174
  end
181
- if key_detail.key?(Constants::PRIMARY) && key_detail[Constants::PRIMARY]
182
- primary_keys[name]=1
175
+ class_detail.each_key do |key_name|
176
+ key_detail = class_detail[key_name]
177
+ name = key_detail[Constants::NAME]
178
+ if key_detail.key?(Constants::REQUIRED) && key_detail[Constants::REQUIRED]
179
+ required_keys[name]=1
180
+ end
181
+ if key_detail.key?(Constants::PRIMARY) && key_detail[Constants::PRIMARY]
182
+ primary_keys[name]=1
183
+ end
183
184
  end
184
185
  end
185
- end
186
-
187
- key_modified.each_key do |key_name|
188
- next if key_modified[key_name] != 1
189
186
 
190
- key_detail = {}
191
- key_value = key_values[key_name]
192
- json_value = nil
193
- member_name = build_name(key_name)
187
+ key_modified.each_key do |key_name|
188
+ next if key_modified[key_name] != 1
194
189
 
195
- if !module_detail.empty? && (module_detail.key?(member_name) || module_detail.key?(key_name))
190
+ key_detail = {}
191
+ key_value = key_values[key_name]
192
+ json_value = nil
193
+ member_name = build_name(key_name)
196
194
 
197
- key_detail = if module_detail.key? key_name
198
- module_detail[key_name]
199
- else
200
- module_detail[member_name]
201
- end
195
+ if !module_detail.empty? && (module_detail.key?(member_name) || module_detail.key?(key_name))
202
196
 
203
- elsif class_detail.key? member_name
204
- key_detail = class_detail[member_name]
205
- end
197
+ key_detail = if module_detail.key? key_name
198
+ module_detail[key_name]
199
+ else
200
+ module_detail[member_name]
201
+ end
206
202
 
207
- unless key_value.nil?
208
- required_keys.delete(key_name)
209
- primary_keys.delete(key_name)
210
- end
203
+ elsif class_detail.key? member_name
204
+ key_detail = class_detail[member_name]
205
+ end
211
206
 
212
- if !key_detail.empty?
213
- if (key_detail.key?(Constants::READ_ONLY) && key_detail[Constants::READ_ONLY]) || !(key_detail.key? Constants::NAME)
214
- next
207
+ unless key_value.nil?
208
+ required_keys.delete(key_name)
209
+ primary_keys.delete(key_name)
215
210
  end
216
211
 
217
- if value_checker(record_instance.class.name, member_name, key_detail, key_value, @unique_hash, instance_number) == true
212
+ if !key_detail.empty?
213
+ if (key_detail.key?(Constants::READ_ONLY) && key_detail[Constants::READ_ONLY]) || !(key_detail.key? Constants::NAME)
214
+ next
215
+ end
216
+
217
+ if value_checker(record_instance.class.name, member_name, key_detail, key_value, @unique_hash, instance_number) == true
218
218
 
219
- json_value = set_data(key_detail, key_value)
219
+ json_value = set_data(key_detail, key_value)
220
+ end
221
+ else
222
+ json_value = redirector_for_object_to_json(key_value)
220
223
  end
221
- else
222
- json_value = redirector_for_object_to_json(key_value)
223
- end
224
224
 
225
- request_json[key_name] = json_value
226
- end
227
- if skip_mandatory || check_exception(class_member_name, record_instance, instance_number, lookup, required_keys, primary_keys, [])
228
- request_json
225
+ request_json[key_name] = json_value
226
+ end
227
+ if skip_mandatory || check_exception(class_member_name, record_instance, instance_number, lookup, required_keys, primary_keys, [])
228
+ request_json
229
+ end
229
230
  end
230
- end
231
231
 
232
- def check_exception(class_member_name, request_instance, instance_number, lookup, required_keys, primary_keys, required_in_update_keys = [])
233
- if required_in_update_keys.size.positive? && (@common_api_handler.category_method.downcase == Constants::REQUEST_CATEGORY_UPDATE.downcase)
234
- error = {}
235
- error[Constants::ERROR_HASH_FIELD] = class_member_name
236
- error[Constants::TYPE] = request_instance.class.name
237
- error[Constants::KEYS] = required_in_update_keys.keys
238
- error[Constants::INSTANCE_NUMBER] = instance_number
239
- raise SDKException.new(Constants::MANDATORY_VALUE_ERROR, Constants::MANDATORY_KEY_ERROR, error, nil)
240
- end
232
+ def check_exception(class_member_name, request_instance, instance_number, lookup, required_keys, primary_keys, required_in_update_keys = [])
233
+ if required_in_update_keys.size.positive? && (@common_api_handler.category_method.downcase == Constants::REQUEST_CATEGORY_UPDATE.downcase)
234
+ error = {}
235
+ error[Constants::ERROR_HASH_FIELD] = class_member_name
236
+ error[Constants::TYPE] = request_instance.class.name
237
+ error[Constants::KEYS] = required_in_update_keys.keys
238
+ error[Constants::INSTANCE_NUMBER] = instance_number
239
+ raise SDKException.new(Constants::MANDATORY_VALUE_ERROR, Constants::MANDATORY_KEY_ERROR, error, nil)
240
+ end
241
241
 
242
- if !@common_api_handler.mandatory_checker.nil? && @common_api_handler.mandatory_checker
242
+ if !@common_api_handler.mandatory_checker.nil? && @common_api_handler.mandatory_checker
243
243
 
244
- if @common_api_handler.category_method.downcase == Constants::REQUEST_CATEGORY_CREATE.downcase
244
+ if @common_api_handler.category_method.downcase == Constants::REQUEST_CATEGORY_CREATE.downcase
245
245
 
246
- if lookup
247
- unless primary_keys.empty?
246
+ if lookup
247
+ unless primary_keys.empty?
248
+ error = {}
249
+ error[Constants::ERROR_HASH_FIELD] = class_member_name
250
+ error[Constants::TYPE] = request_instance.class.name
251
+ error[Constants::KEYS] = primary_keys.keys
252
+ error[Constants::INSTANCE_NUMBER] = instance_number
253
+ raise SDKException.new(Constants::MANDATORY_VALUE_ERROR, Constants::PRIMARY_KEY_ERROR, error, nil)
254
+ end
255
+ elsif !required_keys.empty?
248
256
  error = {}
249
257
  error[Constants::ERROR_HASH_FIELD] = class_member_name
250
258
  error[Constants::TYPE] = request_instance.class.name
251
- error[Constants::KEYS] = primary_keys.keys
259
+ error[Constants::KEYS] = required_keys.keys
252
260
  error[Constants::INSTANCE_NUMBER] = instance_number
253
- raise SDKException.new(Constants::MANDATORY_VALUE_ERROR, Constants::PRIMARY_KEY_ERROR, error, nil)
261
+ raise SDKException.new(Constants::MANDATORY_VALUE_ERROR, Constants::MANDATORY_KEY_ERROR, error, nil)
254
262
  end
255
- elsif !required_keys.empty?
263
+
264
+ elsif @common_api_handler.category_method.downcase == Constants::REQUEST_CATEGORY_UPDATE.downcase && !primary_keys.empty?
265
+
256
266
  error = {}
257
267
  error[Constants::ERROR_HASH_FIELD] = class_member_name
258
268
  error[Constants::TYPE] = request_instance.class.name
259
- error[Constants::KEYS] = required_keys.keys
269
+ error[Constants::KEYS] = primary_keys.keys
260
270
  error[Constants::INSTANCE_NUMBER] = instance_number
261
- raise SDKException.new(Constants::MANDATORY_VALUE_ERROR, Constants::MANDATORY_KEY_ERROR, error, nil)
271
+ raise SDKException.new(Constants::MANDATORY_VALUE_ERROR, Constants::PRIMARY_KEY_ERROR, error, nil)
262
272
  end
263
273
 
264
- elsif @common_api_handler.category_method.downcase == Constants::REQUEST_CATEGORY_UPDATE.downcase && !primary_keys.empty?
265
-
274
+ elsif lookup && (@common_api_handler.category_method.downcase == Constants::REQUEST_CATEGORY_UPDATE.downcase) && !primary_keys.empty?
266
275
  error = {}
267
276
  error[Constants::ERROR_HASH_FIELD] = class_member_name
268
277
  error[Constants::TYPE] = request_instance.class.name
@@ -270,457 +279,451 @@ module Util
270
279
  error[Constants::INSTANCE_NUMBER] = instance_number
271
280
  raise SDKException.new(Constants::MANDATORY_VALUE_ERROR, Constants::PRIMARY_KEY_ERROR, error, nil)
272
281
  end
273
-
274
- elsif lookup && (@common_api_handler.category_method.downcase == Constants::REQUEST_CATEGORY_UPDATE.downcase) && !primary_keys.empty?
275
- error = {}
276
- error[Constants::ERROR_HASH_FIELD] = class_member_name
277
- error[Constants::TYPE] = request_instance.class.name
278
- error[Constants::KEYS] = primary_keys.keys
279
- error[Constants::INSTANCE_NUMBER] = instance_number
280
- raise SDKException.new(Constants::MANDATORY_VALUE_ERROR, Constants::PRIMARY_KEY_ERROR, error, nil)
282
+ true
281
283
  end
282
- true
283
- end
284
284
 
285
- def set_data(member_detail, field_value)
286
- unless field_value.nil?
287
- type = member_detail[Constants::TYPE]
288
-
289
- if type.downcase == Constants::LIST_NAMESPACE.downcase
290
- return set_json_array(field_value, member_detail)
291
- elsif type.downcase == Constants::MAP_NAMESPACE.downcase
292
- return set_json_object(field_value, member_detail)
293
- elsif (type == Constants::CHOICE_NAMESPACE) || (member_detail.key?(Constants::STRUCTURE_NAME) && (member_detail[Constants::STRUCTURE_NAME] == Constants::CHOICE_NAMESPACE))
294
- return field_value.value
295
- elsif member_detail.key?(Constants::STRUCTURE_NAME) && member_detail.key?(Constants::MODULE)
296
- return is_record_request(field_value, get_module_detail_from_user_spec_json(member_detail[Constants::MODULE]), nil, member_detail)
297
- elsif member_detail.key? Constants::STRUCTURE_NAME
298
- return form_request(field_value, member_detail[Constants::STRUCTURE_NAME], nil, member_detail)
299
- else
300
- return DataTypeConverter.post_convert(field_value, type)
285
+ def set_data(member_detail, field_value)
286
+ unless field_value.nil?
287
+ type = member_detail[Constants::TYPE]
288
+
289
+ if type.downcase == Constants::LIST_NAMESPACE.downcase
290
+ return set_json_array(field_value, member_detail)
291
+ elsif type.downcase == Constants::MAP_NAMESPACE.downcase
292
+ return set_json_object(field_value, member_detail)
293
+ elsif (type == Constants::CHOICE_NAMESPACE) || (member_detail.key?(Constants::STRUCTURE_NAME) && (member_detail[Constants::STRUCTURE_NAME] == Constants::CHOICE_NAMESPACE))
294
+ return field_value.value
295
+ elsif member_detail.key?(Constants::STRUCTURE_NAME) && member_detail.key?(Constants::MODULE)
296
+ return is_record_request(field_value, get_module_detail_from_user_spec_json(member_detail[Constants::MODULE]), nil, member_detail)
297
+ elsif member_detail.key? Constants::STRUCTURE_NAME
298
+ return form_request(field_value, member_detail[Constants::STRUCTURE_NAME], nil, member_detail)
299
+ else
300
+ return DataTypeConverter.post_convert(field_value, type)
301
+ end
301
302
  end
302
- end
303
303
 
304
- nil
305
- end
304
+ nil
305
+ end
306
306
 
307
- def set_json_object(field_value, member_detail)
308
- json_object = {}
309
- request_object = field_value
307
+ def set_json_object(field_value, member_detail)
308
+ json_object = {}
309
+ request_object = field_value
310
310
 
311
- unless request_object.empty?
311
+ unless request_object.empty?
312
312
 
313
- if member_detail.nil? || (!member_detail.nil? && !member_detail.key?(Constants::KEYS))
313
+ if member_detail.nil? || (!member_detail.nil? && !member_detail.key?(Constants::KEYS))
314
314
 
315
- request_object.each_pair do |key, value|
316
- json_object[key] = redirector_for_object_to_json(value)
317
- end
318
- elsif member_detail.key? Constants::KEYS
315
+ request_object.each_pair do |key, value|
316
+ json_object[key] = redirector_for_object_to_json(value)
317
+ end
318
+ elsif member_detail.key? Constants::KEYS
319
319
 
320
- keys_detail = member_detail[Constants::KEYS]
320
+ keys_detail = member_detail[Constants::KEYS]
321
321
 
322
- keys_detail.each do |key_detail|
323
- key_value = nil
324
- key_name = key_detail[Constants::NAME]
322
+ keys_detail.each do |key_detail|
323
+ key_value = nil
324
+ key_name = key_detail[Constants::NAME]
325
325
 
326
- if request_object.key?(key_name) && !request_object[key_name].nil?
327
- key_value = set_data(key_detail, key_value)
328
- json_object[key_name] = key_value
326
+ if request_object.key?(key_name) && !request_object[key_name].nil?
327
+ key_value = set_data(key_detail, key_value)
328
+ json_object[key_name] = key_value
329
+ end
329
330
  end
330
- end
331
331
 
332
+ end
332
333
  end
333
- end
334
-
335
- json_object
336
- end
337
334
 
338
- def set_json_array(field_value, member_detail)
339
- json_array = []
340
- request_objects = field_value
335
+ json_object
336
+ end
341
337
 
342
- unless request_objects.empty?
338
+ def set_json_array(field_value, member_detail)
339
+ json_array = []
340
+ request_objects = field_value
343
341
 
344
- if member_detail.nil? || (!member_detail.nil? && !member_detail.key?(Constants::STRUCTURE_NAME))
342
+ unless request_objects.empty?
345
343
 
346
- request_objects.each do |request|
347
- json_array.push(redirector_for_object_to_json(request))
348
- end
349
- else
350
- pack = member_detail[Constants::STRUCTURE_NAME]
344
+ if member_detail.nil? || (!member_detail.nil? && !member_detail.key?(Constants::STRUCTURE_NAME))
351
345
 
352
- if pack.downcase == Constants::CHOICE_NAMESPACE.downcase
353
-
354
- request_objects.each do |request|
355
- json_array.push(request.value)
356
- end
357
- elsif member_detail.key?(Constants::MODULE) && !member_detail[Constants::MODULE].nil?
358
- instance_count = 0
359
346
  request_objects.each do |request|
360
- json_array.push(is_record_request(request, get_module_detail_from_user_spec_json(member_detail[Constants::MODULE]), instance_count, member_detail))
361
- instance_count += 1
347
+ json_array.push(redirector_for_object_to_json(request))
362
348
  end
363
349
  else
364
- instance_count = 0
350
+ pack = member_detail[Constants::STRUCTURE_NAME]
365
351
 
366
- request_objects.each do |request|
367
- json_array.push(form_request(request, pack, instance_count, member_detail))
368
- instance_count += 1
352
+ if pack.downcase == Constants::CHOICE_NAMESPACE.downcase
353
+
354
+ request_objects.each do |request|
355
+ json_array.push(request.value)
356
+ end
357
+ elsif member_detail.key?(Constants::MODULE) && !member_detail[Constants::MODULE].nil?
358
+ instance_count = 0
359
+ request_objects.each do |request|
360
+ json_array.push(is_record_request(request, get_module_detail_from_user_spec_json(member_detail[Constants::MODULE]), instance_count, member_detail))
361
+ instance_count += 1
362
+ end
363
+ else
364
+ instance_count = 0
365
+
366
+ request_objects.each do |request|
367
+ json_array.push(form_request(request, pack, instance_count, member_detail))
368
+ instance_count += 1
369
+ end
369
370
  end
370
371
  end
371
372
  end
373
+ json_array
372
374
  end
373
- json_array
374
- end
375
375
 
376
- def redirector_for_object_to_json(request)
377
- if request.is_a?(Hash)
378
- set_json_object(request, nil)
379
- elsif request.is_a?(Array)
380
- set_json_array(request, nil)
381
- else
382
- request
376
+ def redirector_for_object_to_json(request)
377
+ if request.is_a?(Hash)
378
+ set_json_object(request, nil)
379
+ elsif request.is_a?(Array)
380
+ set_json_array(request, nil)
381
+ else
382
+ request
383
+ end
383
384
  end
384
- end
385
385
 
386
- def get_wrapped_response(response, pack)
387
- response_json = JSON.parse(response.body)
388
- get_response(response_json, pack)
389
- rescue StandardError => e
390
- raise e
391
- end
386
+ def get_wrapped_response(response, pack)
387
+ if !response.body.nil? && !response.body.length.zero?
388
+ response_json = JSON.parse(response.body)
389
+ get_response(response_json, pack)
390
+ end
391
+ rescue StandardError => e
392
+ raise e
393
+ end
392
394
 
393
- def get_response(response_json, pack)
394
- require_relative '../initializer'
395
- response_string = response_json.to_s
395
+ def get_response(response_json, pack)
396
+ require_relative '../initializer'
397
+ response_string = response_json.to_s
396
398
 
397
- return nil if response_string.nil? || response_string.length.zero? || (response_string == 'null')
399
+ return nil if response_string.nil? || response_string.length.zero? || (response_string == 'null')
398
400
 
399
- unless pack.nil?
401
+ unless pack.nil?
400
402
 
401
- if pack.to_s.include? Constants::DOUBLE_COLON
402
- class_path_split = pack.to_s.split(Constants::DOUBLE_COLON)
403
- module_name = Utility.classname_to_filename(class_path_split[0])
404
- file_name = Utility.classname_to_filename(class_path_split[1])
405
- else
406
- class_path_split = pack.to_s.split(Constants::DOT)
407
- module_name = class_path_split[-2]
408
- file_name = Utility.classname_to_filename(class_path_split[-1])
403
+ if pack.to_s.include? Constants::DOUBLE_COLON
404
+ class_path_split = pack.to_s.split(Constants::DOUBLE_COLON)
405
+ module_name = Utility.classname_to_filename(class_path_split[1])
406
+ file_name = Utility.classname_to_filename(class_path_split[2])
407
+ else
408
+ class_path_split = pack.to_s.split(Constants::DOT)
409
+ module_name = class_path_split[-2]
410
+ file_name = Utility.classname_to_filename(class_path_split[-1])
411
+ end
409
412
  end
410
- end
411
413
 
412
- require_relative '../' + module_name + '/' + file_name
413
- pack = Utility.path_to_package(pack)
414
- class_detail = Initializer.json_details[pack.to_s]
414
+ require_relative '../' + module_name + '/' + file_name
415
+ pack = Utility.path_to_package(pack)
416
+ class_detail = Initializer.json_details[pack.to_s]
415
417
 
416
- if class_detail.key?(Constants::INTERFACE) && !class_detail[Constants::INTERFACE].nil?
417
- classes = class_detail[Constants::CLASSES]
418
- instance = find_match(classes, response_json)
419
- else
418
+ if class_detail.key?(Constants::INTERFACE) && !class_detail[Constants::INTERFACE].nil?
419
+ classes = class_detail[Constants::CLASSES]
420
+ instance = find_match(classes, response_json)
421
+ else
420
422
 
421
- instance = if pack.is_a? String
423
+ instance = if pack.is_a? String
422
424
 
423
- if pack.include? Constants::DOUBLE_COLON
424
- Object.const_get(pack).new
425
- else
426
- Object.const_get(Utility.class_to_load(pack)).new
427
- end
428
- else
429
- Object.const_get(Utility.class_to_load(pack.to_s)).new
430
- end
425
+ if pack.include? Constants::DOUBLE_COLON
426
+ Object.const_get(pack).new
427
+ else
428
+ Object.const_get(Utility.class_to_load(pack)).new
429
+ end
430
+ else
431
+ Object.const_get(Utility.class_to_load(pack.to_s)).new
432
+ end
431
433
 
432
- require_relative '../record/record'
434
+ require_relative '../record/record'
433
435
 
434
- if instance.is_a? Record::Record
435
- module_api_name = @common_api_handler.module_api_name
436
- instance = is_record_response(response_json, class_detail, pack)
437
- @common_api_handler.module_api_name = module_api_name
438
- else
439
- instance = not_record_response(instance, response_json, class_detail)
436
+ if instance.is_a? Record::Record
437
+ module_api_name = @common_api_handler.module_api_name
438
+ instance = is_record_response(response_json, class_detail, pack)
439
+ @common_api_handler.module_api_name = module_api_name
440
+ else
441
+ instance = not_record_response(instance, response_json, class_detail)
442
+ end
440
443
  end
441
- end
442
444
 
443
- instance
444
- end
445
+ instance
446
+ end
445
447
 
446
- def not_record_response(instance, response_json, class_detail)
447
- class_detail.each_key do |member_name|
448
- key_detail = class_detail[member_name]
449
- key_name = (key_detail[Constants::NAME] if key_detail.key? Constants::NAME)
448
+ def not_record_response(instance, response_json, class_detail)
449
+ class_detail.each_key do |member_name|
450
+ key_detail = class_detail[member_name]
451
+ key_name = (key_detail[Constants::NAME] if key_detail.key? Constants::NAME)
450
452
 
451
- if !key_name.nil? && response_json.key?(key_name) && !response_json[key_name].nil?
452
- key_data = response_json[key_name]
453
- member_value = get_data(key_data, key_detail)
454
- instance.instance_variable_set(Constants::AT + member_name, member_value)
453
+ if !key_name.nil? && response_json.key?(key_name) && !response_json[key_name].nil?
454
+ key_data = response_json[key_name]
455
+ member_value = get_data(key_data, key_detail)
456
+ instance.instance_variable_set(Constants::AT + member_name, member_value)
457
+ end
455
458
  end
456
- end
457
459
 
458
- instance
459
- end
460
+ instance
461
+ end
460
462
 
461
- def is_record_response(response_json, class_detail, package_name)
462
- record_instance = Object.const_get(Utility.class_to_load(package_name)).new
463
- module_api_name = @common_api_handler.module_api_name
464
- module_detail = {}
463
+ def is_record_response(response_json, class_detail, package_name)
464
+ record_instance = Object.const_get(Utility.class_to_load(package_name)).new
465
+ module_api_name = @common_api_handler.module_api_name
466
+ module_detail = {}
465
467
 
466
- unless module_api_name.nil?
467
- @common_api_handler.module_api_name = nil
468
- full_detail = Utility.search_json_details(module_api_name)
469
- if full_detail.nil?
470
- module_detail = get_module_detail_from_user_spec_json(module_api_name)
471
- else
472
- module_detail = full_detail[Constants::MODULEDETAILS]
473
- record_instance = Object.const_get(Utility.class_to_load(full_detail[Constants::MODULEPACKAGENAME])).new
468
+ unless module_api_name.nil?
469
+ @common_api_handler.module_api_name = nil
470
+ full_detail = Utility.search_json_details(module_api_name)
471
+ if full_detail.nil?
472
+ module_detail = get_module_detail_from_user_spec_json(module_api_name)
473
+ else
474
+ module_detail = full_detail[Constants::MODULEDETAILS]
475
+ record_instance = Object.const_get(Utility.class_to_load(full_detail[Constants::MODULEPACKAGENAME])).new
476
+ end
474
477
  end
475
- end
476
- module_detail = module_detail.merge(class_detail)
477
- record_detail = Initializer.json_details[Constants::RECORD_NAMESPACE]
478
+ module_detail = module_detail.merge(class_detail)
479
+ record_detail = Initializer.json_details[Constants::RECORD_NAMESPACE]
478
480
 
479
- # superclass check
480
- key_values = {}
481
+ # superclass check
482
+ key_values = {}
481
483
 
482
- response_json.each_key do |key_name|
483
- member_name = build_name(key_name)
484
- key_detail = {}
484
+ response_json.each_key do |key_name|
485
+ member_name = build_name(key_name)
486
+ key_detail = {}
485
487
 
486
- if !module_detail.empty? && (module_detail.key?(member_name) || module_detail.key?(key_name))
488
+ if !module_detail.empty? && (module_detail.key?(member_name) || module_detail.key?(key_name))
487
489
 
488
- key_detail = if module_detail.key? key_name
489
- module_detail[key_name]
490
- else
491
- module_detail[member_name]
492
- end
493
- elsif record_detail.key? member_name
494
- key_detail = record_detail[member_name]
495
- end
490
+ key_detail = if module_detail.key? key_name
491
+ module_detail[key_name]
492
+ else
493
+ module_detail[member_name]
494
+ end
495
+ elsif record_detail.key? member_name
496
+ key_detail = record_detail[member_name]
497
+ end
496
498
 
497
- key_data = response_json[key_name]
498
- key_value = nil
499
+ key_data = response_json[key_name]
500
+ key_value = nil
499
501
 
500
- if !key_detail.empty?
501
- key_name = key_detail[Constants::NAME]
502
- key_value = get_data(key_data, key_detail)
503
- else
504
- key_value = redirector_for_json_to_object(key_data)
502
+ if !key_detail.empty?
503
+ key_name = key_detail[Constants::NAME]
504
+ key_value = get_data(key_data, key_detail)
505
+ else
506
+ key_value = redirector_for_json_to_object(key_data)
507
+ end
508
+
509
+ key_values[key_name] = key_value
505
510
  end
506
511
 
507
- key_values[key_name] = key_value
512
+ record_instance.instance_variable_set(Constants::AT + Constants::KEY_VALUES, key_values)
513
+ record_instance
508
514
  end
509
515
 
510
- record_instance.instance_variable_set(Constants::AT + Constants::KEY_VALUES, key_values)
511
- record_instance
512
- end
513
-
514
- def get_data(key_data, member_detail)
515
- member_value = nil
516
-
517
- unless key_data.nil?
518
- type = member_detail[Constants::TYPE]
519
-
520
- if type.downcase == Constants::LIST_NAMESPACE.downcase
521
- member_value = get_collections_data(key_data, member_detail)
522
- elsif type.downcase == Constants::MAP_NAMESPACE.downcase
523
- member_value = get_map_data(key_data, member_detail)
524
- elsif (type.downcase == Constants::CHOICE_NAMESPACE.downcase) || (member_detail.key?(Constants::STRUCTURE_NAME) && (member_detail[Constants::STRUCTURE_NAME].downcase == Constants::CHOICE_NAMESPACE.downcase))
525
- member_value = get_choice_instance(key_data)
526
- elsif member_detail.key?(Constants::STRUCTURE_NAME) && member_detail.key?(Constants::MODULE)
527
- member_value = is_record_response(key_data, get_module_detail_from_user_spec_json(member_detail[Constants::MODULE]), member_detail[Constants::STRUCTURE_NAME])
528
- elsif member_detail.key? Constants::STRUCTURE_NAME
529
- member_value = get_response(key_data, member_detail[Constants::STRUCTURE_NAME])
530
- else
531
- member_value = DataTypeConverter.pre_convert(key_data, type)
516
+ def get_data(key_data, member_detail)
517
+ member_value = nil
518
+
519
+ unless key_data.nil?
520
+ type = member_detail[Constants::TYPE]
521
+
522
+ if type.downcase == Constants::LIST_NAMESPACE.downcase
523
+ member_value = get_collections_data(key_data, member_detail)
524
+ elsif type.downcase == Constants::MAP_NAMESPACE.downcase
525
+ member_value = get_map_data(key_data, member_detail)
526
+ elsif (type.downcase == Constants::CHOICE_NAMESPACE.downcase) || (member_detail.key?(Constants::STRUCTURE_NAME) && (member_detail[Constants::STRUCTURE_NAME].downcase == Constants::CHOICE_NAMESPACE.downcase))
527
+ member_value = get_choice_instance(key_data)
528
+ elsif member_detail.key?(Constants::STRUCTURE_NAME) && member_detail.key?(Constants::MODULE)
529
+ member_value = is_record_response(key_data, get_module_detail_from_user_spec_json(member_detail[Constants::MODULE]), member_detail[Constants::STRUCTURE_NAME])
530
+ elsif member_detail.key? Constants::STRUCTURE_NAME
531
+ member_value = get_response(key_data, member_detail[Constants::STRUCTURE_NAME])
532
+ else
533
+ member_value = DataTypeConverter.pre_convert(key_data, type)
534
+ end
532
535
  end
533
- end
534
536
 
535
- member_value
536
- end
537
+ member_value
538
+ end
537
539
 
538
- def get_map_data(response, member_detail)
539
- map_instance = {}
540
- unless response.empty?
540
+ def get_map_data(response, member_detail)
541
+ map_instance = {}
542
+ unless response.empty?
541
543
 
542
- if member_detail.nil? || (!member_detail.nil? && !member_detail.include?(Constants::KEYS))
543
- response.each do |key, value|
544
- map_instance[key] = redirector_for_json_to_object(value)
545
- end
546
- elsif member_detail.key? Constants::KEYS
547
- keys_detail = member_detail[Constants::KEYS]
544
+ if member_detail.nil? || (!member_detail.nil? && !member_detail.include?(Constants::KEYS))
545
+ response.each do |key, value|
546
+ map_instance[key] = redirector_for_json_to_object(value)
547
+ end
548
+ elsif member_detail.key? Constants::KEYS
549
+ keys_detail = member_detail[Constants::KEYS]
548
550
 
549
- keys_detail.each do |key_detail|
550
- key_name = key_detail[Constants::NAME]
551
+ keys_detail.each do |key_detail|
552
+ key_name = key_detail[Constants::NAME]
551
553
 
552
- if response.key?(key_name) && !response[key_name].nil?
553
- key_value = get_data(response[key_name], key_detail)
554
- map_instance[key_name] = key_value
554
+ if response.key?(key_name) && !response[key_name].nil?
555
+ key_value = get_data(response[key_name], key_detail)
556
+ map_instance[key_name] = key_value
557
+ end
555
558
  end
556
559
  end
557
560
  end
561
+ map_instance
558
562
  end
559
- map_instance
560
- end
561
-
562
- def get_collections_data(responses, member_detail)
563
- values = []
564
563
 
565
- unless responses.empty?
564
+ def get_collections_data(responses, member_detail)
565
+ values = []
566
566
 
567
- if member_detail.nil? || (!member_detail.nil? && !(member_detail.include? Constants::STRUCTURE_NAME))
567
+ unless responses.empty?
568
568
 
569
- responses.each do |response|
570
- values.push(redirector_for_json_to_object(response))
571
- end
572
- else
573
- pack = member_detail[Constants::STRUCTURE_NAME]
574
-
575
- if pack.downcase == Constants::CHOICE_NAMESPACE.downcase
569
+ if member_detail.nil? || (!member_detail.nil? && !(member_detail.include? Constants::STRUCTURE_NAME))
576
570
 
577
571
  responses.each do |response|
578
- values.push(get_choice_instance(response))
579
- end
580
- elsif member_detail.key?(Constants::MODULE) && !member_detail[Constants::MODULE].nil?
581
-
582
- responses.each do |response|
583
- values.push(is_record_response(response, get_module_detail_from_user_spec_json(member_detail[Constants::MODULE]), pack))
572
+ values.push(redirector_for_json_to_object(response))
584
573
  end
585
574
  else
586
- responses.each do |response|
587
- values.push(get_response(response, pack))
575
+ pack = member_detail[Constants::STRUCTURE_NAME]
576
+
577
+ if pack.downcase == Constants::CHOICE_NAMESPACE.downcase
578
+
579
+ responses.each do |response|
580
+ values.push(get_choice_instance(response))
581
+ end
582
+ elsif member_detail.key?(Constants::MODULE) && !member_detail[Constants::MODULE].nil?
583
+
584
+ responses.each do |response|
585
+ values.push(is_record_response(response, get_module_detail_from_user_spec_json(member_detail[Constants::MODULE]), pack))
586
+ end
587
+ else
588
+ responses.each do |response|
589
+ values.push(get_response(response, pack))
590
+ end
588
591
  end
589
592
  end
590
593
  end
591
- end
592
-
593
- values
594
- end
595
594
 
596
- def get_module_detail_from_user_spec_json(module_name)
597
- record_field_details = JSON.parse(File.read(Converter.new(nil).get_record_json_file_path))
598
- module_detail = Utility.get_json_object(record_field_details, module_name.downcase)
599
- module_detail
600
- end
601
-
602
- def redirector_for_json_to_object(key_data)
603
- if key_data.is_a? Hash
604
- get_map_data(key_data, nil)
605
- elsif key_data.is_a? Array
606
- get_collections_data(key_data, nil)
607
- else
608
- key_data
595
+ values
609
596
  end
610
- end
611
-
612
- def find_match(classes, response_json)
613
- pack = ''
614
- ratio = 0
615
597
 
616
- classes.each do |class_name|
617
- match_ratio = find_ratio(class_name, response_json)
598
+ def get_module_detail_from_user_spec_json(module_name)
599
+ record_field_details = JSON.parse(File.read(Converter.new(nil).get_record_json_file_path))
600
+ module_detail = Utility.get_json_object(record_field_details, module_name.downcase)
601
+ module_detail
602
+ end
618
603
 
619
- if match_ratio == 1.0
620
- pack = class_name
621
- ratio = 1
622
- break
623
- elsif match_ratio > ratio
624
- ratio = match_ratio
625
- pack = class_name.to_s
604
+ def redirector_for_json_to_object(key_data)
605
+ if key_data.is_a? Hash
606
+ get_map_data(key_data, nil)
607
+ elsif key_data.is_a? Array
608
+ get_collections_data(key_data, nil)
609
+ else
610
+ key_data
626
611
  end
627
612
  end
628
613
 
629
- get_response(response_json, pack)
630
- end
614
+ def find_match(classes, response_json)
615
+ pack = ''
616
+ ratio = 0
631
617
 
632
- def find_ratio(class_name, response_json)
633
- require_relative '../initializer'
618
+ classes.each do |class_name|
619
+ match_ratio = find_ratio(class_name, response_json)
620
+
621
+ if match_ratio == 1.0
622
+ pack = class_name
623
+ ratio = 1
624
+ break
625
+ elsif match_ratio > ratio
626
+ ratio = match_ratio
627
+ pack = class_name.to_s
628
+ end
629
+ end
634
630
 
635
- class_json_details = Initializer.json_details[class_name]
636
- total_points = class_json_details.keys.length
637
- matches = 0
631
+ get_response(response_json, pack)
632
+ end
638
633
 
639
- return 0 if total_points.zero?
634
+ def find_ratio(class_name, response_json)
635
+ require_relative '../initializer'
640
636
 
641
- class_json_details.each_key do |member_name|
642
- member_json_details = class_json_details[member_name.to_s]
643
- key_name = nil
644
- key_name = member_json_details[Constants::NAME] if member_json_details.key? Constants::NAME
637
+ class_json_details = Initializer.json_details[class_name]
638
+ total_points = class_json_details.keys.length
639
+ matches = 0
645
640
 
646
- if !key_name.nil? && response_json.key?(key_name.to_s) && !response_json[key_name].nil?
647
- key_data = response_json[key_name]
648
- type = key_data.class.name
649
- structure_name = nil
641
+ return 0 if total_points.zero?
650
642
 
651
- if member_json_details.key? Constants::STRUCTURE_NAME
652
- structure_name = member_json_details[Constants::STRUCTURE_NAME]
653
- end
643
+ class_json_details.each_key do |member_name|
644
+ member_json_details = class_json_details[member_name.to_s]
645
+ key_name = nil
646
+ key_name = member_json_details[Constants::NAME] if member_json_details.key? Constants::NAME
654
647
 
655
- if key_data.is_a? Integer
656
- type = Constants::INTEGER
657
- elsif key_data.is_a? String
658
- type = Constants::STRING
659
- elsif key_data.is_a? Float
660
- type = Constants::FLOAT
661
- elsif [true, false].include? key_data
662
- type = Constants::BOOLEAN
663
- elsif key_data.is_a? Hash
664
- type = Constants::MAP_NAMESPACE
665
- elsif key_data.is_a? Array
666
- type = Constants::LIST_NAMESPACE
667
- end
648
+ if !key_name.nil? && response_json.key?(key_name.to_s) && !response_json[key_name].nil?
649
+ key_data = response_json[key_name]
650
+ type = key_data.class.name
651
+ structure_name = nil
668
652
 
669
- if type == member_json_details[Constants::TYPE]
670
- matches += 1
671
- elsif member_json_details[Constants::TYPE].downcase == Constants::CHOICE_NAMESPACE.downcase
672
- member_json_details[Constants::VALUES].each do |value|
673
- if value == key_data
674
- matches += 1
675
- break
676
- end
653
+ if member_json_details.key? Constants::STRUCTURE_NAME
654
+ structure_name = member_json_details[Constants::STRUCTURE_NAME]
677
655
  end
678
- end
679
-
680
- if !structure_name.nil? && (structure_name == member_json_details[Constants::TYPE])
681
656
 
682
- if member_json_details.key? Constants::VALUES
657
+ if key_data.is_a? Integer
658
+ type = Constants::INTEGER
659
+ elsif key_data.is_a? String
660
+ type = Constants::STRING
661
+ elsif key_data.is_a? Float
662
+ type = Constants::FLOAT
663
+ elsif [true, false].include? key_data
664
+ type = Constants::BOOLEAN
665
+ elsif key_data.is_a? Hash
666
+ type = Constants::MAP_NAMESPACE
667
+ elsif key_data.is_a? Array
668
+ type = Constants::LIST_NAMESPACE
669
+ end
683
670
 
671
+ if type == member_json_details[Constants::TYPE]
672
+ matches += 1
673
+ elsif member_json_details[Constants::TYPE].downcase == Constants::CHOICE_NAMESPACE.downcase
684
674
  member_json_details[Constants::VALUES].each do |value|
685
675
  if value == key_data
686
676
  matches += 1
687
677
  break
688
678
  end
689
679
  end
690
- else
691
- matches += 1
680
+ end
681
+
682
+ if !structure_name.nil? && (structure_name == member_json_details[Constants::TYPE])
683
+
684
+ if member_json_details.key? Constants::VALUES
685
+
686
+ member_json_details[Constants::VALUES].each do |value|
687
+ if value == key_data
688
+ matches += 1
689
+ break
690
+ end
691
+ end
692
+ else
693
+ matches += 1
694
+ end
692
695
  end
693
696
  end
694
697
  end
695
- end
696
698
 
697
- matches / total_points.to_f
698
- end
699
+ matches / total_points.to_f
700
+ end
699
701
 
700
- def get_choice_instance(data)
701
- class_path_split = Constants::CHOICE_NAMESPACE.split(Constants::DOT)
702
- module_name = class_path_split[-2]
703
- file_name = Utility.classname_to_filename(class_path_split[-1])
704
- require_relative '../' + module_name + '/' + file_name
705
- member_value = Object.const_get(Utility.class_to_load(Constants::CHOICE_NAMESPACE)).new(data)
706
- member_value
707
- end
702
+ def get_choice_instance(data)
703
+ class_path_split = Constants::CHOICE_NAMESPACE.split(Constants::DOT)
704
+ module_name = class_path_split[-2]
705
+ file_name = Utility.classname_to_filename(class_path_split[-1])
706
+ require_relative '../' + module_name + '/' + file_name
707
+ member_value = Object.const_get(Utility.class_to_load(Constants::CHOICE_NAMESPACE)).new(data)
708
+ member_value
709
+ end
708
710
 
709
- def build_name(member_name)
710
- sdk_name = ''
711
- name_split = member_name.to_s.split('_')
712
- sdk_name = name_split[0].to_s.downcase
713
- index = 1
711
+ def build_name(key_name)
712
+ sdk_name = ''
713
+ name_split = key_name.to_s.split('_')
714
+ sdk_name = name_split[0].to_s.downcase
715
+ index = 1
714
716
 
715
- if name_split.length > 1
716
- index.upto(name_split.length - 1) do |name_index|
717
- if name_split[name_index].length > 1
718
- sdk_name += '_' + (name_split[name_index]).to_s.downcase
717
+ if name_split.length > 1
718
+ index.upto(name_split.length - 1) do |name_index|
719
+ if name_split[name_index].length > 1
720
+ sdk_name += '_' + (name_split[name_index]).to_s.downcase
721
+ end
719
722
  end
720
723
  end
721
- end
722
724
 
723
- sdk_name
725
+ sdk_name
726
+ end
724
727
  end
725
728
  end
726
- end
729
+ end