ZCRMSDK 1.0.4 → 3.0.0

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