insightly2 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (240) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +17 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +5 -0
  5. data/Gemfile +4 -0
  6. data/README.md +113 -0
  7. data/Rakefile +6 -0
  8. data/config/gem_secret.yml.example +1 -0
  9. data/insightly2.gemspec +29 -0
  10. data/lib/insightly2/client.rb +54 -0
  11. data/lib/insightly2/dsl/comments.rb +47 -0
  12. data/lib/insightly2/dsl/contacts.rb +130 -0
  13. data/lib/insightly2/dsl/countries.rb +12 -0
  14. data/lib/insightly2/dsl/currencies.rb +12 -0
  15. data/lib/insightly2/dsl/custom_fields.rb +22 -0
  16. data/lib/insightly2/dsl/emails.rb +57 -0
  17. data/lib/insightly2/dsl/events.rb +52 -0
  18. data/lib/insightly2/dsl/file_attachments.rb +14 -0
  19. data/lib/insightly2/dsl/file_categories.rb +52 -0
  20. data/lib/insightly2/dsl/notes.rb +85 -0
  21. data/lib/insightly2/dsl/opportunities.rb +134 -0
  22. data/lib/insightly2/dsl/opportunity_categories.rb +52 -0
  23. data/lib/insightly2/dsl/opportunity_state_reasons.rb +12 -0
  24. data/lib/insightly2/dsl/organisations.rb +128 -0
  25. data/lib/insightly2/dsl/pipeline_stages.rb +22 -0
  26. data/lib/insightly2/dsl/pipelines.rb +22 -0
  27. data/lib/insightly2/dsl/project_categories.rb +52 -0
  28. data/lib/insightly2/dsl/projects.rb +129 -0
  29. data/lib/insightly2/dsl/relationships.rb +12 -0
  30. data/lib/insightly2/dsl/tags.rb +15 -0
  31. data/lib/insightly2/dsl/task_categories.rb +52 -0
  32. data/lib/insightly2/dsl/tasks.rb +76 -0
  33. data/lib/insightly2/dsl/team_members.rb +53 -0
  34. data/lib/insightly2/dsl/teams.rb +53 -0
  35. data/lib/insightly2/dsl/users.rb +22 -0
  36. data/lib/insightly2/dsl.rb +65 -0
  37. data/lib/insightly2/errors/client_error.rb +10 -0
  38. data/lib/insightly2/errors/resource_not_found_error.rb +8 -0
  39. data/lib/insightly2/errors.rb +10 -0
  40. data/lib/insightly2/resources/comment.rb +10 -0
  41. data/lib/insightly2/resources/contact.rb +8 -0
  42. data/lib/insightly2/resources/country.rb +8 -0
  43. data/lib/insightly2/resources/currency.rb +8 -0
  44. data/lib/insightly2/resources/custom_field.rb +8 -0
  45. data/lib/insightly2/resources/email.rb +8 -0
  46. data/lib/insightly2/resources/event.rb +8 -0
  47. data/lib/insightly2/resources/file_attachment.rb +8 -0
  48. data/lib/insightly2/resources/file_category.rb +8 -0
  49. data/lib/insightly2/resources/note.rb +8 -0
  50. data/lib/insightly2/resources/object/attributes.rb +71 -0
  51. data/lib/insightly2/resources/object/serializers.rb +102 -0
  52. data/lib/insightly2/resources/object.rb +29 -0
  53. data/lib/insightly2/resources/opportunity.rb +8 -0
  54. data/lib/insightly2/resources/opportunity_category.rb +8 -0
  55. data/lib/insightly2/resources/opportunity_state_reason.rb +8 -0
  56. data/lib/insightly2/resources/organisation.rb +8 -0
  57. data/lib/insightly2/resources/pipeline.rb +8 -0
  58. data/lib/insightly2/resources/pipeline_stage.rb +8 -0
  59. data/lib/insightly2/resources/project.rb +8 -0
  60. data/lib/insightly2/resources/project_category.rb +8 -0
  61. data/lib/insightly2/resources/relationship.rb +8 -0
  62. data/lib/insightly2/resources/tag.rb +8 -0
  63. data/lib/insightly2/resources/task.rb +8 -0
  64. data/lib/insightly2/resources/task_category.rb +8 -0
  65. data/lib/insightly2/resources/team.rb +8 -0
  66. data/lib/insightly2/resources/team_member.rb +8 -0
  67. data/lib/insightly2/resources/user.rb +8 -0
  68. data/lib/insightly2/resources.rb +33 -0
  69. data/lib/insightly2/utils/url_helper.rb +17 -0
  70. data/lib/insightly2/utils.rb +8 -0
  71. data/lib/insightly2/version.rb +3 -0
  72. data/lib/insightly2.rb +22 -0
  73. data/spec/fixtures/vcr_cassettes/create_comment_attachment.yml +42 -0
  74. data/spec/fixtures/vcr_cassettes/create_contact.yml +47 -0
  75. data/spec/fixtures/vcr_cassettes/create_contact_image.yml +42 -0
  76. data/spec/fixtures/vcr_cassettes/create_email_comment.yml +47 -0
  77. data/spec/fixtures/vcr_cassettes/create_event.yml +95 -0
  78. data/spec/fixtures/vcr_cassettes/create_file_category.yml +89 -0
  79. data/spec/fixtures/vcr_cassettes/create_note.yml +95 -0
  80. data/spec/fixtures/vcr_cassettes/create_note_comment.yml +47 -0
  81. data/spec/fixtures/vcr_cassettes/create_note_file.yml +42 -0
  82. data/spec/fixtures/vcr_cassettes/create_opportunity.yml +98 -0
  83. data/spec/fixtures/vcr_cassettes/create_opportunity_category.yml +89 -0
  84. data/spec/fixtures/vcr_cassettes/create_opportunity_image.yml +42 -0
  85. data/spec/fixtures/vcr_cassettes/create_organisation.yml +116 -0
  86. data/spec/fixtures/vcr_cassettes/create_organisation_image.yml +42 -0
  87. data/spec/fixtures/vcr_cassettes/create_project.yml +106 -0
  88. data/spec/fixtures/vcr_cassettes/create_project_category.yml +89 -0
  89. data/spec/fixtures/vcr_cassettes/create_project_image.yml +42 -0
  90. data/spec/fixtures/vcr_cassettes/create_task.yml +98 -0
  91. data/spec/fixtures/vcr_cassettes/create_task_category.yml +89 -0
  92. data/spec/fixtures/vcr_cassettes/create_task_comment.yml +47 -0
  93. data/spec/fixtures/vcr_cassettes/create_team.yml +92 -0
  94. data/spec/fixtures/vcr_cassettes/create_team_member.yml +89 -0
  95. data/spec/fixtures/vcr_cassettes/delete_comment.yml +42 -0
  96. data/spec/fixtures/vcr_cassettes/delete_contact.yml +42 -0
  97. data/spec/fixtures/vcr_cassettes/delete_contact_image.yml +42 -0
  98. data/spec/fixtures/vcr_cassettes/delete_email.yml +42 -0
  99. data/spec/fixtures/vcr_cassettes/delete_event.yml +42 -0
  100. data/spec/fixtures/vcr_cassettes/delete_file_category.yml +42 -0
  101. data/spec/fixtures/vcr_cassettes/delete_note.yml +42 -0
  102. data/spec/fixtures/vcr_cassettes/delete_opportunity.yml +42 -0
  103. data/spec/fixtures/vcr_cassettes/delete_opportunity_category.yml +42 -0
  104. data/spec/fixtures/vcr_cassettes/delete_opportunity_image.yml +42 -0
  105. data/spec/fixtures/vcr_cassettes/delete_organisation.yml +42 -0
  106. data/spec/fixtures/vcr_cassettes/delete_organisation_image.yml +42 -0
  107. data/spec/fixtures/vcr_cassettes/delete_project.yml +42 -0
  108. data/spec/fixtures/vcr_cassettes/delete_project_category.yml +42 -0
  109. data/spec/fixtures/vcr_cassettes/delete_project_image.yml +42 -0
  110. data/spec/fixtures/vcr_cassettes/delete_task.yml +42 -0
  111. data/spec/fixtures/vcr_cassettes/delete_task_category.yml +42 -0
  112. data/spec/fixtures/vcr_cassettes/delete_team.yml +42 -0
  113. data/spec/fixtures/vcr_cassettes/delete_team_member.yml +42 -0
  114. data/spec/fixtures/vcr_cassettes/get_comment.yml +47 -0
  115. data/spec/fixtures/vcr_cassettes/get_contact.yml +47 -0
  116. data/spec/fixtures/vcr_cassettes/get_contact_emails.yml +47 -0
  117. data/spec/fixtures/vcr_cassettes/get_contact_image.yml +44 -0
  118. data/spec/fixtures/vcr_cassettes/get_contact_notes.yml +48 -0
  119. data/spec/fixtures/vcr_cassettes/get_contact_tasks.yml +48 -0
  120. data/spec/fixtures/vcr_cassettes/get_contacts.yml +184 -0
  121. data/spec/fixtures/vcr_cassettes/get_countries.yml +85 -0
  122. data/spec/fixtures/vcr_cassettes/get_currencies.yml +124 -0
  123. data/spec/fixtures/vcr_cassettes/get_custom_field.yml +46 -0
  124. data/spec/fixtures/vcr_cassettes/get_custom_fields.yml +46 -0
  125. data/spec/fixtures/vcr_cassettes/get_email.yml +48 -0
  126. data/spec/fixtures/vcr_cassettes/get_email_comments.yml +49 -0
  127. data/spec/fixtures/vcr_cassettes/get_emails.yml +47 -0
  128. data/spec/fixtures/vcr_cassettes/get_event.yml +48 -0
  129. data/spec/fixtures/vcr_cassettes/get_events.yml +48 -0
  130. data/spec/fixtures/vcr_cassettes/get_file_attachment.yml +4057 -0
  131. data/spec/fixtures/vcr_cassettes/get_file_categories.yml +46 -0
  132. data/spec/fixtures/vcr_cassettes/get_file_category.yml +46 -0
  133. data/spec/fixtures/vcr_cassettes/get_note.yml +48 -0
  134. data/spec/fixtures/vcr_cassettes/get_note_comments.yml +48 -0
  135. data/spec/fixtures/vcr_cassettes/get_notes.yml +52 -0
  136. data/spec/fixtures/vcr_cassettes/get_opportunities.yml +81 -0
  137. data/spec/fixtures/vcr_cassettes/get_opportunity.yml +49 -0
  138. data/spec/fixtures/vcr_cassettes/get_opportunity_categories.yml +46 -0
  139. data/spec/fixtures/vcr_cassettes/get_opportunity_category.yml +46 -0
  140. data/spec/fixtures/vcr_cassettes/get_opportunity_emails.yml +48 -0
  141. data/spec/fixtures/vcr_cassettes/get_opportunity_image.yml +44 -0
  142. data/spec/fixtures/vcr_cassettes/get_opportunity_notes.yml +48 -0
  143. data/spec/fixtures/vcr_cassettes/get_opportunity_state_history.yml +83 -0
  144. data/spec/fixtures/vcr_cassettes/get_opportunity_state_reasons.yml +47 -0
  145. data/spec/fixtures/vcr_cassettes/get_opportunity_tasks.yml +49 -0
  146. data/spec/fixtures/vcr_cassettes/get_organisation.yml +55 -0
  147. data/spec/fixtures/vcr_cassettes/get_organisation_emails.yml +48 -0
  148. data/spec/fixtures/vcr_cassettes/get_organisation_image.yml +42 -0
  149. data/spec/fixtures/vcr_cassettes/get_organisation_notes.yml +47 -0
  150. data/spec/fixtures/vcr_cassettes/get_organisation_tasks.yml +48 -0
  151. data/spec/fixtures/vcr_cassettes/get_organisations.yml +2092 -0
  152. data/spec/fixtures/vcr_cassettes/get_pipeline.yml +46 -0
  153. data/spec/fixtures/vcr_cassettes/get_pipeline_stage.yml +46 -0
  154. data/spec/fixtures/vcr_cassettes/get_pipeline_stages.yml +49 -0
  155. data/spec/fixtures/vcr_cassettes/get_pipelines.yml +46 -0
  156. data/spec/fixtures/vcr_cassettes/get_project.yml +52 -0
  157. data/spec/fixtures/vcr_cassettes/get_project_categories.yml +46 -0
  158. data/spec/fixtures/vcr_cassettes/get_project_category.yml +46 -0
  159. data/spec/fixtures/vcr_cassettes/get_project_emails.yml +48 -0
  160. data/spec/fixtures/vcr_cassettes/get_project_image.yml +44 -0
  161. data/spec/fixtures/vcr_cassettes/get_project_notes.yml +47 -0
  162. data/spec/fixtures/vcr_cassettes/get_project_tasks.yml +48 -0
  163. data/spec/fixtures/vcr_cassettes/get_projects.yml +52 -0
  164. data/spec/fixtures/vcr_cassettes/get_task.yml +49 -0
  165. data/spec/fixtures/vcr_cassettes/get_task_categories.yml +47 -0
  166. data/spec/fixtures/vcr_cassettes/get_task_category.yml +46 -0
  167. data/spec/fixtures/vcr_cassettes/get_task_comments.yml +47 -0
  168. data/spec/fixtures/vcr_cassettes/get_tasks.yml +148 -0
  169. data/spec/fixtures/vcr_cassettes/get_team.yml +47 -0
  170. data/spec/fixtures/vcr_cassettes/get_team_member.yml +46 -0
  171. data/spec/fixtures/vcr_cassettes/get_team_members.yml +46 -0
  172. data/spec/fixtures/vcr_cassettes/get_teams.yml +47 -0
  173. data/spec/fixtures/vcr_cassettes/get_user.yml +48 -0
  174. data/spec/fixtures/vcr_cassettes/get_users.yml +48 -0
  175. data/spec/fixtures/vcr_cassettes/update_comment.yml +97 -0
  176. data/spec/fixtures/vcr_cassettes/update_contact.yml +94 -0
  177. data/spec/fixtures/vcr_cassettes/update_contact_image.yml +42 -0
  178. data/spec/fixtures/vcr_cassettes/update_event.yml +97 -0
  179. data/spec/fixtures/vcr_cassettes/update_file_category.yml +91 -0
  180. data/spec/fixtures/vcr_cassettes/update_note.yml +100 -0
  181. data/spec/fixtures/vcr_cassettes/update_opportunity.yml +100 -0
  182. data/spec/fixtures/vcr_cassettes/update_opportunity_category.yml +91 -0
  183. data/spec/fixtures/vcr_cassettes/update_opportunity_image.yml +42 -0
  184. data/spec/fixtures/vcr_cassettes/update_organisation.yml +118 -0
  185. data/spec/fixtures/vcr_cassettes/update_organisation_image.yml +42 -0
  186. data/spec/fixtures/vcr_cassettes/update_project.yml +109 -0
  187. data/spec/fixtures/vcr_cassettes/update_project_category.yml +91 -0
  188. data/spec/fixtures/vcr_cassettes/update_project_image.yml +42 -0
  189. data/spec/fixtures/vcr_cassettes/update_task.yml +100 -0
  190. data/spec/fixtures/vcr_cassettes/update_task_category.yml +91 -0
  191. data/spec/fixtures/vcr_cassettes/update_team.yml +94 -0
  192. data/spec/fixtures/vcr_cassettes/update_team_member.yml +91 -0
  193. data/spec/fixtures/vcr_cassettes/z_insightly_client_status_check.yml +48 -0
  194. data/spec/insightly2/client_spec.rb +12 -0
  195. data/spec/insightly2/dsl/comments_spec.rb +45 -0
  196. data/spec/insightly2/dsl/contacts_spec.rb +130 -0
  197. data/spec/insightly2/dsl/countries_spec.rb +14 -0
  198. data/spec/insightly2/dsl/currencies_spec.rb +14 -0
  199. data/spec/insightly2/dsl/custom_fields_spec.rb +25 -0
  200. data/spec/insightly2/dsl/emails_spec.rb +56 -0
  201. data/spec/insightly2/dsl/events_spec.rb +55 -0
  202. data/spec/insightly2/dsl/file_attachments_spec.rb +15 -0
  203. data/spec/insightly2/dsl/file_categories_spec.rb +55 -0
  204. data/spec/insightly2/dsl/notes_spec.rb +86 -0
  205. data/spec/insightly2/dsl/opportunities_spec.rb +143 -0
  206. data/spec/insightly2/dsl/opportunity_categories_spec.rb +55 -0
  207. data/spec/insightly2/dsl/opportunity_state_reasons_spec.rb +14 -0
  208. data/spec/insightly2/dsl/organisations_spec.rb +131 -0
  209. data/spec/insightly2/dsl/pipeline_stages_spec.rb +25 -0
  210. data/spec/insightly2/dsl/pipelines_spec.rb +25 -0
  211. data/spec/insightly2/dsl/project_categories_spec.rb +55 -0
  212. data/spec/insightly2/dsl/projects_spec.rb +131 -0
  213. data/spec/insightly2/dsl/task_categories_spec.rb +55 -0
  214. data/spec/insightly2/dsl/tasks_spec.rb +75 -0
  215. data/spec/insightly2/dsl/team_members_spec.rb +56 -0
  216. data/spec/insightly2/dsl/teams_spec.rb +55 -0
  217. data/spec/insightly2/dsl/users_spec.rb +25 -0
  218. data/spec/insightly2/resources/comment_spec.rb +27 -0
  219. data/spec/insightly2/resources/contact_spec.rb +28 -0
  220. data/spec/insightly2/resources/custom_field_spec.rb +22 -0
  221. data/spec/insightly2/resources/email_spec.rb +29 -0
  222. data/spec/insightly2/resources/event_spec.rb +29 -0
  223. data/spec/insightly2/resources/file_attachment_spec.rb +31 -0
  224. data/spec/insightly2/resources/file_category_spec.rb +21 -0
  225. data/spec/insightly2/resources/note_spec.rb +29 -0
  226. data/spec/insightly2/resources/opportunity_category_spec.rb +21 -0
  227. data/spec/insightly2/resources/opportunity_spec.rb +30 -0
  228. data/spec/insightly2/resources/organisation_spec.rb +29 -0
  229. data/spec/insightly2/resources/pipeline_spec.rb +21 -0
  230. data/spec/insightly2/resources/pipeline_stage_spec.rb +21 -0
  231. data/spec/insightly2/resources/project_category_spec.rb +21 -0
  232. data/spec/insightly2/resources/project_spec.rb +30 -0
  233. data/spec/insightly2/resources/task_category_spec.rb +21 -0
  234. data/spec/insightly2/resources/task_spec.rb +32 -0
  235. data/spec/insightly2/resources/team_member_spec.rb +21 -0
  236. data/spec/insightly2/resources/team_spec.rb +27 -0
  237. data/spec/insightly2/resources/user_spec.rb +29 -0
  238. data/spec/insightly2_spec.rb +15 -0
  239. data/spec/spec_helper.rb +20 -0
  240. metadata +551 -0
@@ -0,0 +1,8 @@
1
+ require 'insightly2/resources/object'
2
+
3
+ module Insightly2
4
+ module Resources
5
+ class OpportunityStateReason < Insightly2::Resources::Object
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ require 'insightly2/resources/object'
2
+
3
+ module Insightly2
4
+ module Resources
5
+ class Organisation < Insightly2::Resources::Object
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ require 'insightly2/resources/object'
2
+
3
+ module Insightly2
4
+ module Resources
5
+ class Pipeline < Insightly2::Resources::Object
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ require 'insightly2/resources/object'
2
+
3
+ module Insightly2
4
+ module Resources
5
+ class PipelineStage < Insightly2::Resources::Object
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ require 'insightly2/resources/object'
2
+
3
+ module Insightly2
4
+ module Resources
5
+ class Project < Insightly2::Resources::Object
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ require 'insightly2/resources/object'
2
+
3
+ module Insightly2
4
+ module Resources
5
+ class ProjectCategory < Insightly2::Resources::Object
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ require 'insightly2/resources/object'
2
+
3
+ module Insightly2
4
+ module Resources
5
+ class Relationship < Insightly2::Resources::Object
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ require 'insightly2/resources/object'
2
+
3
+ module Insightly2
4
+ module Resources
5
+ class Tag < Insightly2::Resources::Object
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ require 'insightly2/resources/object'
2
+
3
+ module Insightly2
4
+ module Resources
5
+ class Task < Insightly2::Resources::Object
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ require 'insightly2/resources/object'
2
+
3
+ module Insightly2
4
+ module Resources
5
+ class TaskCategory < Insightly2::Resources::Object
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ require 'insightly2/resources/object'
2
+
3
+ module Insightly2
4
+ module Resources
5
+ class Team < Insightly2::Resources::Object
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ require 'insightly2/resources/object'
2
+
3
+ module Insightly2
4
+ module Resources
5
+ class TeamMember < Insightly2::Resources::Object
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ require 'insightly2/resources/object'
2
+
3
+ module Insightly2
4
+ module Resources
5
+ class User < Insightly2::Resources::Object
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,33 @@
1
+ require 'insightly2'
2
+
3
+ module Insightly2
4
+ module Resources
5
+ end
6
+ end
7
+
8
+ require 'insightly2/resources/object'
9
+ require 'insightly2/resources/comment'
10
+ require 'insightly2/resources/contact'
11
+ require 'insightly2/resources/custom_field'
12
+ require 'insightly2/resources/country'
13
+ require 'insightly2/resources/currency'
14
+ require 'insightly2/resources/email'
15
+ require 'insightly2/resources/event'
16
+ require 'insightly2/resources/file_attachment'
17
+ require 'insightly2/resources/file_category'
18
+ require 'insightly2/resources/note'
19
+ require 'insightly2/resources/opportunity_category'
20
+ require 'insightly2/resources/opportunity'
21
+ require 'insightly2/resources/opportunity_state_reason'
22
+ require 'insightly2/resources/organisation'
23
+ require 'insightly2/resources/pipeline'
24
+ require 'insightly2/resources/pipeline_stage'
25
+ require 'insightly2/resources/project'
26
+ require 'insightly2/resources/project_category'
27
+ require 'insightly2/resources/tag'
28
+ require 'insightly2/resources/task_category'
29
+ require 'insightly2/resources/task'
30
+ require 'insightly2/resources/team_member'
31
+ require 'insightly2/resources/team'
32
+ require 'insightly2/resources/user'
33
+
@@ -0,0 +1,17 @@
1
+ module Insightly2
2
+ module Utils
3
+ class UrlHelper
4
+ # Build a URL with a querystring containing optional params if supplied.
5
+ # @param [UrlHelper] path The name of the resource path as per the URL e.g. contacts.
6
+ # @param [Hash] params A hash of params we're turning into a querystring.
7
+ # @return [UrlHelper] The URL of the resource with required params.
8
+ def self.build_url(path:, params:)
9
+ params.delete_if {|k,v| v.blank?}
10
+ params = params.to_query
11
+ query = path
12
+ query << ("?" + params) unless params.blank?
13
+ query
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,8 @@
1
+ require 'insightly2'
2
+
3
+ module Insightly2
4
+ module Utils
5
+ end
6
+ end
7
+
8
+ require 'insightly2/utils/url_helper'
@@ -0,0 +1,3 @@
1
+ module Insightly2
2
+ VERSION = '0.1.4'
3
+ end
data/lib/insightly2.rb ADDED
@@ -0,0 +1,22 @@
1
+ require 'insightly2/version'
2
+
3
+ module Insightly2
4
+ autoload :Client, 'insightly2/client'
5
+ autoload :DSL, 'insightly2/dsl'
6
+ autoload :Resources, 'insightly2/resources'
7
+ autoload :Errors, 'insightly2/errors'
8
+ autoload :Utils, 'insightly2/utils'
9
+
10
+ class << self
11
+ # @return [String]
12
+ attr_accessor :api_key
13
+ attr_accessor :logger
14
+ end
15
+
16
+ module_function
17
+
18
+ # @return [Insightly2::Client]
19
+ def client
20
+ @client ||= Client.new(Insightly2.api_key)
21
+ end
22
+ end
@@ -0,0 +1,42 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://<INSIGHTLY_API_KEY>:@api.insight.ly/v2.1/Comments/?c_id=3469515&filename=1.jpg
6
+ body:
7
+ encoding: UTF-8
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.9.0
12
+ Accept:
13
+ - application/json
14
+ Content-Type:
15
+ - application/json
16
+ Accept-Encoding:
17
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
+ response:
19
+ status:
20
+ code: 201
21
+ message: Created
22
+ headers:
23
+ Cache-Control:
24
+ - no-cache
25
+ Pragma:
26
+ - no-cache
27
+ Expires:
28
+ - "-1"
29
+ Server:
30
+ - Microsoft-IIS/7.5
31
+ Date:
32
+ - Sat, 04 Oct 2014 16:38:16 GMT
33
+ Content-Length:
34
+ - '0'
35
+ Set-Cookie:
36
+ - snaptid=sac1prdc01ut04; path=/
37
+ body:
38
+ encoding: UTF-8
39
+ string: ''
40
+ http_version:
41
+ recorded_at: Sat, 04 Oct 2014 16:38:09 GMT
42
+ recorded_with: VCR 2.9.0
@@ -0,0 +1,47 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://<INSIGHTLY_API_KEY>:@api.insight.ly/v2.1/Contacts
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"first_name":"Shark","last_name":"Nado"}'
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.9.0
12
+ Accept:
13
+ - application/json
14
+ Content-Type:
15
+ - application/json
16
+ Accept-Encoding:
17
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
+ response:
19
+ status:
20
+ code: 201
21
+ message: Created
22
+ headers:
23
+ Cache-Control:
24
+ - no-cache
25
+ Pragma:
26
+ - no-cache
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Expires:
30
+ - "-1"
31
+ Location:
32
+ - https://api.insight.ly/v2.1/Contacts/80192679
33
+ Server:
34
+ - Microsoft-IIS/7.5
35
+ Date:
36
+ - Sat, 04 Oct 2014 18:24:31 GMT
37
+ Content-Length:
38
+ - '470'
39
+ Set-Cookie:
40
+ - snaptid=sac1prdc01ut04; path=/
41
+ body:
42
+ encoding: UTF-8
43
+ string: '{"CONTACT_ID":80192679,"SALUTATION":null,"FIRST_NAME":"Shark","LAST_NAME":"Nado","BACKGROUND":null,"IMAGE_URL":"http://s3.amazonaws.com/insightly.userfiles/339351/","DEFAULT_LINKED_ORGANISATION":null,"DATE_CREATED_UTC":"2014-10-04
44
+ 18:24:32","DATE_UPDATED_UTC":"2014-10-04 18:24:32","VISIBLE_TO":"EVERYONE","VISIBLE_TEAM_ID":null,"VISIBLE_USER_IDS":null,"CUSTOMFIELDS":[],"ADDRESSES":[],"CONTACTINFOS":[],"DATES":[],"TAGS":[],"LINKS":[],"CONTACTLINKS":[],"EMAILLINKS":[]}'
45
+ http_version:
46
+ recorded_at: Sat, 04 Oct 2014 18:24:25 GMT
47
+ recorded_with: VCR 2.9.0
@@ -0,0 +1,42 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://<INSIGHTLY_API_KEY>:@api.insight.ly/v2.1/Contacts/70653019/Image/1.jpg
6
+ body:
7
+ encoding: UTF-8
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.9.0
12
+ Accept:
13
+ - application/json
14
+ Content-Type:
15
+ - application/json
16
+ Accept-Encoding:
17
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
+ response:
19
+ status:
20
+ code: 417
21
+ message: Expectation Failed
22
+ headers:
23
+ Cache-Control:
24
+ - no-cache
25
+ Pragma:
26
+ - no-cache
27
+ Expires:
28
+ - "-1"
29
+ Server:
30
+ - Microsoft-IIS/7.5
31
+ Date:
32
+ - Sat, 04 Oct 2014 18:27:50 GMT
33
+ Content-Length:
34
+ - '0'
35
+ Set-Cookie:
36
+ - snaptid=sac1prdc01ut04; path=/
37
+ body:
38
+ encoding: UTF-8
39
+ string: ''
40
+ http_version:
41
+ recorded_at: Sat, 04 Oct 2014 18:27:43 GMT
42
+ recorded_with: VCR 2.9.0
@@ -0,0 +1,47 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://<INSIGHTLY_API_KEY>:@api.insight.ly/v2.1/Emails/17683283/Comments
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"title":"Sharknado"}'
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.9.0
12
+ Accept:
13
+ - application/json
14
+ Content-Type:
15
+ - application/json
16
+ Accept-Encoding:
17
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
+ response:
19
+ status:
20
+ code: 201
21
+ message: Created
22
+ headers:
23
+ Cache-Control:
24
+ - no-cache
25
+ Pragma:
26
+ - no-cache
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Expires:
30
+ - "-1"
31
+ Location:
32
+ - https://api.insight.ly/v2.1/Comments/3469728
33
+ Server:
34
+ - Microsoft-IIS/7.5
35
+ Date:
36
+ - Sat, 04 Oct 2014 22:31:56 GMT
37
+ Content-Length:
38
+ - '163'
39
+ Set-Cookie:
40
+ - snaptid=sac1prdc01ut03; path=/
41
+ body:
42
+ encoding: UTF-8
43
+ string: '{"COMMENT_ID":3469728,"BODY":null,"OWNER_USER_ID":607181,"DATE_CREATED_UTC":"2014-10-04
44
+ 22:31:55","DATE_UPDATED_UTC":"2014-10-04 22:31:55","FILE_ATTACHMENTS":null}'
45
+ http_version:
46
+ recorded_at: Sat, 04 Oct 2014 22:31:48 GMT
47
+ recorded_with: VCR 2.9.0
@@ -0,0 +1,95 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://<INSIGHTLY_API_KEY>:@api.insight.ly/v2.1/Events/2402366
6
+ body:
7
+ encoding: UTF-8
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.9.0
12
+ Accept:
13
+ - application/json
14
+ Content-Type:
15
+ - application/json
16
+ Accept-Encoding:
17
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Cache-Control:
24
+ - no-cache
25
+ Pragma:
26
+ - no-cache
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Expires:
30
+ - "-1"
31
+ Vary:
32
+ - Accept-Encoding
33
+ Server:
34
+ - Microsoft-IIS/7.5
35
+ Date:
36
+ - Sat, 04 Oct 2014 22:43:41 GMT
37
+ Content-Length:
38
+ - '446'
39
+ Set-Cookie:
40
+ - snaptid=sac1prdc01ut03; path=/
41
+ body:
42
+ encoding: UTF-8
43
+ string: '{"EVENT_ID":2402366,"TITLE":"A tornado of sharks","LOCATION":null,"DETAILS":null,"START_DATE_UTC":"2014-10-04
44
+ 23:00:00","END_DATE_UTC":"2014-10-05 00:00:00","ALL_DAY":false,"PUBLICLY_VISIBLE":true,"REMINDER_DATE_UTC":null,"REMINDER_SENT":false,"EVENTLINKS":[{"EVENT_LINK_ID":755567,"EVENT_ID":2402366,"CONTACT_ID":80192679,"ORGANISATION_ID":null,"OPPORTUNITY_ID":null,"PROJECT_ID":null}],"OWNER_USER_ID":607181,"DATE_CREATED_UTC":"2014-10-04
45
+ 22:36:09","DATE_UPDATED_UTC":"2014-10-04 22:36:09"}'
46
+ http_version:
47
+ recorded_at: Sat, 04 Oct 2014 22:43:34 GMT
48
+ - request:
49
+ method: post
50
+ uri: https://<INSIGHTLY_API_KEY>:@api.insight.ly/v2.1/Events
51
+ body:
52
+ encoding: UTF-8
53
+ string: '{"EVENT_ID":2402366,"TITLE":"A tornado of sharks","LOCATION":null,"DETAILS":null,"START_DATE_UTC":"2014-10-04
54
+ 23:00:00","END_DATE_UTC":"2014-10-05 00:00:00","ALL_DAY":false,"PUBLICLY_VISIBLE":true,"REMINDER_DATE_UTC":null,"REMINDER_SENT":false,"EVENTLINKS":[{"EVENT_LINK_ID":755567,"EVENT_ID":2402366,"CONTACT_ID":80192679,"ORGANISATION_ID":null,"OPPORTUNITY_ID":null,"PROJECT_ID":null}],"OWNER_USER_ID":607181,"DATE_CREATED_UTC":"2014-10-04
55
+ 22:36:09","DATE_UPDATED_UTC":"2014-10-04 22:36:09"}'
56
+ headers:
57
+ User-Agent:
58
+ - Faraday v0.9.0
59
+ Accept:
60
+ - application/json
61
+ Content-Type:
62
+ - application/json
63
+ Accept-Encoding:
64
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
65
+ response:
66
+ status:
67
+ code: 201
68
+ message: Created
69
+ headers:
70
+ Cache-Control:
71
+ - no-cache
72
+ Pragma:
73
+ - no-cache
74
+ Content-Type:
75
+ - application/json; charset=utf-8
76
+ Expires:
77
+ - "-1"
78
+ Location:
79
+ - https://api.insight.ly/v2.1/Events/2402379
80
+ Server:
81
+ - Microsoft-IIS/7.5
82
+ Date:
83
+ - Sat, 04 Oct 2014 22:43:42 GMT
84
+ Content-Length:
85
+ - '493'
86
+ Set-Cookie:
87
+ - snaptid=sac1prdc01ut03; path=/
88
+ body:
89
+ encoding: UTF-8
90
+ string: '{"EVENT_ID":2402379,"TITLE":"A tornado of sharks","LOCATION":null,"DETAILS":null,"START_DATE_UTC":"2014-10-04
91
+ 23:00:00","END_DATE_UTC":"2014-10-05 00:00:00","ALL_DAY":false,"PUBLICLY_VISIBLE":true,"REMINDER_DATE_UTC":null,"REMINDER_SENT":false,"EVENTLINKS":[{"EVENT_LINK_ID":755571,"EVENT_ID":2402379,"CONTACT_ID":80192679,"ORGANISATION_ID":null,"OPPORTUNITY_ID":null,"PROJECT_ID":null}],"OWNER_USER_ID":607181,"DATE_CREATED_UTC":"2014-10-04
92
+ 22:43:42","DATE_UPDATED_UTC":"2014-10-04 22:43:42"}'
93
+ http_version:
94
+ recorded_at: Sat, 04 Oct 2014 22:43:35 GMT
95
+ recorded_with: VCR 2.9.0
@@ -0,0 +1,89 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://<INSIGHTLY_API_KEY>:@api.insight.ly/v2.1/FileCategories/1947439
6
+ body:
7
+ encoding: UTF-8
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.9.0
12
+ Accept:
13
+ - application/json
14
+ Content-Type:
15
+ - application/json
16
+ Accept-Encoding:
17
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Cache-Control:
24
+ - no-cache
25
+ Pragma:
26
+ - no-cache
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Expires:
30
+ - "-1"
31
+ Vary:
32
+ - Accept-Encoding
33
+ Server:
34
+ - Microsoft-IIS/7.5
35
+ Date:
36
+ - Sat, 04 Oct 2014 23:10:02 GMT
37
+ Content-Length:
38
+ - '210'
39
+ Set-Cookie:
40
+ - snaptid=sac1prdc01ut03; path=/
41
+ body:
42
+ encoding: UTF-8
43
+ string: '{"CATEGORY_ID":1947439,"CATEGORY_NAME":"Follow-up","ACTIVE":true,"BACKGROUND_COLOR":"2f9a84"}'
44
+ http_version:
45
+ recorded_at: Sat, 04 Oct 2014 23:09:55 GMT
46
+ - request:
47
+ method: post
48
+ uri: https://<INSIGHTLY_API_KEY>:@api.insight.ly/v2.1/FileCategories
49
+ body:
50
+ encoding: UTF-8
51
+ string: '{"CATEGORY_ID":1947439,"CATEGORY_NAME":"Follow-up","ACTIVE":true,"BACKGROUND_COLOR":"2f9a84"}'
52
+ headers:
53
+ User-Agent:
54
+ - Faraday v0.9.0
55
+ Accept:
56
+ - application/json
57
+ Content-Type:
58
+ - application/json
59
+ Accept-Encoding:
60
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
61
+ response:
62
+ status:
63
+ code: 201
64
+ message: Created
65
+ headers:
66
+ Cache-Control:
67
+ - no-cache
68
+ Pragma:
69
+ - no-cache
70
+ Content-Type:
71
+ - application/json; charset=utf-8
72
+ Expires:
73
+ - "-1"
74
+ Location:
75
+ - https://api.insight.ly/v2.1/FileCategories/2175382
76
+ Server:
77
+ - Microsoft-IIS/7.5
78
+ Date:
79
+ - Sat, 04 Oct 2014 23:10:03 GMT
80
+ Content-Length:
81
+ - '93'
82
+ Set-Cookie:
83
+ - snaptid=sac1prdc01ut06; path=/
84
+ body:
85
+ encoding: UTF-8
86
+ string: '{"CATEGORY_ID":2175382,"CATEGORY_NAME":"Follow-up","ACTIVE":true,"BACKGROUND_COLOR":"2f9a84"}'
87
+ http_version:
88
+ recorded_at: Sat, 04 Oct 2014 23:09:55 GMT
89
+ recorded_with: VCR 2.9.0
@@ -0,0 +1,95 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://<INSIGHTLY_API_KEY>:@api.insight.ly/v2.1/Notes/15377334
6
+ body:
7
+ encoding: UTF-8
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.9.0
12
+ Accept:
13
+ - application/json
14
+ Content-Type:
15
+ - application/json
16
+ Accept-Encoding:
17
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Cache-Control:
24
+ - no-cache
25
+ Pragma:
26
+ - no-cache
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Expires:
30
+ - "-1"
31
+ Vary:
32
+ - Accept-Encoding
33
+ Server:
34
+ - Microsoft-IIS/7.5
35
+ Date:
36
+ - Sat, 04 Oct 2014 23:22:14 GMT
37
+ Content-Length:
38
+ - '469'
39
+ Set-Cookie:
40
+ - snaptid=sac1prdc01ut06; path=/
41
+ body:
42
+ encoding: UTF-8
43
+ string: '{"NOTE_ID":15377334,"TITLE":"Don''t mess with the nado","BODY":"\r\n<p>It''s
44
+ indeed not advisable to mess with the nado.</p>\r\n","LINK_SUBJECT_ID":80192679,"LINK_SUBJECT_TYPE":"Contact","OWNER_USER_ID":607181,"DATE_CREATED_UTC":"2014-10-04
45
+ 23:15:39","DATE_UPDATED_UTC":"2014-10-04 23:15:39","VISIBLE_TO":"EVERYONE","VISIBLE_TEAM_ID":null,"VISIBLE_USER_IDS":null,"FILE_ATTACHMENTS":[],"NOTELINKS":[{"NOTE_LINK_ID":16815716,"NOTE_ID":15377334,"CONTACT_ID":80192679,"ORGANISATION_ID":null,"OPPORTUNITY_ID":null,"PROJECT_ID":null}]}'
46
+ http_version:
47
+ recorded_at: Sat, 04 Oct 2014 23:22:07 GMT
48
+ - request:
49
+ method: post
50
+ uri: https://<INSIGHTLY_API_KEY>:@api.insight.ly/v2.1/Notes
51
+ body:
52
+ encoding: UTF-8
53
+ string: '{"NOTE_ID":15377334,"TITLE":"Don''t mess with the nado","BODY":"\r\n<p>It''s
54
+ indeed not advisable to mess with the nado.</p>\r\n","LINK_SUBJECT_ID":80192679,"LINK_SUBJECT_TYPE":"Contact","OWNER_USER_ID":607181,"DATE_CREATED_UTC":"2014-10-04
55
+ 23:15:39","DATE_UPDATED_UTC":"2014-10-04 23:15:39","VISIBLE_TO":"EVERYONE","VISIBLE_TEAM_ID":null,"VISIBLE_USER_IDS":null,"FILE_ATTACHMENTS":[],"NOTELINKS":[{"NOTE_LINK_ID":16815716,"NOTE_ID":15377334,"CONTACT_ID":80192679,"ORGANISATION_ID":null,"OPPORTUNITY_ID":null,"PROJECT_ID":null}]}'
56
+ headers:
57
+ User-Agent:
58
+ - Faraday v0.9.0
59
+ Accept:
60
+ - application/json
61
+ Content-Type:
62
+ - application/json
63
+ Accept-Encoding:
64
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
65
+ response:
66
+ status:
67
+ code: 201
68
+ message: Created
69
+ headers:
70
+ Cache-Control:
71
+ - no-cache
72
+ Pragma:
73
+ - no-cache
74
+ Content-Type:
75
+ - application/json; charset=utf-8
76
+ Expires:
77
+ - "-1"
78
+ Location:
79
+ - https://api.insight.ly/v2.1/Notes/15377358
80
+ Server:
81
+ - Microsoft-IIS/7.5
82
+ Date:
83
+ - Sat, 04 Oct 2014 23:22:14 GMT
84
+ Content-Length:
85
+ - '527'
86
+ Set-Cookie:
87
+ - snaptid=sac1prdc01ut05; path=/
88
+ body:
89
+ encoding: UTF-8
90
+ string: '{"NOTE_ID":15377358,"TITLE":"Don''t mess with the nado","BODY":"\r\n<p>It''s
91
+ indeed not advisable to mess with the nado.</p>\r\n","LINK_SUBJECT_ID":80192679,"LINK_SUBJECT_TYPE":"CONTACT","OWNER_USER_ID":607181,"DATE_CREATED_UTC":"2014-10-04
92
+ 23:22:15","DATE_UPDATED_UTC":"2014-10-04 23:22:15","VISIBLE_TO":"EVERYONE","VISIBLE_TEAM_ID":null,"VISIBLE_USER_IDS":null,"FILE_ATTACHMENTS":[],"NOTELINKS":[{"NOTE_LINK_ID":16815740,"NOTE_ID":15377358,"CONTACT_ID":80192679,"ORGANISATION_ID":null,"OPPORTUNITY_ID":null,"PROJECT_ID":null}]}'
93
+ http_version:
94
+ recorded_at: Sat, 04 Oct 2014 23:22:07 GMT
95
+ recorded_with: VCR 2.9.0