octokit 2.1.2 → 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (28) hide show
  1. checksums.yaml +4 -4
  2. data/lib/octokit/authentication.rb +1 -1
  3. data/lib/octokit/client.rb +12 -9
  4. data/lib/octokit/client/contents.rb +3 -1
  5. data/lib/octokit/client/releases.rb +157 -0
  6. data/lib/octokit/error.rb +13 -0
  7. data/lib/octokit/version.rb +1 -1
  8. data/octokit.gemspec +1 -1
  9. data/spec/cassettes/Octokit_Client_Contents/_create_contents/does_not_add_new_lines.json +1 -0
  10. data/spec/cassettes/Octokit_Client_Contents/_update_contents/does_not_add_new_lines.json +1 -0
  11. data/spec/cassettes/Octokit_Client_Releases/_create_release/creates_a_release.json +1 -0
  12. data/spec/cassettes/Octokit_Client_Releases/_delete_release/deletes_a_release.json +1 -0
  13. data/spec/cassettes/Octokit_Client_Releases/_release/gets_a_single_release.json +1 -0
  14. data/spec/cassettes/Octokit_Client_Releases/_release_assets/lists_assets_for_a_release.json +1 -0
  15. data/spec/cassettes/Octokit_Client_Releases/_releases/lists_releases_for_a_repo.json +1 -0
  16. data/spec/cassettes/Octokit_Client_Releases/_update_release/updates_a_release.json +1 -0
  17. data/spec/cassettes/Octokit_Client_Releases/handling_release_assets/_release_assets/lists_assets_for_a_release.json +1 -0
  18. data/spec/cassettes/Octokit_Client_Releases/handling_release_assets/_update_release_asset/edits_a_release_asset.json +1 -0
  19. data/spec/cassettes/Octokit_Client_Releases/handling_release_assets/_upload_release_asset/guesses_the_content_type_for_an_asset.json +1 -0
  20. data/spec/cassettes/Octokit_Client_Releases/handling_release_assets/_upload_release_asset/uploads_a_release_asset_as_file_object.json +1 -0
  21. data/spec/cassettes/Octokit_Client_Releases/handling_release_assets/_upload_release_asset/uploads_a_release_asset_by_path.json +1 -0
  22. data/spec/cassettes/Octokit_Client_Releases/handling_release_assets/_upload_release_asset/uploads_a_release_asset_with_a_default_name.json +1 -0
  23. data/spec/fixtures/large_file.txt +48 -0
  24. data/spec/fixtures/upload.png +0 -0
  25. data/spec/octokit/client/contents_spec.rb +30 -0
  26. data/spec/octokit/client/releases_spec.rb +136 -0
  27. data/spec/octokit/client_spec.rb +24 -0
  28. metadata +39 -4
@@ -458,6 +458,30 @@ describe Octokit::Client do
458
458
  end
459
459
  end
460
460
 
461
+ it "exposes errors array" do
462
+ stub_get('/boom').
463
+ to_return \
464
+ :status => 422,
465
+ :headers => {
466
+ :content_type => "application/json",
467
+ },
468
+ :body => {
469
+ :message => "Validation Failed",
470
+ :errors => [
471
+ :resource => "Issue",
472
+ :field => "title",
473
+ :code => "missing_field"
474
+ ]
475
+ }.to_json
476
+ begin
477
+ Octokit.get('/boom')
478
+ rescue Octokit::UnprocessableEntity => e
479
+ expect(e.errors.first[:resource]).to eq("Issue")
480
+ expect(e.errors.first[:field]).to eq("title")
481
+ expect(e.errors.first[:code]).to eq("missing_field")
482
+ end
483
+ end
484
+
461
485
  it "knows the difference between Forbidden and rate limiting" do
462
486
  stub_get('/some/admin/stuffs').to_return(:status => 403)
463
487
  expect { Octokit.get('/some/admin/stuffs') }.to raise_error Octokit::Forbidden
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: octokit
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.2
4
+ version: 2.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Wynn Netherland
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-09-22 00:00:00.000000000 Z
13
+ date: 2013-09-26 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: bundler
@@ -32,14 +32,14 @@ dependencies:
32
32
  requirements:
33
33
  - - ~>
34
34
  - !ruby/object:Gem::Version
35
- version: 0.5.0
35
+ version: 0.5.1
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - ~>
41
41
  - !ruby/object:Gem::Version
42
- version: 0.5.0
42
+ version: 0.5.1
43
43
  description: Simple wrapper for the GitHub API
44
44
  email:
45
45
  - wynn.netherland@gmail.com
@@ -79,6 +79,7 @@ files:
79
79
  - lib/octokit/client/pull_requests.rb
80
80
  - lib/octokit/client/rate_limit.rb
81
81
  - lib/octokit/client/refs.rb
82
+ - lib/octokit/client/releases.rb
82
83
  - lib/octokit/client/repositories.rb
83
84
  - lib/octokit/client/say.rb
84
85
  - lib/octokit/client/search.rb
@@ -144,8 +145,10 @@ files:
144
145
  - spec/cassettes/Octokit_Client_Contents/_create_contents/creates_contents_from_File_object.json
145
146
  - spec/cassettes/Octokit_Client_Contents/_create_contents/creates_contents_from_file_path.json
146
147
  - spec/cassettes/Octokit_Client_Contents/_create_contents/creates_repository_contents_at_a_path.json
148
+ - spec/cassettes/Octokit_Client_Contents/_create_contents/does_not_add_new_lines.json
147
149
  - spec/cassettes/Octokit_Client_Contents/_delete_contents/deletes_repository_contents_at_a_path.json
148
150
  - spec/cassettes/Octokit_Client_Contents/_readme/returns_the_default_readme.json
151
+ - spec/cassettes/Octokit_Client_Contents/_update_contents/does_not_add_new_lines.json
149
152
  - spec/cassettes/Octokit_Client_Contents/_update_contents/updates_repository_contents_at_a_path.json
150
153
  - spec/cassettes/Octokit_Client_Downloads/_download/gets_a_single_download.json
151
154
  - spec/cassettes/Octokit_Client_Downloads/_downloads/lists_available_downloads.json
@@ -292,6 +295,18 @@ files:
292
295
  - spec/cassettes/Octokit_Client_Refs/methods_that_require_a_ref/_create_ref/creates_a_ref.json
293
296
  - spec/cassettes/Octokit_Client_Refs/methods_that_require_a_ref/_delete_ref/deletes_an_existing_ref.json
294
297
  - spec/cassettes/Octokit_Client_Refs/methods_that_require_a_ref/_update_ref/updates_a_ref.json
298
+ - spec/cassettes/Octokit_Client_Releases/_create_release/creates_a_release.json
299
+ - spec/cassettes/Octokit_Client_Releases/_delete_release/deletes_a_release.json
300
+ - spec/cassettes/Octokit_Client_Releases/_release/gets_a_single_release.json
301
+ - spec/cassettes/Octokit_Client_Releases/_release_assets/lists_assets_for_a_release.json
302
+ - spec/cassettes/Octokit_Client_Releases/_releases/lists_releases_for_a_repo.json
303
+ - spec/cassettes/Octokit_Client_Releases/_update_release/updates_a_release.json
304
+ - spec/cassettes/Octokit_Client_Releases/handling_release_assets/_release_assets/lists_assets_for_a_release.json
305
+ - spec/cassettes/Octokit_Client_Releases/handling_release_assets/_update_release_asset/edits_a_release_asset.json
306
+ - spec/cassettes/Octokit_Client_Releases/handling_release_assets/_upload_release_asset/guesses_the_content_type_for_an_asset.json
307
+ - spec/cassettes/Octokit_Client_Releases/handling_release_assets/_upload_release_asset/uploads_a_release_asset_as_file_object.json
308
+ - spec/cassettes/Octokit_Client_Releases/handling_release_assets/_upload_release_asset/uploads_a_release_asset_by_path.json
309
+ - spec/cassettes/Octokit_Client_Releases/handling_release_assets/_upload_release_asset/uploads_a_release_asset_with_a_default_name.json
295
310
  - spec/cassettes/Octokit_Client_Repositories/_all_repositories/returns_all_repositories_on_github.json
296
311
  - spec/cassettes/Octokit_Client_Repositories/_assignees/lists_all_the_available_assignees_owner_collaborators_.json
297
312
  - spec/cassettes/Octokit_Client_Repositories/_branches/returns_a_repository_s_branches.json
@@ -380,8 +395,10 @@ files:
380
395
  - spec/cassettes/Octokit_Client_Users/methods_requiring_an_existing_public_key/_update_key/updates_a_public_key.json
381
396
  - spec/cassettes/rate_limit.json
382
397
  - spec/cassettes/root.json
398
+ - spec/fixtures/large_file.txt
383
399
  - spec/fixtures/new_file.txt
384
400
  - spec/fixtures/updated_file.txt
401
+ - spec/fixtures/upload.png
385
402
  - spec/fixtures/user.json
386
403
  - spec/fixtures/web_flow_token.json
387
404
  - spec/helper.rb
@@ -407,6 +424,7 @@ files:
407
424
  - spec/octokit/client/pull_requests_spec.rb
408
425
  - spec/octokit/client/rate_limit_spec.rb
409
426
  - spec/octokit/client/refs_spec.rb
427
+ - spec/octokit/client/releases_spec.rb
410
428
  - spec/octokit/client/repositories_spec.rb
411
429
  - spec/octokit/client/say_spec.rb
412
430
  - spec/octokit/client/search_spec.rb
@@ -491,8 +509,10 @@ test_files:
491
509
  - spec/cassettes/Octokit_Client_Contents/_create_contents/creates_contents_from_File_object.json
492
510
  - spec/cassettes/Octokit_Client_Contents/_create_contents/creates_contents_from_file_path.json
493
511
  - spec/cassettes/Octokit_Client_Contents/_create_contents/creates_repository_contents_at_a_path.json
512
+ - spec/cassettes/Octokit_Client_Contents/_create_contents/does_not_add_new_lines.json
494
513
  - spec/cassettes/Octokit_Client_Contents/_delete_contents/deletes_repository_contents_at_a_path.json
495
514
  - spec/cassettes/Octokit_Client_Contents/_readme/returns_the_default_readme.json
515
+ - spec/cassettes/Octokit_Client_Contents/_update_contents/does_not_add_new_lines.json
496
516
  - spec/cassettes/Octokit_Client_Contents/_update_contents/updates_repository_contents_at_a_path.json
497
517
  - spec/cassettes/Octokit_Client_Downloads/_download/gets_a_single_download.json
498
518
  - spec/cassettes/Octokit_Client_Downloads/_downloads/lists_available_downloads.json
@@ -639,6 +659,18 @@ test_files:
639
659
  - spec/cassettes/Octokit_Client_Refs/methods_that_require_a_ref/_create_ref/creates_a_ref.json
640
660
  - spec/cassettes/Octokit_Client_Refs/methods_that_require_a_ref/_delete_ref/deletes_an_existing_ref.json
641
661
  - spec/cassettes/Octokit_Client_Refs/methods_that_require_a_ref/_update_ref/updates_a_ref.json
662
+ - spec/cassettes/Octokit_Client_Releases/_create_release/creates_a_release.json
663
+ - spec/cassettes/Octokit_Client_Releases/_delete_release/deletes_a_release.json
664
+ - spec/cassettes/Octokit_Client_Releases/_release/gets_a_single_release.json
665
+ - spec/cassettes/Octokit_Client_Releases/_release_assets/lists_assets_for_a_release.json
666
+ - spec/cassettes/Octokit_Client_Releases/_releases/lists_releases_for_a_repo.json
667
+ - spec/cassettes/Octokit_Client_Releases/_update_release/updates_a_release.json
668
+ - spec/cassettes/Octokit_Client_Releases/handling_release_assets/_release_assets/lists_assets_for_a_release.json
669
+ - spec/cassettes/Octokit_Client_Releases/handling_release_assets/_update_release_asset/edits_a_release_asset.json
670
+ - spec/cassettes/Octokit_Client_Releases/handling_release_assets/_upload_release_asset/guesses_the_content_type_for_an_asset.json
671
+ - spec/cassettes/Octokit_Client_Releases/handling_release_assets/_upload_release_asset/uploads_a_release_asset_as_file_object.json
672
+ - spec/cassettes/Octokit_Client_Releases/handling_release_assets/_upload_release_asset/uploads_a_release_asset_by_path.json
673
+ - spec/cassettes/Octokit_Client_Releases/handling_release_assets/_upload_release_asset/uploads_a_release_asset_with_a_default_name.json
642
674
  - spec/cassettes/Octokit_Client_Repositories/_all_repositories/returns_all_repositories_on_github.json
643
675
  - spec/cassettes/Octokit_Client_Repositories/_assignees/lists_all_the_available_assignees_owner_collaborators_.json
644
676
  - spec/cassettes/Octokit_Client_Repositories/_branches/returns_a_repository_s_branches.json
@@ -727,8 +759,10 @@ test_files:
727
759
  - spec/cassettes/Octokit_Client_Users/methods_requiring_an_existing_public_key/_update_key/updates_a_public_key.json
728
760
  - spec/cassettes/rate_limit.json
729
761
  - spec/cassettes/root.json
762
+ - spec/fixtures/large_file.txt
730
763
  - spec/fixtures/new_file.txt
731
764
  - spec/fixtures/updated_file.txt
765
+ - spec/fixtures/upload.png
732
766
  - spec/fixtures/user.json
733
767
  - spec/fixtures/web_flow_token.json
734
768
  - spec/helper.rb
@@ -754,6 +788,7 @@ test_files:
754
788
  - spec/octokit/client/pull_requests_spec.rb
755
789
  - spec/octokit/client/rate_limit_spec.rb
756
790
  - spec/octokit/client/refs_spec.rb
791
+ - spec/octokit/client/releases_spec.rb
757
792
  - spec/octokit/client/repositories_spec.rb
758
793
  - spec/octokit/client/say_spec.rb
759
794
  - spec/octokit/client/search_spec.rb