bugsnag-api 1.0.3 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +14 -3
  3. data/CHANGELOG.md +32 -0
  4. data/CONTRIBUTING.md +40 -0
  5. data/README.md +126 -111
  6. data/bugsnag-api.gemspec +4 -3
  7. data/lib/bugsnag/api/client.rb +18 -9
  8. data/lib/bugsnag/api/client/collaborators.rb +87 -0
  9. data/lib/bugsnag/api/client/comments.rb +31 -40
  10. data/lib/bugsnag/api/client/currentuser.rb +33 -0
  11. data/lib/bugsnag/api/client/errors.rb +45 -51
  12. data/lib/bugsnag/api/client/eventfields.rb +50 -0
  13. data/lib/bugsnag/api/client/events.rb +38 -32
  14. data/lib/bugsnag/api/client/organizations.rb +46 -0
  15. data/lib/bugsnag/api/client/pivots.rb +43 -0
  16. data/lib/bugsnag/api/client/projects.rb +37 -63
  17. data/lib/bugsnag/api/client/trends.rb +38 -0
  18. data/lib/bugsnag/api/error.rb +4 -0
  19. data/lib/bugsnag/api/version.rb +1 -1
  20. data/spec/bugsnag/api/client/collaborators_spec.rb +101 -0
  21. data/spec/bugsnag/api/client/comments_spec.rb +42 -30
  22. data/spec/bugsnag/api/client/currentuser_spec.rb +57 -0
  23. data/spec/bugsnag/api/client/errors_spec.rb +44 -41
  24. data/spec/bugsnag/api/client/eventfields_spec.rb +56 -0
  25. data/spec/bugsnag/api/client/events_spec.rb +41 -29
  26. data/spec/bugsnag/api/client/organizations_spec.rb +53 -0
  27. data/spec/bugsnag/api/client/pivots_spec.rb +49 -0
  28. data/spec/bugsnag/api/client/projects_spec.rb +35 -59
  29. data/spec/bugsnag/api/client/trends_spec.rb +44 -0
  30. data/spec/bugsnag/api/client_spec.rb +8 -3
  31. data/spec/cassettes/Bugsnag_Api_Client/_get/handles_query_params.yml +45 -27
  32. data/spec/cassettes/Bugsnag_Api_Client/_last_response/caches_the_last_agent_response.yml +45 -27
  33. data/spec/cassettes/Bugsnag_Api_Client_Collaborators/_invitecollaborator/creates_and_returns_a_collaborator.yml +80 -0
  34. data/spec/cassettes/Bugsnag_Api_Client_Collaborators/_invitecollaborator/invites_multiple_collaborators.yml +80 -0
  35. data/spec/cassettes/Bugsnag_Api_Client_Collaborators/given_a_collaborator_exists/_collaborator/returns_a_collaborator.yml +157 -0
  36. data/spec/cassettes/Bugsnag_Api_Client_Collaborators/given_a_collaborator_exists/_collaborators/returns_a_list_of_all_organization_collaborators.yml +160 -0
  37. data/spec/cassettes/Bugsnag_Api_Client_Collaborators/given_a_collaborator_exists/_collaborators/returns_a_list_of_all_project_collaborators.yml +160 -0
  38. data/spec/cassettes/Bugsnag_Api_Client_Collaborators/given_a_collaborator_exists/_collaborators/throws_an_argument_error_if_neither_org_id_or_project_id_are_provided.yml +80 -0
  39. data/spec/cassettes/Bugsnag_Api_Client_Collaborators/given_a_collaborator_exists/_delete_collaborator/deletes_a_collaborator.yml +80 -0
  40. data/spec/cassettes/Bugsnag_Api_Client_Collaborators/given_a_collaborator_exists/_update_collaborator_permissions/updates_and_returns_the_collaborator.yml +157 -0
  41. data/spec/cassettes/Bugsnag_Api_Client_Collaborators/given_a_collaborator_exists/_view_collaborator_projects/returns_a_list_of_projects_belonging_to_the_collaborator.yml +159 -0
  42. data/spec/cassettes/Bugsnag_Api_Client_Comments/_create_comment/creates_a_comment_on_the_error.yml +82 -0
  43. data/spec/cassettes/Bugsnag_Api_Client_Comments/given_a_comment_has_been_created/_comment/retrieves_the_comment_specified.yml +159 -0
  44. data/spec/cassettes/Bugsnag_Api_Client_Comments/given_a_comment_has_been_created/_comments/retrieves_all_comments_on_an_error.yml +161 -0
  45. data/spec/cassettes/Bugsnag_Api_Client_Comments/given_a_comment_has_been_created/_delete_comment/deletes_the_comment_and_returns_true.yml +82 -0
  46. data/spec/cassettes/Bugsnag_Api_Client_Comments/given_a_comment_has_been_created/_update_comment/updates_the_message_on_a_comment.yml +159 -0
  47. data/spec/cassettes/Bugsnag_Api_Client_CurrentUser/_list_organizations/when_using_auth_token/returns_the_organization_the_auth_token_belongs_to.yml +81 -0
  48. data/spec/cassettes/Bugsnag_Api_Client_CurrentUser/_list_organizations/when_using_user_credentials/returns_users_organizations.yml +85 -0
  49. data/spec/cassettes/Bugsnag_Api_Client_CurrentUser/_list_projects/when_using_auth_token/lists_current_user_s_projects_in_the_organization.yml +82 -0
  50. data/spec/cassettes/Bugsnag_Api_Client_CurrentUser/_list_projects/when_using_user_credentials/lists_current_user_s_projects_in_the_organization.yml +86 -0
  51. data/spec/cassettes/Bugsnag_Api_Client_Errors/_error/returns_a_single_error.yml +82 -0
  52. data/spec/cassettes/Bugsnag_Api_Client_Errors/_errors/returns_errors_on_the_project.yml +84 -0
  53. data/spec/cassettes/Bugsnag_Api_Client_Errors/_update_errors/updates_and_returns_the_updated_errors.yml +80 -0
  54. data/spec/cassettes/Bugsnag_Api_Client_Events/_error_events/lists_all_error_events.yml +84 -0
  55. data/spec/cassettes/Bugsnag_Api_Client_Events/_event/returns_the_specified_event.yml +253 -0
  56. data/spec/cassettes/Bugsnag_Api_Client_Events/_events/returns_the_a_list_of_project_errors.yml +84 -0
  57. data/spec/cassettes/Bugsnag_Api_Client_Events/_latest_event/returns_the_last_event_on_an_error.yml +253 -0
  58. data/spec/cassettes/Bugsnag_Api_Client_Organizations/_create_organization/creates_a_new_organization.yml +84 -0
  59. data/spec/cassettes/Bugsnag_Api_Client_Organizations/with_organization/_delete_organization/deletes_the_organization.yml +159 -0
  60. data/spec/cassettes/Bugsnag_Api_Client_Organizations/with_organization/_organization/returns_the_requested_organization.yml +165 -0
  61. data/spec/cassettes/Bugsnag_Api_Client_Organizations/with_organization/_update_organization/updates_and_returns_the_organization.yml +165 -0
  62. data/spec/cassettes/Bugsnag_Api_Client_Projects/_create_project/creates_a_new_project.yml +80 -0
  63. data/spec/cassettes/Bugsnag_Api_Client_Projects/given_a_project/_delete_project/deletes_the_project.yml +151 -0
  64. data/spec/cassettes/Bugsnag_Api_Client_Projects/given_a_project/_project/returns_the_requested_project.yml +157 -0
  65. data/spec/cassettes/Bugsnag_Api_Client_Projects/given_a_project/_regenerate_api_key/removes_the_current_api_key_and_replaces_it_with_a_new_api_key.yml +157 -0
  66. data/spec/cassettes/Bugsnag_Api_Client_Projects/given_a_project/_update_project/updates_and_returns_the_project.yml +157 -0
  67. data/spec/cassettes/Bugsnag_Api_Client_Trends/_trends_buckets/returns_a_list_of_error_trends_in_bucket_form.yml +80 -0
  68. data/spec/cassettes/Bugsnag_Api_Client_Trends/_trends_buckets/returns_a_list_of_project_trends_in_bucket_form.yml +80 -0
  69. data/spec/cassettes/Bugsnag_Api_Client_Trends/_trends_resolution/returns_a_list_of_project_trends_in_resolution_form.yml +80 -0
  70. data/spec/cassettes/Bugsnag_Api_Client_Trends/_trends_resolution/returns_a_list_of_trends_in_resolution_form.yml +80 -0
  71. data/spec/spec_helper.rb +29 -27
  72. metadata +124 -83
  73. data/lib/bugsnag/api/client/accounts.rb +0 -44
  74. data/lib/bugsnag/api/client/users.rb +0 -99
  75. data/spec/bugsnag/api/client/accounts_spec.rb +0 -45
  76. data/spec/bugsnag/api/client/users_spec.rb +0 -105
  77. data/spec/cassettes/Bugsnag_Api_Client_Accounts/_account/returns_the_requested_account.yml +0 -49
  78. data/spec/cassettes/Bugsnag_Api_Client_Accounts/_account/when_using_account_credentials/returns_the_account.yml +0 -51
  79. data/spec/cassettes/Bugsnag_Api_Client_Accounts/_accounts/returns_all_accounts.yml +0 -49
  80. data/spec/cassettes/Bugsnag_Api_Client_Comments/_comments/returns_all_comments_on_an_error.yml +0 -107
  81. data/spec/cassettes/Bugsnag_Api_Client_Comments/_create_comment/created_a_comment.yml +0 -51
  82. data/spec/cassettes/Bugsnag_Api_Client_Comments/with_comment/_comment/returns_a_comment.yml +0 -97
  83. data/spec/cassettes/Bugsnag_Api_Client_Comments/with_comment/_delete_comment/deletes_an_existing_comment.yml +0 -92
  84. data/spec/cassettes/Bugsnag_Api_Client_Comments/with_comment/_update_comment/updates_an_existing_comment.yml +0 -97
  85. data/spec/cassettes/Bugsnag_Api_Client_Errors/_errors/returns_all_errors_on_an_project.yml +0 -48
  86. data/spec/cassettes/Bugsnag_Api_Client_Errors/with_error/_error/returns_an_error.yml +0 -48
  87. data/spec/cassettes/Bugsnag_Api_Client_Errors/with_error/_reopen_error/reopens_the_error.yml +0 -48
  88. data/spec/cassettes/Bugsnag_Api_Client_Errors/with_error/_resolve_error/resolves_the_error.yml +0 -48
  89. data/spec/cassettes/Bugsnag_Api_Client_Errors/with_error/_update_error/updates_the_error.yml +0 -48
  90. data/spec/cassettes/Bugsnag_Api_Client_Events/_error_events/returns_all_events_on_an_error.yml +0 -64
  91. data/spec/cassettes/Bugsnag_Api_Client_Events/_project_events/returns_all_events_on_a_project.yml +0 -64
  92. data/spec/cassettes/Bugsnag_Api_Client_Events/with_event/_event/returns_an_event.yml +0 -56
  93. data/spec/cassettes/Bugsnag_Api_Client_Projects/_account_projects/returns_all_projects_on_an_account.yml +0 -61
  94. data/spec/cassettes/Bugsnag_Api_Client_Projects/_account_projects/when_using_account_credentials/returns_all_projects.yml +0 -63
  95. data/spec/cassettes/Bugsnag_Api_Client_Projects/_create_project/creates_a_project_on_an_account.yml +0 -50
  96. data/spec/cassettes/Bugsnag_Api_Client_Projects/_user_projects/returns_all_projects_for_a_user.yml +0 -61
  97. data/spec/cassettes/Bugsnag_Api_Client_Projects/with_project/_delete_project/deletes_an_existing_project.yml +0 -91
  98. data/spec/cassettes/Bugsnag_Api_Client_Projects/with_project/_project/returns_a_project.yml +0 -95
  99. data/spec/cassettes/Bugsnag_Api_Client_Projects/with_project/_update_project/updates_an_existing_project.yml +0 -95
  100. data/spec/cassettes/Bugsnag_Api_Client_Users/_account_users/returns_all_users_on_an_account.yml +0 -49
  101. data/spec/cassettes/Bugsnag_Api_Client_Users/_account_users/when_using_account_credentials/returns_all_users.yml +0 -51
  102. data/spec/cassettes/Bugsnag_Api_Client_Users/_invite_user/invites_a_user_to_an_account.yml +0 -48
  103. data/spec/cassettes/Bugsnag_Api_Client_Users/_project_users/returns_all_users_for_a_project.yml +0 -49
  104. data/spec/cassettes/Bugsnag_Api_Client_Users/_user/returns_a_user.yml +0 -48
  105. data/spec/cassettes/Bugsnag_Api_Client_Users/_user/when_using_user_credentials/returns_the_authed_user.yml +0 -48
  106. data/spec/cassettes/Bugsnag_Api_Client_Users/with_user/_remove_user/removes_a_user_from_an_account.yml +0 -89
  107. data/spec/cassettes/Bugsnag_Api_Client_Users/with_user/_update_user_permissions/updates_a_users_permissions.yml +0 -93
@@ -0,0 +1,80 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.bugsnag.com/projects/BUGSNAG_PROJECT_ID/errors/BUGSNAG_ERROR_ID/trend?buckets_count=5
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Bugsnag API Ruby Gem 1.0.3
12
+ Content-Type:
13
+ - application/json
14
+ X-Version:
15
+ - '2'
16
+ Authorization:
17
+ - token BUGSNAG_AUTH_TOKEN
18
+ Accept-Encoding:
19
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
20
+ Accept:
21
+ - "*/*"
22
+ response:
23
+ status:
24
+ code: 200
25
+ message: OK
26
+ headers:
27
+ Server:
28
+ - nginx
29
+ Date:
30
+ - Mon, 09 Oct 2017 14:19:56 GMT
31
+ Content-Type:
32
+ - application/json; charset=utf-8
33
+ Etag:
34
+ - W/"f0f507c922f0ec44182c7267e527bb78"
35
+ Cache-Control:
36
+ - max-age=0, private, must-revalidate
37
+ X-Request-Id:
38
+ - da621a3c-b6db-41d6-96d3-34c543f7d05b
39
+ X-Runtime:
40
+ - '0.378838'
41
+ Vary:
42
+ - Origin
43
+ X-Ratelimit-Limit:
44
+ - '10'
45
+ X-Ratelimit-Remaining:
46
+ - '5'
47
+ Content-Security-Policy:
48
+ - 'default-src ''self''; child-src https://*.stripe.com headway-widget.net;
49
+ connect-src ''self'' https://api.bugsnag.com https://*.stripe.com https://bugsnag.zendesk.com
50
+ https://api.lever.co; font-src ''self'' https://maxcdn.bootstrapcdn.com; img-src
51
+ ''self'' data: https://notify.bugsnag.com https://*.stripe.com https://maxcdn.bootstrapcdn.com;
52
+ script-src ''self'' https://d2wy8f7a9ursnm.cloudfront.net https://*.stripe.com
53
+ https://maxcdn.bootstrapcdn.com https://code.jquery.com https://assets.zendesk.com
54
+ https://cdn.headwayapp.co; style-src ''self'' ''unsafe-inline'' https://maxcdn.bootstrapcdn.com'
55
+ X-Content-Type-Options:
56
+ - nosniff
57
+ X-Download-Options:
58
+ - noopen
59
+ X-Frame-Options:
60
+ - DENY
61
+ X-Permitted-Cross-Domain-Policies:
62
+ - none
63
+ X-Xss-Protection:
64
+ - 1; mode=block
65
+ X-Robots-Tag:
66
+ - noindex, nofollow
67
+ Strict-Transport-Security:
68
+ - max-age=31536000
69
+ Via:
70
+ - 1.1 google
71
+ Alt-Svc:
72
+ - clear
73
+ Transfer-Encoding:
74
+ - chunked
75
+ body:
76
+ encoding: ASCII-8BIT
77
+ string: '[{"from":"2017-10-09T14:18:24Z","to":"2017-10-09T14:18:43Z","events_count":1},{"from":"2017-10-09T14:18:43Z","to":"2017-10-09T14:19:02Z","events_count":0},{"from":"2017-10-09T14:19:02Z","to":"2017-10-09T14:19:21Z","events_count":0},{"from":"2017-10-09T14:19:21Z","to":"2017-10-09T14:19:40Z","events_count":0},{"from":"2017-10-09T14:19:40Z","to":"2017-10-09T14:19:59Z","events_count":0}]'
78
+ http_version:
79
+ recorded_at: Mon, 09 Oct 2017 14:19:55 GMT
80
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,80 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.bugsnag.com/projects/BUGSNAG_PROJECT_ID/trend?buckets_count=5
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Bugsnag API Ruby Gem 1.0.3
12
+ Content-Type:
13
+ - application/json
14
+ X-Version:
15
+ - '2'
16
+ Authorization:
17
+ - token BUGSNAG_AUTH_TOKEN
18
+ Accept-Encoding:
19
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
20
+ Accept:
21
+ - "*/*"
22
+ response:
23
+ status:
24
+ code: 200
25
+ message: OK
26
+ headers:
27
+ Server:
28
+ - nginx
29
+ Date:
30
+ - Mon, 09 Oct 2017 14:19:56 GMT
31
+ Content-Type:
32
+ - application/json; charset=utf-8
33
+ Etag:
34
+ - W/"f0f507c922f0ec44182c7267e527bb78"
35
+ Cache-Control:
36
+ - max-age=0, private, must-revalidate
37
+ X-Request-Id:
38
+ - b5955090-0d86-45fb-9aef-ad4b28556cb9
39
+ X-Runtime:
40
+ - '0.320538'
41
+ Vary:
42
+ - Origin
43
+ X-Ratelimit-Limit:
44
+ - '10'
45
+ X-Ratelimit-Remaining:
46
+ - '6'
47
+ Content-Security-Policy:
48
+ - 'default-src ''self''; child-src https://*.stripe.com headway-widget.net;
49
+ connect-src ''self'' https://api.bugsnag.com https://*.stripe.com https://bugsnag.zendesk.com
50
+ https://api.lever.co; font-src ''self'' https://maxcdn.bootstrapcdn.com; img-src
51
+ ''self'' data: https://notify.bugsnag.com https://*.stripe.com https://maxcdn.bootstrapcdn.com;
52
+ script-src ''self'' https://d2wy8f7a9ursnm.cloudfront.net https://*.stripe.com
53
+ https://maxcdn.bootstrapcdn.com https://code.jquery.com https://assets.zendesk.com
54
+ https://cdn.headwayapp.co; style-src ''self'' ''unsafe-inline'' https://maxcdn.bootstrapcdn.com'
55
+ X-Content-Type-Options:
56
+ - nosniff
57
+ X-Download-Options:
58
+ - noopen
59
+ X-Frame-Options:
60
+ - DENY
61
+ X-Permitted-Cross-Domain-Policies:
62
+ - none
63
+ X-Xss-Protection:
64
+ - 1; mode=block
65
+ X-Robots-Tag:
66
+ - noindex, nofollow
67
+ Strict-Transport-Security:
68
+ - max-age=31536000
69
+ Via:
70
+ - 1.1 google
71
+ Alt-Svc:
72
+ - clear
73
+ Transfer-Encoding:
74
+ - chunked
75
+ body:
76
+ encoding: ASCII-8BIT
77
+ string: '[{"from":"2017-10-09T14:18:24Z","to":"2017-10-09T14:18:43Z","events_count":1},{"from":"2017-10-09T14:18:43Z","to":"2017-10-09T14:19:02Z","events_count":0},{"from":"2017-10-09T14:19:02Z","to":"2017-10-09T14:19:21Z","events_count":0},{"from":"2017-10-09T14:19:21Z","to":"2017-10-09T14:19:40Z","events_count":0},{"from":"2017-10-09T14:19:40Z","to":"2017-10-09T14:19:59Z","events_count":0}]'
78
+ http_version:
79
+ recorded_at: Mon, 09 Oct 2017 14:19:55 GMT
80
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,80 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.bugsnag.com/projects/BUGSNAG_PROJECT_ID/trend?resolution=12h
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Bugsnag API Ruby Gem 1.0.3
12
+ Content-Type:
13
+ - application/json
14
+ X-Version:
15
+ - '2'
16
+ Authorization:
17
+ - token BUGSNAG_AUTH_TOKEN
18
+ Accept-Encoding:
19
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
20
+ Accept:
21
+ - "*/*"
22
+ response:
23
+ status:
24
+ code: 200
25
+ message: OK
26
+ headers:
27
+ Server:
28
+ - nginx
29
+ Date:
30
+ - Mon, 09 Oct 2017 14:19:55 GMT
31
+ Content-Type:
32
+ - application/json; charset=utf-8
33
+ Etag:
34
+ - W/"1c511dc80332636ea6a95847ec8e50c3"
35
+ Cache-Control:
36
+ - max-age=0, private, must-revalidate
37
+ X-Request-Id:
38
+ - b8e9fb17-41e1-4b06-a712-9bd9b2e678c9
39
+ X-Runtime:
40
+ - '0.273818'
41
+ Vary:
42
+ - Origin
43
+ X-Ratelimit-Limit:
44
+ - '10'
45
+ X-Ratelimit-Remaining:
46
+ - '7'
47
+ Content-Security-Policy:
48
+ - 'default-src ''self''; child-src https://*.stripe.com headway-widget.net;
49
+ connect-src ''self'' https://api.bugsnag.com https://*.stripe.com https://bugsnag.zendesk.com
50
+ https://api.lever.co; font-src ''self'' https://maxcdn.bootstrapcdn.com; img-src
51
+ ''self'' data: https://notify.bugsnag.com https://*.stripe.com https://maxcdn.bootstrapcdn.com;
52
+ script-src ''self'' https://d2wy8f7a9ursnm.cloudfront.net https://*.stripe.com
53
+ https://maxcdn.bootstrapcdn.com https://code.jquery.com https://assets.zendesk.com
54
+ https://cdn.headwayapp.co; style-src ''self'' ''unsafe-inline'' https://maxcdn.bootstrapcdn.com'
55
+ X-Content-Type-Options:
56
+ - nosniff
57
+ X-Download-Options:
58
+ - noopen
59
+ X-Frame-Options:
60
+ - DENY
61
+ X-Permitted-Cross-Domain-Policies:
62
+ - none
63
+ X-Xss-Protection:
64
+ - 1; mode=block
65
+ X-Robots-Tag:
66
+ - noindex, nofollow
67
+ Strict-Transport-Security:
68
+ - max-age=31536000
69
+ Via:
70
+ - 1.1 google
71
+ Alt-Svc:
72
+ - clear
73
+ Transfer-Encoding:
74
+ - chunked
75
+ body:
76
+ encoding: ASCII-8BIT
77
+ string: '[{"from":"2017-10-09T12:00:00Z","to":"2017-10-10T00:00:00Z","events_count":1}]'
78
+ http_version:
79
+ recorded_at: Mon, 09 Oct 2017 14:19:54 GMT
80
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,80 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.bugsnag.com/projects/BUGSNAG_PROJECT_ID/errors/BUGSNAG_ERROR_ID/trend?resolution=12h
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Bugsnag API Ruby Gem 1.0.3
12
+ Content-Type:
13
+ - application/json
14
+ X-Version:
15
+ - '2'
16
+ Authorization:
17
+ - token BUGSNAG_AUTH_TOKEN
18
+ Accept-Encoding:
19
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
20
+ Accept:
21
+ - "*/*"
22
+ response:
23
+ status:
24
+ code: 200
25
+ message: OK
26
+ headers:
27
+ Server:
28
+ - nginx
29
+ Date:
30
+ - Mon, 09 Oct 2017 14:19:54 GMT
31
+ Content-Type:
32
+ - application/json; charset=utf-8
33
+ Etag:
34
+ - W/"1c511dc80332636ea6a95847ec8e50c3"
35
+ Cache-Control:
36
+ - max-age=0, private, must-revalidate
37
+ X-Request-Id:
38
+ - 3af63a69-b7d5-4316-a428-bd00dca5c964
39
+ X-Runtime:
40
+ - '0.256350'
41
+ Vary:
42
+ - Origin
43
+ X-Ratelimit-Limit:
44
+ - '10'
45
+ X-Ratelimit-Remaining:
46
+ - '8'
47
+ Content-Security-Policy:
48
+ - 'default-src ''self''; child-src https://*.stripe.com headway-widget.net;
49
+ connect-src ''self'' https://api.bugsnag.com https://*.stripe.com https://bugsnag.zendesk.com
50
+ https://api.lever.co; font-src ''self'' https://maxcdn.bootstrapcdn.com; img-src
51
+ ''self'' data: https://notify.bugsnag.com https://*.stripe.com https://maxcdn.bootstrapcdn.com;
52
+ script-src ''self'' https://d2wy8f7a9ursnm.cloudfront.net https://*.stripe.com
53
+ https://maxcdn.bootstrapcdn.com https://code.jquery.com https://assets.zendesk.com
54
+ https://cdn.headwayapp.co; style-src ''self'' ''unsafe-inline'' https://maxcdn.bootstrapcdn.com'
55
+ X-Content-Type-Options:
56
+ - nosniff
57
+ X-Download-Options:
58
+ - noopen
59
+ X-Frame-Options:
60
+ - DENY
61
+ X-Permitted-Cross-Domain-Policies:
62
+ - none
63
+ X-Xss-Protection:
64
+ - 1; mode=block
65
+ X-Robots-Tag:
66
+ - noindex, nofollow
67
+ Strict-Transport-Security:
68
+ - max-age=31536000
69
+ Via:
70
+ - 1.1 google
71
+ Alt-Svc:
72
+ - clear
73
+ Transfer-Encoding:
74
+ - chunked
75
+ body:
76
+ encoding: ASCII-8BIT
77
+ string: '[{"from":"2017-10-09T12:00:00Z","to":"2017-10-10T00:00:00Z","events_count":1}]'
78
+ http_version:
79
+ recorded_at: Mon, 09 Oct 2017 14:19:54 GMT
80
+ recorded_with: VCR 2.9.3
@@ -3,6 +3,8 @@ require "webmock/rspec"
3
3
  require "faker"
4
4
  require "vcr"
5
5
  require "uri"
6
+ require "json"
7
+ require "sawyer"
6
8
 
7
9
  # This file was generated by the `rspec --init` command. Conventionally, all
8
10
  # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
@@ -28,16 +30,16 @@ VCR.configure do |c|
28
30
 
29
31
  c.filter_sensitive_data("https://api.bugsnag.com") { Bugsnag::Api.configuration.endpoint }
30
32
  c.filter_sensitive_data("api.bugsnag.com") { URI.parse(Bugsnag::Api.configuration.endpoint).host }
31
- c.filter_sensitive_data("<BUGSNAG_AUTH_TOKEN>") { test_bugsnag_auth_token }
32
- c.filter_sensitive_data("<BUGSNAG_LOGIN>") { CGI::escape(test_bugsnag_email) }
33
- c.filter_sensitive_data("<BUGSNAG_EMAIL>") { test_bugsnag_email }
34
- c.filter_sensitive_data("<BUGSNAG_PASSWORD>") { test_bugsnag_password }
35
- c.filter_sensitive_data("<BUGSNAG_ACCOUNT_ID>") { test_bugsnag_account }
36
- c.filter_sensitive_data("<BUGSNAG_COMMENT_ID>") { test_bugsnag_comment }
37
- c.filter_sensitive_data("<BUGSNAG_ERROR_ID>") { test_bugsnag_error }
38
- c.filter_sensitive_data("<BUGSNAG_EVENT_ID>") { test_bugsnag_event }
39
- c.filter_sensitive_data("<BUGSNAG_PROJECT_ID>") { test_bugsnag_project }
40
- c.filter_sensitive_data("<BUGSNAG_USER_ID>") { test_bugsnag_user }
33
+ c.filter_sensitive_data("BUGSNAG_AUTH_TOKEN") { test_bugsnag_auth_token }
34
+ c.filter_sensitive_data("BUGSNAG_LOGIN") { CGI::escape(test_bugsnag_email) }
35
+ c.filter_sensitive_data("BUGSNAG_USER_EMAIL") { test_bugsnag_email }
36
+ c.filter_sensitive_data("BUGSNAG_PASSWORD") { test_bugsnag_password }
37
+ c.filter_sensitive_data("BUGSNAG_ORG_ID") { test_bugsnag_org_id }
38
+ c.filter_sensitive_data("BUGSNAG_PROJECT_ID") { test_bugsnag_project_id }
39
+ c.filter_sensitive_data("BUGSNAG_COLLABORATOR_EMAIL") { test_bugsnag_collaborator }
40
+ c.filter_sensitive_data("BUGSNAG_ERROR_ID") { test_bugsnag_error_id }
41
+ c.filter_sensitive_data("BUGSNAG_EVENT_ID") { test_bugsnag_event_id }
42
+
41
43
  end
42
44
 
43
45
  def auth_token_client
@@ -61,7 +63,7 @@ def basic_auth_client
61
63
  config.email = test_bugsnag_email
62
64
  config.password = test_bugsnag_password
63
65
  end
64
- end
66
+ end
65
67
 
66
68
  def bugsnag_url(path)
67
69
  URI.join(Bugsnag::Api.configuration.endpoint, path).to_s
@@ -86,37 +88,37 @@ def test_bugsnag_endpoint
86
88
  end
87
89
 
88
90
  def test_bugsnag_auth_token
89
- ENV["BUGSNAG_TEST_AUTH_TOKEN"] || "x" * 32
91
+ ENV["BUGSNAG_TEST_AUTH_TOKEN"] || "BUGSNAG_AUTH_TOKEN"
90
92
  end
91
93
 
92
94
  def test_bugsnag_email
93
- ENV["BUGSNAG_TEST_EMAIL"] || "example@bugsnag.com"
95
+ ENV["BUGSNAG_TEST_EMAIL"] || "BUGSNAG_USER_EMAIL"
94
96
  end
95
97
 
96
98
  def test_bugsnag_password
97
- ENV["BUGSNAG_TEST_PASSWORD"] || "password"
99
+ ENV["BUGSNAG_TEST_PASSWORD"] || "BUGSNAG_PASSWORD"
98
100
  end
99
101
 
100
- def test_bugsnag_account
101
- ENV["BUGSNAG_TEST_ACCOUNT"] || "5404dc9064657377ae000002"
102
+ def test_bugsnag_org_id
103
+ ENV["BUGSNAG_TEST_ORG_ID"] || "BUGSNAG_ORG_ID"
102
104
  end
103
105
 
104
- def test_bugsnag_comment
105
- ENV["BUGSNAG_TEST_COMMENT"] || "5404e0ea64657377ae00000b"
106
+ def test_bugsnag_project_id
107
+ ENV["BUGSNAG_PROJECT_ID"] || "BUGSNAG_PROJECT_ID"
106
108
  end
107
109
 
108
- def test_bugsnag_error
109
- ENV["BUGSNAG_TEST_ERROR"] || "5404e0c435ec9cb116b13603"
110
+ def test_bugsnag_error_id
111
+ ENV["BUGSNAG_TEST_ERROR"] || "BUGSNAG_ERROR_ID"
110
112
  end
111
113
 
112
- def test_bugsnag_event
113
- ENV["BUGSNAG_TEST_EVENT"] || "5404e0c4fd9c7c077b000001"
114
+ def test_bugsnag_eventfield_id
115
+ ENV["BUGSNAG_TEST_EVENTFIELD"] || "BUGSNAG_EVENTFIELD_ID"
114
116
  end
115
117
 
116
- def test_bugsnag_project
117
- ENV["BUGSNAG_TEST_PROJECT"] || "5404dc9c64657377ae000007"
118
+ def test_bugsnag_event_id
119
+ ENV["BUGSNAG_TEST_EVENT"] || "BUGSNAG_EVENT_ID"
118
120
  end
119
121
 
120
- def test_bugsnag_user
121
- ENV["BUGSNAG_TEST_USER"] || "5404dc9064657377ae000001"
122
- end
122
+ def test_bugsnag_collaborator
123
+ ENV["BUGSNAG_TEST_COLLABORATOR_EMAIL"] || "BUGSNAG_COLLABORATOR_EMAIL"
124
+ end
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bugsnag-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Smith
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-26 00:00:00.000000000 Z
11
+ date: 2017-10-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sawyer
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.5.3
19
+ version: 0.8.1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.5.3
26
+ version: 0.8.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -70,30 +70,44 @@ dependencies:
70
70
  name: webmock
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">="
73
+ - - ">"
74
74
  - !ruby/object:Gem::Version
75
- version: '0'
75
+ version: 2.3.2
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - ">"
81
81
  - !ruby/object:Gem::Version
82
- version: '0'
82
+ version: 2.3.2
83
+ - !ruby/object:Gem::Dependency
84
+ name: addressable
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">"
88
+ - !ruby/object:Gem::Version
89
+ version: 2.3.6
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">"
95
+ - !ruby/object:Gem::Version
96
+ version: 2.3.6
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: faker
85
99
  requirement: !ruby/object:Gem::Requirement
86
100
  requirements:
87
- - - ">="
101
+ - - ">"
88
102
  - !ruby/object:Gem::Version
89
- version: '0'
103
+ version: 1.7.3
90
104
  type: :development
91
105
  prerelease: false
92
106
  version_requirements: !ruby/object:Gem::Requirement
93
107
  requirements:
94
- - - ">="
108
+ - - ">"
95
109
  - !ruby/object:Gem::Version
96
- version: '0'
110
+ version: 1.7.3
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: vcr
99
113
  requirement: !ruby/object:Gem::Requirement
@@ -134,6 +148,7 @@ files:
134
148
  - ".travis.yml"
135
149
  - ".yardopts"
136
150
  - CHANGELOG.md
151
+ - CONTRIBUTING.md
137
152
  - Gemfile
138
153
  - LICENSE.txt
139
154
  - README.md
@@ -141,57 +156,72 @@ files:
141
156
  - bugsnag-api.gemspec
142
157
  - lib/bugsnag/api.rb
143
158
  - lib/bugsnag/api/client.rb
144
- - lib/bugsnag/api/client/accounts.rb
159
+ - lib/bugsnag/api/client/collaborators.rb
145
160
  - lib/bugsnag/api/client/comments.rb
161
+ - lib/bugsnag/api/client/currentuser.rb
146
162
  - lib/bugsnag/api/client/errors.rb
163
+ - lib/bugsnag/api/client/eventfields.rb
147
164
  - lib/bugsnag/api/client/events.rb
165
+ - lib/bugsnag/api/client/organizations.rb
166
+ - lib/bugsnag/api/client/pivots.rb
148
167
  - lib/bugsnag/api/client/projects.rb
149
- - lib/bugsnag/api/client/users.rb
168
+ - lib/bugsnag/api/client/trends.rb
150
169
  - lib/bugsnag/api/configuration.rb
151
170
  - lib/bugsnag/api/error.rb
152
171
  - lib/bugsnag/api/response/raise_error.rb
153
172
  - lib/bugsnag/api/version.rb
154
- - spec/bugsnag/api/client/accounts_spec.rb
173
+ - spec/bugsnag/api/client/collaborators_spec.rb
155
174
  - spec/bugsnag/api/client/comments_spec.rb
175
+ - spec/bugsnag/api/client/currentuser_spec.rb
156
176
  - spec/bugsnag/api/client/errors_spec.rb
177
+ - spec/bugsnag/api/client/eventfields_spec.rb
157
178
  - spec/bugsnag/api/client/events_spec.rb
179
+ - spec/bugsnag/api/client/organizations_spec.rb
180
+ - spec/bugsnag/api/client/pivots_spec.rb
158
181
  - spec/bugsnag/api/client/projects_spec.rb
159
- - spec/bugsnag/api/client/users_spec.rb
182
+ - spec/bugsnag/api/client/trends_spec.rb
160
183
  - spec/bugsnag/api/client_spec.rb
161
184
  - spec/bugsnag/api_spec.rb
162
185
  - spec/cassettes/Bugsnag_Api_Client/_get/handles_query_params.yml
163
186
  - spec/cassettes/Bugsnag_Api_Client/_last_response/caches_the_last_agent_response.yml
164
- - spec/cassettes/Bugsnag_Api_Client_Accounts/_account/returns_the_requested_account.yml
165
- - spec/cassettes/Bugsnag_Api_Client_Accounts/_account/when_using_account_credentials/returns_the_account.yml
166
- - spec/cassettes/Bugsnag_Api_Client_Accounts/_accounts/returns_all_accounts.yml
167
- - spec/cassettes/Bugsnag_Api_Client_Comments/_comments/returns_all_comments_on_an_error.yml
168
- - spec/cassettes/Bugsnag_Api_Client_Comments/_create_comment/created_a_comment.yml
169
- - spec/cassettes/Bugsnag_Api_Client_Comments/with_comment/_comment/returns_a_comment.yml
170
- - spec/cassettes/Bugsnag_Api_Client_Comments/with_comment/_delete_comment/deletes_an_existing_comment.yml
171
- - spec/cassettes/Bugsnag_Api_Client_Comments/with_comment/_update_comment/updates_an_existing_comment.yml
172
- - spec/cassettes/Bugsnag_Api_Client_Errors/_errors/returns_all_errors_on_an_project.yml
173
- - spec/cassettes/Bugsnag_Api_Client_Errors/with_error/_error/returns_an_error.yml
174
- - spec/cassettes/Bugsnag_Api_Client_Errors/with_error/_reopen_error/reopens_the_error.yml
175
- - spec/cassettes/Bugsnag_Api_Client_Errors/with_error/_resolve_error/resolves_the_error.yml
176
- - spec/cassettes/Bugsnag_Api_Client_Errors/with_error/_update_error/updates_the_error.yml
177
- - spec/cassettes/Bugsnag_Api_Client_Events/_error_events/returns_all_events_on_an_error.yml
178
- - spec/cassettes/Bugsnag_Api_Client_Events/_project_events/returns_all_events_on_a_project.yml
179
- - spec/cassettes/Bugsnag_Api_Client_Events/with_event/_event/returns_an_event.yml
180
- - spec/cassettes/Bugsnag_Api_Client_Projects/_account_projects/returns_all_projects_on_an_account.yml
181
- - spec/cassettes/Bugsnag_Api_Client_Projects/_account_projects/when_using_account_credentials/returns_all_projects.yml
182
- - spec/cassettes/Bugsnag_Api_Client_Projects/_create_project/creates_a_project_on_an_account.yml
183
- - spec/cassettes/Bugsnag_Api_Client_Projects/_user_projects/returns_all_projects_for_a_user.yml
184
- - spec/cassettes/Bugsnag_Api_Client_Projects/with_project/_delete_project/deletes_an_existing_project.yml
185
- - spec/cassettes/Bugsnag_Api_Client_Projects/with_project/_project/returns_a_project.yml
186
- - spec/cassettes/Bugsnag_Api_Client_Projects/with_project/_update_project/updates_an_existing_project.yml
187
- - spec/cassettes/Bugsnag_Api_Client_Users/_account_users/returns_all_users_on_an_account.yml
188
- - spec/cassettes/Bugsnag_Api_Client_Users/_account_users/when_using_account_credentials/returns_all_users.yml
189
- - spec/cassettes/Bugsnag_Api_Client_Users/_invite_user/invites_a_user_to_an_account.yml
190
- - spec/cassettes/Bugsnag_Api_Client_Users/_project_users/returns_all_users_for_a_project.yml
191
- - spec/cassettes/Bugsnag_Api_Client_Users/_user/returns_a_user.yml
192
- - spec/cassettes/Bugsnag_Api_Client_Users/_user/when_using_user_credentials/returns_the_authed_user.yml
193
- - spec/cassettes/Bugsnag_Api_Client_Users/with_user/_remove_user/removes_a_user_from_an_account.yml
194
- - spec/cassettes/Bugsnag_Api_Client_Users/with_user/_update_user_permissions/updates_a_users_permissions.yml
187
+ - spec/cassettes/Bugsnag_Api_Client_Collaborators/_invitecollaborator/creates_and_returns_a_collaborator.yml
188
+ - spec/cassettes/Bugsnag_Api_Client_Collaborators/_invitecollaborator/invites_multiple_collaborators.yml
189
+ - spec/cassettes/Bugsnag_Api_Client_Collaborators/given_a_collaborator_exists/_collaborator/returns_a_collaborator.yml
190
+ - spec/cassettes/Bugsnag_Api_Client_Collaborators/given_a_collaborator_exists/_collaborators/returns_a_list_of_all_organization_collaborators.yml
191
+ - spec/cassettes/Bugsnag_Api_Client_Collaborators/given_a_collaborator_exists/_collaborators/returns_a_list_of_all_project_collaborators.yml
192
+ - spec/cassettes/Bugsnag_Api_Client_Collaborators/given_a_collaborator_exists/_collaborators/throws_an_argument_error_if_neither_org_id_or_project_id_are_provided.yml
193
+ - spec/cassettes/Bugsnag_Api_Client_Collaborators/given_a_collaborator_exists/_delete_collaborator/deletes_a_collaborator.yml
194
+ - spec/cassettes/Bugsnag_Api_Client_Collaborators/given_a_collaborator_exists/_update_collaborator_permissions/updates_and_returns_the_collaborator.yml
195
+ - spec/cassettes/Bugsnag_Api_Client_Collaborators/given_a_collaborator_exists/_view_collaborator_projects/returns_a_list_of_projects_belonging_to_the_collaborator.yml
196
+ - spec/cassettes/Bugsnag_Api_Client_Comments/_create_comment/creates_a_comment_on_the_error.yml
197
+ - spec/cassettes/Bugsnag_Api_Client_Comments/given_a_comment_has_been_created/_comment/retrieves_the_comment_specified.yml
198
+ - spec/cassettes/Bugsnag_Api_Client_Comments/given_a_comment_has_been_created/_comments/retrieves_all_comments_on_an_error.yml
199
+ - spec/cassettes/Bugsnag_Api_Client_Comments/given_a_comment_has_been_created/_delete_comment/deletes_the_comment_and_returns_true.yml
200
+ - spec/cassettes/Bugsnag_Api_Client_Comments/given_a_comment_has_been_created/_update_comment/updates_the_message_on_a_comment.yml
201
+ - spec/cassettes/Bugsnag_Api_Client_CurrentUser/_list_organizations/when_using_auth_token/returns_the_organization_the_auth_token_belongs_to.yml
202
+ - spec/cassettes/Bugsnag_Api_Client_CurrentUser/_list_organizations/when_using_user_credentials/returns_users_organizations.yml
203
+ - spec/cassettes/Bugsnag_Api_Client_CurrentUser/_list_projects/when_using_auth_token/lists_current_user_s_projects_in_the_organization.yml
204
+ - spec/cassettes/Bugsnag_Api_Client_CurrentUser/_list_projects/when_using_user_credentials/lists_current_user_s_projects_in_the_organization.yml
205
+ - spec/cassettes/Bugsnag_Api_Client_Errors/_error/returns_a_single_error.yml
206
+ - spec/cassettes/Bugsnag_Api_Client_Errors/_errors/returns_errors_on_the_project.yml
207
+ - spec/cassettes/Bugsnag_Api_Client_Errors/_update_errors/updates_and_returns_the_updated_errors.yml
208
+ - spec/cassettes/Bugsnag_Api_Client_Events/_error_events/lists_all_error_events.yml
209
+ - spec/cassettes/Bugsnag_Api_Client_Events/_event/returns_the_specified_event.yml
210
+ - spec/cassettes/Bugsnag_Api_Client_Events/_events/returns_the_a_list_of_project_errors.yml
211
+ - spec/cassettes/Bugsnag_Api_Client_Events/_latest_event/returns_the_last_event_on_an_error.yml
212
+ - spec/cassettes/Bugsnag_Api_Client_Organizations/_create_organization/creates_a_new_organization.yml
213
+ - spec/cassettes/Bugsnag_Api_Client_Organizations/with_organization/_delete_organization/deletes_the_organization.yml
214
+ - spec/cassettes/Bugsnag_Api_Client_Organizations/with_organization/_organization/returns_the_requested_organization.yml
215
+ - spec/cassettes/Bugsnag_Api_Client_Organizations/with_organization/_update_organization/updates_and_returns_the_organization.yml
216
+ - spec/cassettes/Bugsnag_Api_Client_Projects/_create_project/creates_a_new_project.yml
217
+ - spec/cassettes/Bugsnag_Api_Client_Projects/given_a_project/_delete_project/deletes_the_project.yml
218
+ - spec/cassettes/Bugsnag_Api_Client_Projects/given_a_project/_project/returns_the_requested_project.yml
219
+ - spec/cassettes/Bugsnag_Api_Client_Projects/given_a_project/_regenerate_api_key/removes_the_current_api_key_and_replaces_it_with_a_new_api_key.yml
220
+ - spec/cassettes/Bugsnag_Api_Client_Projects/given_a_project/_update_project/updates_and_returns_the_project.yml
221
+ - spec/cassettes/Bugsnag_Api_Client_Trends/_trends_buckets/returns_a_list_of_error_trends_in_bucket_form.yml
222
+ - spec/cassettes/Bugsnag_Api_Client_Trends/_trends_buckets/returns_a_list_of_project_trends_in_bucket_form.yml
223
+ - spec/cassettes/Bugsnag_Api_Client_Trends/_trends_resolution/returns_a_list_of_project_trends_in_resolution_form.yml
224
+ - spec/cassettes/Bugsnag_Api_Client_Trends/_trends_resolution/returns_a_list_of_trends_in_resolution_form.yml
195
225
  - spec/spec_helper.rb
196
226
  homepage: https://github.com/bugsnag/bugsnag-api-ruby
197
227
  licenses:
@@ -213,50 +243,61 @@ required_rubygems_version: !ruby/object:Gem::Requirement
213
243
  version: '0'
214
244
  requirements: []
215
245
  rubyforge_project:
216
- rubygems_version: 2.2.2
246
+ rubygems_version: 2.6.13
217
247
  signing_key:
218
248
  specification_version: 4
219
249
  summary: Bugsnag API toolkit for ruby
220
250
  test_files:
221
- - spec/bugsnag/api/client/accounts_spec.rb
251
+ - spec/bugsnag/api/client/collaborators_spec.rb
222
252
  - spec/bugsnag/api/client/comments_spec.rb
253
+ - spec/bugsnag/api/client/currentuser_spec.rb
223
254
  - spec/bugsnag/api/client/errors_spec.rb
255
+ - spec/bugsnag/api/client/eventfields_spec.rb
224
256
  - spec/bugsnag/api/client/events_spec.rb
257
+ - spec/bugsnag/api/client/organizations_spec.rb
258
+ - spec/bugsnag/api/client/pivots_spec.rb
225
259
  - spec/bugsnag/api/client/projects_spec.rb
226
- - spec/bugsnag/api/client/users_spec.rb
260
+ - spec/bugsnag/api/client/trends_spec.rb
227
261
  - spec/bugsnag/api/client_spec.rb
228
262
  - spec/bugsnag/api_spec.rb
229
263
  - spec/cassettes/Bugsnag_Api_Client/_get/handles_query_params.yml
230
264
  - spec/cassettes/Bugsnag_Api_Client/_last_response/caches_the_last_agent_response.yml
231
- - spec/cassettes/Bugsnag_Api_Client_Accounts/_account/returns_the_requested_account.yml
232
- - spec/cassettes/Bugsnag_Api_Client_Accounts/_account/when_using_account_credentials/returns_the_account.yml
233
- - spec/cassettes/Bugsnag_Api_Client_Accounts/_accounts/returns_all_accounts.yml
234
- - spec/cassettes/Bugsnag_Api_Client_Comments/_comments/returns_all_comments_on_an_error.yml
235
- - spec/cassettes/Bugsnag_Api_Client_Comments/_create_comment/created_a_comment.yml
236
- - spec/cassettes/Bugsnag_Api_Client_Comments/with_comment/_comment/returns_a_comment.yml
237
- - spec/cassettes/Bugsnag_Api_Client_Comments/with_comment/_delete_comment/deletes_an_existing_comment.yml
238
- - spec/cassettes/Bugsnag_Api_Client_Comments/with_comment/_update_comment/updates_an_existing_comment.yml
239
- - spec/cassettes/Bugsnag_Api_Client_Errors/_errors/returns_all_errors_on_an_project.yml
240
- - spec/cassettes/Bugsnag_Api_Client_Errors/with_error/_error/returns_an_error.yml
241
- - spec/cassettes/Bugsnag_Api_Client_Errors/with_error/_reopen_error/reopens_the_error.yml
242
- - spec/cassettes/Bugsnag_Api_Client_Errors/with_error/_resolve_error/resolves_the_error.yml
243
- - spec/cassettes/Bugsnag_Api_Client_Errors/with_error/_update_error/updates_the_error.yml
244
- - spec/cassettes/Bugsnag_Api_Client_Events/_error_events/returns_all_events_on_an_error.yml
245
- - spec/cassettes/Bugsnag_Api_Client_Events/_project_events/returns_all_events_on_a_project.yml
246
- - spec/cassettes/Bugsnag_Api_Client_Events/with_event/_event/returns_an_event.yml
247
- - spec/cassettes/Bugsnag_Api_Client_Projects/_account_projects/returns_all_projects_on_an_account.yml
248
- - spec/cassettes/Bugsnag_Api_Client_Projects/_account_projects/when_using_account_credentials/returns_all_projects.yml
249
- - spec/cassettes/Bugsnag_Api_Client_Projects/_create_project/creates_a_project_on_an_account.yml
250
- - spec/cassettes/Bugsnag_Api_Client_Projects/_user_projects/returns_all_projects_for_a_user.yml
251
- - spec/cassettes/Bugsnag_Api_Client_Projects/with_project/_delete_project/deletes_an_existing_project.yml
252
- - spec/cassettes/Bugsnag_Api_Client_Projects/with_project/_project/returns_a_project.yml
253
- - spec/cassettes/Bugsnag_Api_Client_Projects/with_project/_update_project/updates_an_existing_project.yml
254
- - spec/cassettes/Bugsnag_Api_Client_Users/_account_users/returns_all_users_on_an_account.yml
255
- - spec/cassettes/Bugsnag_Api_Client_Users/_account_users/when_using_account_credentials/returns_all_users.yml
256
- - spec/cassettes/Bugsnag_Api_Client_Users/_invite_user/invites_a_user_to_an_account.yml
257
- - spec/cassettes/Bugsnag_Api_Client_Users/_project_users/returns_all_users_for_a_project.yml
258
- - spec/cassettes/Bugsnag_Api_Client_Users/_user/returns_a_user.yml
259
- - spec/cassettes/Bugsnag_Api_Client_Users/_user/when_using_user_credentials/returns_the_authed_user.yml
260
- - spec/cassettes/Bugsnag_Api_Client_Users/with_user/_remove_user/removes_a_user_from_an_account.yml
261
- - spec/cassettes/Bugsnag_Api_Client_Users/with_user/_update_user_permissions/updates_a_users_permissions.yml
265
+ - spec/cassettes/Bugsnag_Api_Client_Collaborators/_invitecollaborator/creates_and_returns_a_collaborator.yml
266
+ - spec/cassettes/Bugsnag_Api_Client_Collaborators/_invitecollaborator/invites_multiple_collaborators.yml
267
+ - spec/cassettes/Bugsnag_Api_Client_Collaborators/given_a_collaborator_exists/_collaborator/returns_a_collaborator.yml
268
+ - spec/cassettes/Bugsnag_Api_Client_Collaborators/given_a_collaborator_exists/_collaborators/returns_a_list_of_all_organization_collaborators.yml
269
+ - spec/cassettes/Bugsnag_Api_Client_Collaborators/given_a_collaborator_exists/_collaborators/returns_a_list_of_all_project_collaborators.yml
270
+ - spec/cassettes/Bugsnag_Api_Client_Collaborators/given_a_collaborator_exists/_collaborators/throws_an_argument_error_if_neither_org_id_or_project_id_are_provided.yml
271
+ - spec/cassettes/Bugsnag_Api_Client_Collaborators/given_a_collaborator_exists/_delete_collaborator/deletes_a_collaborator.yml
272
+ - spec/cassettes/Bugsnag_Api_Client_Collaborators/given_a_collaborator_exists/_update_collaborator_permissions/updates_and_returns_the_collaborator.yml
273
+ - spec/cassettes/Bugsnag_Api_Client_Collaborators/given_a_collaborator_exists/_view_collaborator_projects/returns_a_list_of_projects_belonging_to_the_collaborator.yml
274
+ - spec/cassettes/Bugsnag_Api_Client_Comments/_create_comment/creates_a_comment_on_the_error.yml
275
+ - spec/cassettes/Bugsnag_Api_Client_Comments/given_a_comment_has_been_created/_comment/retrieves_the_comment_specified.yml
276
+ - spec/cassettes/Bugsnag_Api_Client_Comments/given_a_comment_has_been_created/_comments/retrieves_all_comments_on_an_error.yml
277
+ - spec/cassettes/Bugsnag_Api_Client_Comments/given_a_comment_has_been_created/_delete_comment/deletes_the_comment_and_returns_true.yml
278
+ - spec/cassettes/Bugsnag_Api_Client_Comments/given_a_comment_has_been_created/_update_comment/updates_the_message_on_a_comment.yml
279
+ - spec/cassettes/Bugsnag_Api_Client_CurrentUser/_list_organizations/when_using_auth_token/returns_the_organization_the_auth_token_belongs_to.yml
280
+ - spec/cassettes/Bugsnag_Api_Client_CurrentUser/_list_organizations/when_using_user_credentials/returns_users_organizations.yml
281
+ - spec/cassettes/Bugsnag_Api_Client_CurrentUser/_list_projects/when_using_auth_token/lists_current_user_s_projects_in_the_organization.yml
282
+ - spec/cassettes/Bugsnag_Api_Client_CurrentUser/_list_projects/when_using_user_credentials/lists_current_user_s_projects_in_the_organization.yml
283
+ - spec/cassettes/Bugsnag_Api_Client_Errors/_error/returns_a_single_error.yml
284
+ - spec/cassettes/Bugsnag_Api_Client_Errors/_errors/returns_errors_on_the_project.yml
285
+ - spec/cassettes/Bugsnag_Api_Client_Errors/_update_errors/updates_and_returns_the_updated_errors.yml
286
+ - spec/cassettes/Bugsnag_Api_Client_Events/_error_events/lists_all_error_events.yml
287
+ - spec/cassettes/Bugsnag_Api_Client_Events/_event/returns_the_specified_event.yml
288
+ - spec/cassettes/Bugsnag_Api_Client_Events/_events/returns_the_a_list_of_project_errors.yml
289
+ - spec/cassettes/Bugsnag_Api_Client_Events/_latest_event/returns_the_last_event_on_an_error.yml
290
+ - spec/cassettes/Bugsnag_Api_Client_Organizations/_create_organization/creates_a_new_organization.yml
291
+ - spec/cassettes/Bugsnag_Api_Client_Organizations/with_organization/_delete_organization/deletes_the_organization.yml
292
+ - spec/cassettes/Bugsnag_Api_Client_Organizations/with_organization/_organization/returns_the_requested_organization.yml
293
+ - spec/cassettes/Bugsnag_Api_Client_Organizations/with_organization/_update_organization/updates_and_returns_the_organization.yml
294
+ - spec/cassettes/Bugsnag_Api_Client_Projects/_create_project/creates_a_new_project.yml
295
+ - spec/cassettes/Bugsnag_Api_Client_Projects/given_a_project/_delete_project/deletes_the_project.yml
296
+ - spec/cassettes/Bugsnag_Api_Client_Projects/given_a_project/_project/returns_the_requested_project.yml
297
+ - spec/cassettes/Bugsnag_Api_Client_Projects/given_a_project/_regenerate_api_key/removes_the_current_api_key_and_replaces_it_with_a_new_api_key.yml
298
+ - spec/cassettes/Bugsnag_Api_Client_Projects/given_a_project/_update_project/updates_and_returns_the_project.yml
299
+ - spec/cassettes/Bugsnag_Api_Client_Trends/_trends_buckets/returns_a_list_of_error_trends_in_bucket_form.yml
300
+ - spec/cassettes/Bugsnag_Api_Client_Trends/_trends_buckets/returns_a_list_of_project_trends_in_bucket_form.yml
301
+ - spec/cassettes/Bugsnag_Api_Client_Trends/_trends_resolution/returns_a_list_of_project_trends_in_resolution_form.yml
302
+ - spec/cassettes/Bugsnag_Api_Client_Trends/_trends_resolution/returns_a_list_of_trends_in_resolution_form.yml
262
303
  - spec/spec_helper.rb