octokit 2.1.2 → 2.2.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 (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