ZOHOCRMSDK2_0_docgo 6.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (374) hide show
  1. checksums.yaml +7 -0
  2. data/src/ZOHOCRMSDK2_0_docgo.rb +370 -0
  3. data/src/com/zoho/api/authenticator/oauth_token.rb +285 -0
  4. data/src/com/zoho/api/authenticator/store/db_store.rb +194 -0
  5. data/src/com/zoho/api/authenticator/store/file_store.rb +238 -0
  6. data/src/com/zoho/api/authenticator/store/token_store.rb +35 -0
  7. data/src/com/zoho/api/authenticator/token.rb +12 -0
  8. data/src/com/zoho/api/logger/sdk_logger.rb +64 -0
  9. data/src/com/zoho/crm/api/attachments/action_handler.rb +12 -0
  10. data/src/com/zoho/crm/api/attachments/action_response.rb +12 -0
  11. data/src/com/zoho/crm/api/attachments/action_wrapper.rb +65 -0
  12. data/src/com/zoho/crm/api/attachments/api_exception.rb +127 -0
  13. data/src/com/zoho/crm/api/attachments/attachment.rb +369 -0
  14. data/src/com/zoho/crm/api/attachments/attachments_operations.rb +198 -0
  15. data/src/com/zoho/crm/api/attachments/file_body_wrapper.rb +66 -0
  16. data/src/com/zoho/crm/api/attachments/response_handler.rb +12 -0
  17. data/src/com/zoho/crm/api/attachments/response_wrapper.rb +85 -0
  18. data/src/com/zoho/crm/api/attachments/success_response.rb +123 -0
  19. data/src/com/zoho/crm/api/blue_print/action_response.rb +12 -0
  20. data/src/com/zoho/crm/api/blue_print/api_exception.rb +125 -0
  21. data/src/com/zoho/crm/api/blue_print/blue_print.rb +121 -0
  22. data/src/com/zoho/crm/api/blue_print/blue_print_operations.rb +69 -0
  23. data/src/com/zoho/crm/api/blue_print/body_wrapper.rb +63 -0
  24. data/src/com/zoho/crm/api/blue_print/next_transition.rb +82 -0
  25. data/src/com/zoho/crm/api/blue_print/process_info.rb +253 -0
  26. data/src/com/zoho/crm/api/blue_print/response_handler.rb +12 -0
  27. data/src/com/zoho/crm/api/blue_print/response_wrapper.rb +65 -0
  28. data/src/com/zoho/crm/api/blue_print/success_response.rb +123 -0
  29. data/src/com/zoho/crm/api/blue_print/transition.rb +255 -0
  30. data/src/com/zoho/crm/api/blue_print/validation_error.rb +82 -0
  31. data/src/com/zoho/crm/api/bulk_read/action_handler.rb +12 -0
  32. data/src/com/zoho/crm/api/bulk_read/action_response.rb +12 -0
  33. data/src/com/zoho/crm/api/bulk_read/action_wrapper.rb +84 -0
  34. data/src/com/zoho/crm/api/bulk_read/api_exception.rb +127 -0
  35. data/src/com/zoho/crm/api/bulk_read/bulk_read_operations.rb +76 -0
  36. data/src/com/zoho/crm/api/bulk_read/call_back.rb +83 -0
  37. data/src/com/zoho/crm/api/bulk_read/criteria.rb +137 -0
  38. data/src/com/zoho/crm/api/bulk_read/file_body_wrapper.rb +66 -0
  39. data/src/com/zoho/crm/api/bulk_read/job_detail.rb +198 -0
  40. data/src/com/zoho/crm/api/bulk_read/query.rb +139 -0
  41. data/src/com/zoho/crm/api/bulk_read/request_wrapper.rb +102 -0
  42. data/src/com/zoho/crm/api/bulk_read/response_handler.rb +12 -0
  43. data/src/com/zoho/crm/api/bulk_read/response_wrapper.rb +65 -0
  44. data/src/com/zoho/crm/api/bulk_read/result.rb +139 -0
  45. data/src/com/zoho/crm/api/bulk_read/success_response.rb +123 -0
  46. data/src/com/zoho/crm/api/bulk_write/action_response.rb +12 -0
  47. data/src/com/zoho/crm/api/bulk_write/api_exception.rb +241 -0
  48. data/src/com/zoho/crm/api/bulk_write/bulk_write_operations.rb +114 -0
  49. data/src/com/zoho/crm/api/bulk_write/bulk_write_response.rb +218 -0
  50. data/src/com/zoho/crm/api/bulk_write/call_back.rb +83 -0
  51. data/src/com/zoho/crm/api/bulk_write/field_mapping.rb +158 -0
  52. data/src/com/zoho/crm/api/bulk_write/file.rb +159 -0
  53. data/src/com/zoho/crm/api/bulk_write/file_body_wrapper.rb +66 -0
  54. data/src/com/zoho/crm/api/bulk_write/request_wrapper.rb +121 -0
  55. data/src/com/zoho/crm/api/bulk_write/resource.rb +197 -0
  56. data/src/com/zoho/crm/api/bulk_write/response_handler.rb +12 -0
  57. data/src/com/zoho/crm/api/bulk_write/response_wrapper.rb +12 -0
  58. data/src/com/zoho/crm/api/bulk_write/result.rb +63 -0
  59. data/src/com/zoho/crm/api/bulk_write/success_response.rb +123 -0
  60. data/src/com/zoho/crm/api/contact_roles/action_handler.rb +12 -0
  61. data/src/com/zoho/crm/api/contact_roles/action_response.rb +12 -0
  62. data/src/com/zoho/crm/api/contact_roles/action_wrapper.rb +65 -0
  63. data/src/com/zoho/crm/api/contact_roles/api_exception.rb +131 -0
  64. data/src/com/zoho/crm/api/contact_roles/body_wrapper.rb +63 -0
  65. data/src/com/zoho/crm/api/contact_roles/contact_role.rb +101 -0
  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 +270 -0
  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 +12 -0
  74. data/src/com/zoho/crm/api/contact_roles/response_wrapper.rb +65 -0
  75. data/src/com/zoho/crm/api/contact_roles/success_response.rb +123 -0
  76. data/src/com/zoho/crm/api/currencies/action_handler.rb +12 -0
  77. data/src/com/zoho/crm/api/currencies/action_response.rb +12 -0
  78. data/src/com/zoho/crm/api/currencies/action_wrapper.rb +65 -0
  79. data/src/com/zoho/crm/api/currencies/api_exception.rb +129 -0
  80. data/src/com/zoho/crm/api/currencies/base_currency_action_handler.rb +12 -0
  81. data/src/com/zoho/crm/api/currencies/base_currency_action_wrapper.rb +65 -0
  82. data/src/com/zoho/crm/api/currencies/base_currency_wrapper.rb +63 -0
  83. data/src/com/zoho/crm/api/currencies/body_wrapper.rb +63 -0
  84. data/src/com/zoho/crm/api/currencies/currencies_operations.rb +151 -0
  85. data/src/com/zoho/crm/api/currencies/currency.rb +292 -0
  86. data/src/com/zoho/crm/api/currencies/format.rb +102 -0
  87. data/src/com/zoho/crm/api/currencies/response_handler.rb +12 -0
  88. data/src/com/zoho/crm/api/currencies/response_wrapper.rb +65 -0
  89. data/src/com/zoho/crm/api/currencies/success_response.rb +123 -0
  90. data/src/com/zoho/crm/api/custom_views/api_exception.rb +123 -0
  91. data/src/com/zoho/crm/api/custom_views/criteria.rb +137 -0
  92. data/src/com/zoho/crm/api/custom_views/custom_view.rb +329 -0
  93. data/src/com/zoho/crm/api/custom_views/custom_views_operations.rb +75 -0
  94. data/src/com/zoho/crm/api/custom_views/info.rb +158 -0
  95. data/src/com/zoho/crm/api/custom_views/range.rb +82 -0
  96. data/src/com/zoho/crm/api/custom_views/response_handler.rb +12 -0
  97. data/src/com/zoho/crm/api/custom_views/response_wrapper.rb +84 -0
  98. data/src/com/zoho/crm/api/custom_views/shared_details.rb +120 -0
  99. data/src/com/zoho/crm/api/custom_views/translation.rb +120 -0
  100. data/src/com/zoho/crm/api/dc/au_datacenter.rb +21 -0
  101. data/src/com/zoho/crm/api/dc/cn_datacenter.rb +21 -0
  102. data/src/com/zoho/crm/api/dc/datacenter.rb +23 -0
  103. data/src/com/zoho/crm/api/dc/eu_datacenter.rb +21 -0
  104. data/src/com/zoho/crm/api/dc/in_datacenter.rb +21 -0
  105. data/src/com/zoho/crm/api/dc/jp_datacenter.rb +21 -0
  106. data/src/com/zoho/crm/api/dc/us_datacenter.rb +21 -0
  107. data/src/com/zoho/crm/api/exception/sdk_exception.rb +49 -0
  108. data/src/com/zoho/crm/api/fields/api_exception.rb +123 -0
  109. data/src/com/zoho/crm/api/fields/association_details.rb +82 -0
  110. data/src/com/zoho/crm/api/fields/auto_number.rb +101 -0
  111. data/src/com/zoho/crm/api/fields/crypt.rb +158 -0
  112. data/src/com/zoho/crm/api/fields/currency.rb +82 -0
  113. data/src/com/zoho/crm/api/fields/field.rb +958 -0
  114. data/src/com/zoho/crm/api/fields/fields_operations.rb +71 -0
  115. data/src/com/zoho/crm/api/fields/formula.rb +82 -0
  116. data/src/com/zoho/crm/api/fields/lookup_field.rb +82 -0
  117. data/src/com/zoho/crm/api/fields/module.rb +159 -0
  118. data/src/com/zoho/crm/api/fields/multi_select_lookup.rb +158 -0
  119. data/src/com/zoho/crm/api/fields/pick_list_value.rb +177 -0
  120. data/src/com/zoho/crm/api/fields/private.rb +101 -0
  121. data/src/com/zoho/crm/api/fields/related_details.rb +139 -0
  122. data/src/com/zoho/crm/api/fields/response_handler.rb +12 -0
  123. data/src/com/zoho/crm/api/fields/response_wrapper.rb +65 -0
  124. data/src/com/zoho/crm/api/fields/tool_tip.rb +82 -0
  125. data/src/com/zoho/crm/api/fields/unique.rb +63 -0
  126. data/src/com/zoho/crm/api/fields/view_type.rb +120 -0
  127. data/src/com/zoho/crm/api/files/action_handler.rb +12 -0
  128. data/src/com/zoho/crm/api/files/action_response.rb +12 -0
  129. data/src/com/zoho/crm/api/files/action_wrapper.rb +65 -0
  130. data/src/com/zoho/crm/api/files/api_exception.rb +127 -0
  131. data/src/com/zoho/crm/api/files/body_wrapper.rb +64 -0
  132. data/src/com/zoho/crm/api/files/file_body_wrapper.rb +66 -0
  133. data/src/com/zoho/crm/api/files/file_operations.rb +75 -0
  134. data/src/com/zoho/crm/api/files/response_handler.rb +12 -0
  135. data/src/com/zoho/crm/api/files/success_response.rb +123 -0
  136. data/src/com/zoho/crm/api/header.rb +12 -0
  137. data/src/com/zoho/crm/api/header_map.rb +57 -0
  138. data/src/com/zoho/crm/api/initializer.rb +255 -0
  139. data/src/com/zoho/crm/api/layouts/api_exception.rb +123 -0
  140. data/src/com/zoho/crm/api/layouts/layout.rb +274 -0
  141. data/src/com/zoho/crm/api/layouts/layouts_operations.rb +61 -0
  142. data/src/com/zoho/crm/api/layouts/properties.rb +102 -0
  143. data/src/com/zoho/crm/api/layouts/response_handler.rb +12 -0
  144. data/src/com/zoho/crm/api/layouts/response_wrapper.rb +65 -0
  145. data/src/com/zoho/crm/api/layouts/section.rb +235 -0
  146. data/src/com/zoho/crm/api/modules/action_handler.rb +12 -0
  147. data/src/com/zoho/crm/api/modules/action_response.rb +12 -0
  148. data/src/com/zoho/crm/api/modules/action_wrapper.rb +65 -0
  149. data/src/com/zoho/crm/api/modules/api_exception.rb +127 -0
  150. data/src/com/zoho/crm/api/modules/argument.rb +82 -0
  151. data/src/com/zoho/crm/api/modules/body_wrapper.rb +63 -0
  152. data/src/com/zoho/crm/api/modules/module.rb +884 -0
  153. data/src/com/zoho/crm/api/modules/modules_operations.rb +109 -0
  154. data/src/com/zoho/crm/api/modules/related_list_properties.rb +101 -0
  155. data/src/com/zoho/crm/api/modules/response_handler.rb +12 -0
  156. data/src/com/zoho/crm/api/modules/response_wrapper.rb +65 -0
  157. data/src/com/zoho/crm/api/modules/success_response.rb +123 -0
  158. data/src/com/zoho/crm/api/modules/territory.rb +101 -0
  159. data/src/com/zoho/crm/api/notes/action_handler.rb +12 -0
  160. data/src/com/zoho/crm/api/notes/action_response.rb +12 -0
  161. data/src/com/zoho/crm/api/notes/action_wrapper.rb +65 -0
  162. data/src/com/zoho/crm/api/notes/api_exception.rb +127 -0
  163. data/src/com/zoho/crm/api/notes/body_wrapper.rb +63 -0
  164. data/src/com/zoho/crm/api/notes/info.rb +120 -0
  165. data/src/com/zoho/crm/api/notes/note.rb +351 -0
  166. data/src/com/zoho/crm/api/notes/notes_operations.rb +214 -0
  167. data/src/com/zoho/crm/api/notes/response_handler.rb +12 -0
  168. data/src/com/zoho/crm/api/notes/response_wrapper.rb +84 -0
  169. data/src/com/zoho/crm/api/notes/success_response.rb +123 -0
  170. data/src/com/zoho/crm/api/notification/action_handler.rb +12 -0
  171. data/src/com/zoho/crm/api/notification/action_response.rb +12 -0
  172. data/src/com/zoho/crm/api/notification/action_wrapper.rb +65 -0
  173. data/src/com/zoho/crm/api/notification/api_exception.rb +127 -0
  174. data/src/com/zoho/crm/api/notification/body_wrapper.rb +63 -0
  175. data/src/com/zoho/crm/api/notification/info.rb +120 -0
  176. data/src/com/zoho/crm/api/notification/notification.rb +253 -0
  177. data/src/com/zoho/crm/api/notification/notification_operations.rb +160 -0
  178. data/src/com/zoho/crm/api/notification/response_handler.rb +12 -0
  179. data/src/com/zoho/crm/api/notification/response_wrapper.rb +84 -0
  180. data/src/com/zoho/crm/api/notification/success_response.rb +123 -0
  181. data/src/com/zoho/crm/api/org/action_response.rb +12 -0
  182. data/src/com/zoho/crm/api/org/api_exception.rb +125 -0
  183. data/src/com/zoho/crm/api/org/file_body_wrapper.rb +64 -0
  184. data/src/com/zoho/crm/api/org/license_details.rb +158 -0
  185. data/src/com/zoho/crm/api/org/org.rb +633 -0
  186. data/src/com/zoho/crm/api/org/org_operations.rb +49 -0
  187. data/src/com/zoho/crm/api/org/response_handler.rb +12 -0
  188. data/src/com/zoho/crm/api/org/response_wrapper.rb +65 -0
  189. data/src/com/zoho/crm/api/org/success_response.rb +123 -0
  190. data/src/com/zoho/crm/api/param.rb +12 -0
  191. data/src/com/zoho/crm/api/parameter_map.rb +56 -0
  192. data/src/com/zoho/crm/api/profiles/api_exception.rb +123 -0
  193. data/src/com/zoho/crm/api/profiles/category.rb +101 -0
  194. data/src/com/zoho/crm/api/profiles/permission_detail.rb +139 -0
  195. data/src/com/zoho/crm/api/profiles/profile.rb +292 -0
  196. data/src/com/zoho/crm/api/profiles/profiles_operations.rb +61 -0
  197. data/src/com/zoho/crm/api/profiles/response_handler.rb +12 -0
  198. data/src/com/zoho/crm/api/profiles/response_wrapper.rb +65 -0
  199. data/src/com/zoho/crm/api/profiles/section.rb +82 -0
  200. data/src/com/zoho/crm/api/query/api_exception.rb +123 -0
  201. data/src/com/zoho/crm/api/query/body_wrapper.rb +63 -0
  202. data/src/com/zoho/crm/api/query/query_operations.rb +36 -0
  203. data/src/com/zoho/crm/api/query/response_handler.rb +12 -0
  204. data/src/com/zoho/crm/api/query/response_wrapper.rb +86 -0
  205. data/src/com/zoho/crm/api/record/action_handler.rb +12 -0
  206. data/src/com/zoho/crm/api/record/action_response.rb +12 -0
  207. data/src/com/zoho/crm/api/record/action_wrapper.rb +65 -0
  208. data/src/com/zoho/crm/api/record/api_exception.rb +145 -0
  209. data/src/com/zoho/crm/api/record/apply_feature_execution.rb +63 -0
  210. data/src/com/zoho/crm/api/record/body_wrapper.rb +177 -0
  211. data/src/com/zoho/crm/api/record/carry_over_tags.rb +101 -0
  212. data/src/com/zoho/crm/api/record/comment.rb +120 -0
  213. data/src/com/zoho/crm/api/record/consent.rb +187 -0
  214. data/src/com/zoho/crm/api/record/convert_action_handler.rb +12 -0
  215. data/src/com/zoho/crm/api/record/convert_action_response.rb +12 -0
  216. data/src/com/zoho/crm/api/record/convert_action_wrapper.rb +65 -0
  217. data/src/com/zoho/crm/api/record/convert_body_wrapper.rb +63 -0
  218. data/src/com/zoho/crm/api/record/criteria.rb +137 -0
  219. data/src/com/zoho/crm/api/record/deleted_record.rb +159 -0
  220. data/src/com/zoho/crm/api/record/deleted_records_handler.rb +12 -0
  221. data/src/com/zoho/crm/api/record/deleted_records_wrapper.rb +84 -0
  222. data/src/com/zoho/crm/api/record/download_handler.rb +12 -0
  223. data/src/com/zoho/crm/api/record/field.rb +2111 -0
  224. data/src/com/zoho/crm/api/record/file_body_wrapper.rb +68 -0
  225. data/src/com/zoho/crm/api/record/file_details.rb +329 -0
  226. data/src/com/zoho/crm/api/record/file_handler.rb +12 -0
  227. data/src/com/zoho/crm/api/record/info.rb +120 -0
  228. data/src/com/zoho/crm/api/record/inventory_line_items.rb +237 -0
  229. data/src/com/zoho/crm/api/record/lead_converter.rb +196 -0
  230. data/src/com/zoho/crm/api/record/line_item_product.rb +67 -0
  231. data/src/com/zoho/crm/api/record/line_tax.rb +120 -0
  232. data/src/com/zoho/crm/api/record/mass_update.rb +142 -0
  233. data/src/com/zoho/crm/api/record/mass_update_action_handler.rb +12 -0
  234. data/src/com/zoho/crm/api/record/mass_update_action_response.rb +12 -0
  235. data/src/com/zoho/crm/api/record/mass_update_action_wrapper.rb +65 -0
  236. data/src/com/zoho/crm/api/record/mass_update_body_wrapper.rb +158 -0
  237. data/src/com/zoho/crm/api/record/mass_update_response.rb +12 -0
  238. data/src/com/zoho/crm/api/record/mass_update_response_handler.rb +12 -0
  239. data/src/com/zoho/crm/api/record/mass_update_response_wrapper.rb +65 -0
  240. data/src/com/zoho/crm/api/record/mass_update_success_response.rb +123 -0
  241. data/src/com/zoho/crm/api/record/options.rb +12 -0
  242. data/src/com/zoho/crm/api/record/participants.rb +118 -0
  243. data/src/com/zoho/crm/api/record/pricing_details.rb +67 -0
  244. data/src/com/zoho/crm/api/record/record.rb +194 -0
  245. data/src/com/zoho/crm/api/record/record_operations.rb +961 -0
  246. data/src/com/zoho/crm/api/record/recurring_activity.rb +63 -0
  247. data/src/com/zoho/crm/api/record/remind_at.rb +63 -0
  248. data/src/com/zoho/crm/api/record/reminder.rb +82 -0
  249. data/src/com/zoho/crm/api/record/response_handler.rb +12 -0
  250. data/src/com/zoho/crm/api/record/response_wrapper.rb +84 -0
  251. data/src/com/zoho/crm/api/record/success_response.rb +163 -0
  252. data/src/com/zoho/crm/api/record/successful_convert.rb +103 -0
  253. data/src/com/zoho/crm/api/record/territory.rb +82 -0
  254. data/src/com/zoho/crm/api/related_lists/api_exception.rb +123 -0
  255. data/src/com/zoho/crm/api/related_lists/related_list.rb +253 -0
  256. data/src/com/zoho/crm/api/related_lists/related_lists_operations.rb +61 -0
  257. data/src/com/zoho/crm/api/related_lists/response_handler.rb +12 -0
  258. data/src/com/zoho/crm/api/related_lists/response_wrapper.rb +65 -0
  259. data/src/com/zoho/crm/api/related_records/action_handler.rb +12 -0
  260. data/src/com/zoho/crm/api/related_records/action_response.rb +12 -0
  261. data/src/com/zoho/crm/api/related_records/action_wrapper.rb +65 -0
  262. data/src/com/zoho/crm/api/related_records/api_exception.rb +127 -0
  263. data/src/com/zoho/crm/api/related_records/body_wrapper.rb +64 -0
  264. data/src/com/zoho/crm/api/related_records/file_body_wrapper.rb +66 -0
  265. data/src/com/zoho/crm/api/related_records/related_records_operations.rb +524 -0
  266. data/src/com/zoho/crm/api/related_records/response_handler.rb +12 -0
  267. data/src/com/zoho/crm/api/related_records/response_wrapper.rb +86 -0
  268. data/src/com/zoho/crm/api/related_records/success_response.rb +123 -0
  269. data/src/com/zoho/crm/api/request_proxy.rb +17 -0
  270. data/src/com/zoho/crm/api/roles/api_exception.rb +123 -0
  271. data/src/com/zoho/crm/api/roles/response_handler.rb +12 -0
  272. data/src/com/zoho/crm/api/roles/response_wrapper.rb +65 -0
  273. data/src/com/zoho/crm/api/roles/role.rb +197 -0
  274. data/src/com/zoho/crm/api/roles/roles_operations.rb +47 -0
  275. data/src/com/zoho/crm/api/sdk_config.rb +15 -0
  276. data/src/com/zoho/crm/api/share_records/action_handler.rb +12 -0
  277. data/src/com/zoho/crm/api/share_records/action_response.rb +12 -0
  278. data/src/com/zoho/crm/api/share_records/action_wrapper.rb +65 -0
  279. data/src/com/zoho/crm/api/share_records/api_exception.rb +131 -0
  280. data/src/com/zoho/crm/api/share_records/body_wrapper.rb +63 -0
  281. data/src/com/zoho/crm/api/share_records/delete_action_handler.rb +12 -0
  282. data/src/com/zoho/crm/api/share_records/delete_action_response.rb +12 -0
  283. data/src/com/zoho/crm/api/share_records/delete_action_wrapper.rb +65 -0
  284. data/src/com/zoho/crm/api/share_records/response_handler.rb +12 -0
  285. data/src/com/zoho/crm/api/share_records/response_wrapper.rb +85 -0
  286. data/src/com/zoho/crm/api/share_records/share_record.rb +159 -0
  287. data/src/com/zoho/crm/api/share_records/share_records_operations.rb +130 -0
  288. data/src/com/zoho/crm/api/share_records/shared_through.rb +102 -0
  289. data/src/com/zoho/crm/api/share_records/success_response.rb +125 -0
  290. data/src/com/zoho/crm/api/tags/action_handler.rb +12 -0
  291. data/src/com/zoho/crm/api/tags/action_response.rb +12 -0
  292. data/src/com/zoho/crm/api/tags/action_wrapper.rb +65 -0
  293. data/src/com/zoho/crm/api/tags/api_exception.rb +133 -0
  294. data/src/com/zoho/crm/api/tags/body_wrapper.rb +63 -0
  295. data/src/com/zoho/crm/api/tags/conflict_wrapper.rb +63 -0
  296. data/src/com/zoho/crm/api/tags/count_handler.rb +12 -0
  297. data/src/com/zoho/crm/api/tags/count_wrapper.rb +65 -0
  298. data/src/com/zoho/crm/api/tags/info.rb +82 -0
  299. data/src/com/zoho/crm/api/tags/merge_wrapper.rb +63 -0
  300. data/src/com/zoho/crm/api/tags/record_action_handler.rb +12 -0
  301. data/src/com/zoho/crm/api/tags/record_action_response.rb +12 -0
  302. data/src/com/zoho/crm/api/tags/record_action_wrapper.rb +122 -0
  303. data/src/com/zoho/crm/api/tags/response_handler.rb +12 -0
  304. data/src/com/zoho/crm/api/tags/response_wrapper.rb +84 -0
  305. data/src/com/zoho/crm/api/tags/success_response.rb +125 -0
  306. data/src/com/zoho/crm/api/tags/tag.rb +159 -0
  307. data/src/com/zoho/crm/api/tags/tags_operations.rb +382 -0
  308. data/src/com/zoho/crm/api/taxes/action_handler.rb +12 -0
  309. data/src/com/zoho/crm/api/taxes/action_response.rb +12 -0
  310. data/src/com/zoho/crm/api/taxes/action_wrapper.rb +65 -0
  311. data/src/com/zoho/crm/api/taxes/api_exception.rb +127 -0
  312. data/src/com/zoho/crm/api/taxes/body_wrapper.rb +63 -0
  313. data/src/com/zoho/crm/api/taxes/preference.rb +82 -0
  314. data/src/com/zoho/crm/api/taxes/response_handler.rb +12 -0
  315. data/src/com/zoho/crm/api/taxes/response_wrapper.rb +84 -0
  316. data/src/com/zoho/crm/api/taxes/success_response.rb +123 -0
  317. data/src/com/zoho/crm/api/taxes/tax.rb +139 -0
  318. data/src/com/zoho/crm/api/taxes/taxes_operations.rb +132 -0
  319. data/src/com/zoho/crm/api/territories/api_exception.rb +123 -0
  320. data/src/com/zoho/crm/api/territories/response_handler.rb +12 -0
  321. data/src/com/zoho/crm/api/territories/response_wrapper.rb +65 -0
  322. data/src/com/zoho/crm/api/territories/territories_operations.rb +47 -0
  323. data/src/com/zoho/crm/api/territories/territory.rb +236 -0
  324. data/src/com/zoho/crm/api/user_signature.rb +29 -0
  325. data/src/com/zoho/crm/api/users/action_handler.rb +12 -0
  326. data/src/com/zoho/crm/api/users/action_response.rb +12 -0
  327. data/src/com/zoho/crm/api/users/action_wrapper.rb +65 -0
  328. data/src/com/zoho/crm/api/users/api_exception.rb +127 -0
  329. data/src/com/zoho/crm/api/users/body_wrapper.rb +63 -0
  330. data/src/com/zoho/crm/api/users/customize_info.rb +158 -0
  331. data/src/com/zoho/crm/api/users/info.rb +120 -0
  332. data/src/com/zoho/crm/api/users/request_wrapper.rb +63 -0
  333. data/src/com/zoho/crm/api/users/response_handler.rb +12 -0
  334. data/src/com/zoho/crm/api/users/response_wrapper.rb +84 -0
  335. data/src/com/zoho/crm/api/users/shift.rb +82 -0
  336. data/src/com/zoho/crm/api/users/success_response.rb +123 -0
  337. data/src/com/zoho/crm/api/users/tab_theme.rb +82 -0
  338. data/src/com/zoho/crm/api/users/territory.rb +101 -0
  339. data/src/com/zoho/crm/api/users/theme.rb +158 -0
  340. data/src/com/zoho/crm/api/users/user.rb +698 -0
  341. data/src/com/zoho/crm/api/users/users_operations.rb +177 -0
  342. data/src/com/zoho/crm/api/util/api_http_connector.rb +114 -0
  343. data/src/com/zoho/crm/api/util/api_response.rb +18 -0
  344. data/src/com/zoho/crm/api/util/choice.rb +11 -0
  345. data/src/com/zoho/crm/api/util/common_api_handler.rb +241 -0
  346. data/src/com/zoho/crm/api/util/constants.rb +646 -0
  347. data/src/com/zoho/crm/api/util/converter.rb +238 -0
  348. data/src/com/zoho/crm/api/util/data_type_converter.rb +170 -0
  349. data/src/com/zoho/crm/api/util/downloader.rb +86 -0
  350. data/src/com/zoho/crm/api/util/form_data_converter.rb +159 -0
  351. data/src/com/zoho/crm/api/util/header_param_validator.rb +57 -0
  352. data/src/com/zoho/crm/api/util/json_converter.rb +729 -0
  353. data/src/com/zoho/crm/api/util/model.rb +7 -0
  354. data/src/com/zoho/crm/api/util/module_fields_handler.rb +80 -0
  355. data/src/com/zoho/crm/api/util/stream_wrapper.rb +39 -0
  356. data/src/com/zoho/crm/api/util/utility.rb +871 -0
  357. data/src/com/zoho/crm/api/variable_groups/api_exception.rb +123 -0
  358. data/src/com/zoho/crm/api/variable_groups/response_handler.rb +12 -0
  359. data/src/com/zoho/crm/api/variable_groups/response_wrapper.rb +65 -0
  360. data/src/com/zoho/crm/api/variable_groups/variable_group.rb +139 -0
  361. data/src/com/zoho/crm/api/variable_groups/variable_groups_operations.rb +65 -0
  362. data/src/com/zoho/crm/api/variables/action_handler.rb +12 -0
  363. data/src/com/zoho/crm/api/variables/action_response.rb +12 -0
  364. data/src/com/zoho/crm/api/variables/action_wrapper.rb +65 -0
  365. data/src/com/zoho/crm/api/variables/api_exception.rb +127 -0
  366. data/src/com/zoho/crm/api/variables/body_wrapper.rb +63 -0
  367. data/src/com/zoho/crm/api/variables/response_handler.rb +12 -0
  368. data/src/com/zoho/crm/api/variables/response_wrapper.rb +65 -0
  369. data/src/com/zoho/crm/api/variables/success_response.rb +123 -0
  370. data/src/com/zoho/crm/api/variables/variable.rb +175 -0
  371. data/src/com/zoho/crm/api/variables/variables_operations.rb +234 -0
  372. data/src/resources/JSONDetails.json +1 -0
  373. data/src/version.rb +3 -0
  374. metadata +500 -0
@@ -0,0 +1,729 @@
1
+ require 'json'
2
+ require_relative 'converter'
3
+ require_relative 'constants'
4
+
5
+ module ZOHOCRMSDK
6
+ module Util
7
+ class JSONConverter < Converter
8
+ attr_accessor :unique_hash
9
+
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
19
+
20
+ def form_request(request_instance, pack, instance_number, member_json_details = nil)
21
+ require_relative '../initializer'
22
+
23
+ package_name = Utility.path_to_package(pack)
24
+ class_detail = Initializer.json_details[package_name]
25
+
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]
30
+
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
34
+
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
39
+ end
40
+ end
41
+
42
+ require_relative '../record/record'
43
+
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
52
+ end
53
+
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
63
+
64
+ request_json = {}
65
+ required_keys = {}
66
+ primary_keys = {}
67
+ required_in_update_keys = {}
68
+
69
+ class_detail.each_key do |member_name|
70
+ member_detail = class_detail[member_name]
71
+
72
+ if (member_detail.key?(Constants::READ_ONLY) && member_detail[Constants::READ_ONLY]) || (!member_detail.key? Constants::NAME)
73
+ next
74
+ end
75
+
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
86
+
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
90
+
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
94
+
95
+ if !modified.nil? && (modified != 0)
96
+ field_value = request_instance.instance_variable_get(Constants::AT + member_name)
97
+
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'
100
+
101
+ unless field_value.nil?
102
+ required_keys.delete(key_name)
103
+
104
+ primary_keys.delete(key_name)
105
+
106
+ required_in_update_keys.delete(key_name)
107
+ end
108
+
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
119
+ end
120
+ 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
+
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
140
+
141
+ if module_api_name.nil?
142
+ module_detail = class_detail
143
+ class_detail = Initializer.json_details[Constants::RECORD_NAMESPACE]
144
+ else
145
+
146
+ @common_api_handler.module_api_name = nil
147
+ full_detail = Utility.search_json_details(module_api_name)
148
+
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
155
+
156
+ if record_instance.class.superclass == 'Record'
157
+ end
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
174
+ 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
180
+ end
181
+ if key_detail.key?(Constants::PRIMARY) && key_detail[Constants::PRIMARY]
182
+ primary_keys[name]=1
183
+ end
184
+ end
185
+ end
186
+
187
+ key_modified.each_key do |key_name|
188
+ next if key_modified[key_name] != 1
189
+
190
+ key_detail = {}
191
+ key_value = key_values[key_name]
192
+ json_value = nil
193
+ member_name = build_name(key_name)
194
+
195
+ if !module_detail.empty? && (module_detail.key?(member_name) || module_detail.key?(key_name))
196
+
197
+ key_detail = if module_detail.key? key_name
198
+ module_detail[key_name]
199
+ else
200
+ module_detail[member_name]
201
+ end
202
+
203
+ elsif class_detail.key? member_name
204
+ key_detail = class_detail[member_name]
205
+ end
206
+
207
+ unless key_value.nil?
208
+ required_keys.delete(key_name)
209
+ primary_keys.delete(key_name)
210
+ end
211
+
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
+
219
+ json_value = set_data(key_detail, key_value)
220
+ end
221
+ else
222
+ json_value = redirector_for_object_to_json(key_value)
223
+ end
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
229
+ end
230
+ end
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
241
+
242
+ if !@common_api_handler.mandatory_checker.nil? && @common_api_handler.mandatory_checker
243
+
244
+ if @common_api_handler.category_method.downcase == Constants::REQUEST_CATEGORY_CREATE.downcase
245
+
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?
256
+ error = {}
257
+ error[Constants::ERROR_HASH_FIELD] = class_member_name
258
+ error[Constants::TYPE] = request_instance.class.name
259
+ error[Constants::KEYS] = required_keys.keys
260
+ error[Constants::INSTANCE_NUMBER] = instance_number
261
+ raise SDKException.new(Constants::MANDATORY_VALUE_ERROR, Constants::MANDATORY_KEY_ERROR, error, nil)
262
+ end
263
+
264
+ elsif @common_api_handler.category_method.downcase == Constants::REQUEST_CATEGORY_UPDATE.downcase && !primary_keys.empty?
265
+
266
+ error = {}
267
+ error[Constants::ERROR_HASH_FIELD] = class_member_name
268
+ error[Constants::TYPE] = request_instance.class.name
269
+ error[Constants::KEYS] = primary_keys.keys
270
+ error[Constants::INSTANCE_NUMBER] = instance_number
271
+ raise SDKException.new(Constants::MANDATORY_VALUE_ERROR, Constants::PRIMARY_KEY_ERROR, error, nil)
272
+ 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)
281
+ end
282
+ true
283
+ end
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)
301
+ end
302
+ end
303
+
304
+ nil
305
+ end
306
+
307
+ def set_json_object(field_value, member_detail)
308
+ json_object = {}
309
+ request_object = field_value
310
+
311
+ unless request_object.empty?
312
+
313
+ if member_detail.nil? || (!member_detail.nil? && !member_detail.key?(Constants::KEYS))
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
319
+
320
+ keys_detail = member_detail[Constants::KEYS]
321
+
322
+ keys_detail.each do |key_detail|
323
+ key_value = nil
324
+ key_name = key_detail[Constants::NAME]
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
329
+ end
330
+ end
331
+
332
+ end
333
+ end
334
+
335
+ json_object
336
+ end
337
+
338
+ def set_json_array(field_value, member_detail)
339
+ json_array = []
340
+ request_objects = field_value
341
+
342
+ unless request_objects.empty?
343
+
344
+ if member_detail.nil? || (!member_detail.nil? && !member_detail.key?(Constants::STRUCTURE_NAME))
345
+
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]
351
+
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
370
+ end
371
+ end
372
+ end
373
+ json_array
374
+ end
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
383
+ end
384
+ end
385
+
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
394
+
395
+ def get_response(response_json, pack)
396
+ require_relative '../initializer'
397
+ response_string = response_json.to_s
398
+
399
+ return nil if response_string.nil? || response_string.length.zero? || (response_string == 'null')
400
+
401
+ unless pack.nil?
402
+
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
412
+ end
413
+
414
+ require_relative '../' + module_name + '/' + file_name
415
+ pack = Utility.path_to_package(pack)
416
+ class_detail = Initializer.json_details[pack.to_s]
417
+
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
422
+
423
+ instance = if pack.is_a? String
424
+
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
433
+
434
+ require_relative '../record/record'
435
+
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
443
+ end
444
+
445
+ instance
446
+ end
447
+
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)
452
+
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
458
+ end
459
+
460
+ instance
461
+ end
462
+
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 = {}
467
+
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
477
+ end
478
+ module_detail = module_detail.merge(class_detail)
479
+ record_detail = Initializer.json_details[Constants::RECORD_NAMESPACE]
480
+
481
+ # superclass check
482
+ key_values = {}
483
+
484
+ response_json.each_key do |key_name|
485
+ member_name = build_name(key_name)
486
+ key_detail = {}
487
+
488
+ if !module_detail.empty? && (module_detail.key?(member_name) || module_detail.key?(key_name))
489
+
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
498
+
499
+ key_data = response_json[key_name]
500
+ key_value = nil
501
+
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
510
+ end
511
+
512
+ record_instance.instance_variable_set(Constants::AT + Constants::KEY_VALUES, key_values)
513
+ record_instance
514
+ end
515
+
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
535
+ end
536
+
537
+ member_value
538
+ end
539
+
540
+ def get_map_data(response, member_detail)
541
+ map_instance = {}
542
+ unless response.empty?
543
+
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]
550
+
551
+ keys_detail.each do |key_detail|
552
+ key_name = key_detail[Constants::NAME]
553
+
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
558
+ end
559
+ end
560
+ end
561
+ map_instance
562
+ end
563
+
564
+ def get_collections_data(responses, member_detail)
565
+ values = []
566
+
567
+ unless responses.empty?
568
+
569
+ if member_detail.nil? || (!member_detail.nil? && !(member_detail.include? Constants::STRUCTURE_NAME))
570
+
571
+ responses.each do |response|
572
+ values.push(redirector_for_json_to_object(response))
573
+ end
574
+ else
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
591
+ end
592
+ end
593
+ end
594
+
595
+ values
596
+ end
597
+
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
603
+
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
611
+ end
612
+ end
613
+
614
+ def find_match(classes, response_json)
615
+ pack = ''
616
+ ratio = 0
617
+
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
630
+
631
+ get_response(response_json, pack)
632
+ end
633
+
634
+ def find_ratio(class_name, response_json)
635
+ require_relative '../initializer'
636
+
637
+ class_json_details = Initializer.json_details[class_name]
638
+ total_points = class_json_details.keys.length
639
+ matches = 0
640
+
641
+ return 0 if total_points.zero?
642
+
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
647
+
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
652
+
653
+ if member_json_details.key? Constants::STRUCTURE_NAME
654
+ structure_name = member_json_details[Constants::STRUCTURE_NAME]
655
+ end
656
+
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
670
+
671
+ if type == member_json_details[Constants::TYPE]
672
+ matches += 1
673
+ elsif member_json_details[Constants::TYPE].downcase == Constants::CHOICE_NAMESPACE.downcase
674
+ member_json_details[Constants::VALUES].each do |value|
675
+ if value == key_data
676
+ matches += 1
677
+ break
678
+ end
679
+ end
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
695
+ end
696
+ end
697
+ end
698
+
699
+ matches / total_points.to_f
700
+ end
701
+
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
710
+
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
716
+
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
722
+ end
723
+ end
724
+
725
+ sdk_name
726
+ end
727
+ end
728
+ end
729
+ end