json_client 0.2.2 → 1.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 (57) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +20 -19
  3. data/Rakefile +2 -4
  4. data/json_client.gemspec +18 -17
  5. data/lib/json_client.rb +18 -6
  6. data/lib/json_client/base.rb +48 -47
  7. data/lib/json_client/base_serializer.rb +6 -3
  8. data/lib/json_client/create.rb +9 -0
  9. data/lib/json_client/destroy.rb +11 -0
  10. data/lib/json_client/dsl.rb +2 -2
  11. data/lib/json_client/dsl/on_use_collector.rb +3 -0
  12. data/lib/json_client/dsl/requests_collector.rb +0 -1
  13. data/lib/json_client/dsl/serializers_collector.rb +0 -1
  14. data/lib/json_client/empty_serializer.rb +2 -3
  15. data/lib/json_client/index.rb +9 -0
  16. data/lib/json_client/model_serializer.rb +4 -0
  17. data/lib/json_client/request.rb +48 -0
  18. data/lib/json_client/request_with_body.rb +30 -0
  19. data/lib/json_client/request_without_body.rb +17 -0
  20. data/lib/json_client/requests.rb +58 -16
  21. data/lib/json_client/response.rb +23 -0
  22. data/lib/json_client/show.rb +9 -0
  23. data/lib/json_client/update.rb +15 -0
  24. data/lib/json_client/uri_builder.rb +34 -0
  25. data/lib/json_client/version.rb +1 -1
  26. data/spec/fixtures/vcr_cassettes/all_success.yml +15 -15
  27. data/spec/fixtures/vcr_cassettes/create_success.yml +19 -20
  28. data/spec/fixtures/vcr_cassettes/destroy_success.yml +35 -36
  29. data/spec/fixtures/vcr_cassettes/show_success.yml +17 -16
  30. data/spec/fixtures/vcr_cassettes/update_success.yml +38 -40
  31. data/spec/json_client/base_responses/response_spec.rb +8 -4
  32. data/spec/json_client/base_spec.rb +32 -19
  33. data/spec/json_client/dsl_spec.rb +10 -12
  34. data/spec/json_client/model_serializer_spec.rb +14 -4
  35. data/spec/json_client/{pather_spec.rb → uri_builder_spec.rb} +26 -4
  36. data/spec/json_client_spec.rb +22 -8
  37. data/spec/spec_helper.rb +0 -1
  38. metadata +47 -46
  39. data/lib/json_client/base_requests/create.rb +0 -16
  40. data/lib/json_client/base_requests/destroy.rb +0 -13
  41. data/lib/json_client/base_requests/index.rb +0 -11
  42. data/lib/json_client/base_requests/request.rb +0 -12
  43. data/lib/json_client/base_requests/show.rb +0 -11
  44. data/lib/json_client/base_requests/update.rb +0 -16
  45. data/lib/json_client/base_responses/create.rb +0 -8
  46. data/lib/json_client/base_responses/destroy.rb +0 -8
  47. data/lib/json_client/base_responses/index.rb +0 -8
  48. data/lib/json_client/base_responses/response.rb +0 -25
  49. data/lib/json_client/base_responses/show.rb +0 -8
  50. data/lib/json_client/base_responses/update.rb +0 -8
  51. data/lib/json_client/pather.rb +0 -20
  52. data/lib/json_client/resource_handler.rb +0 -9
  53. data/lib/json_client/responses.rb +0 -29
  54. data/spec/fixtures/vcr_cassettes/authenticate_success.yml +0 -58
  55. data/spec/json_client/base_requests/request_spec.rb +0 -14
  56. data/spec/json_client/requests_spec.rb +0 -43
  57. data/spec/json_client/responses_spec.rb +0 -43
@@ -1,29 +0,0 @@
1
- require_relative 'base_responses/index'
2
- require_relative 'base_responses/show'
3
- require_relative 'base_responses/create'
4
- require_relative 'base_responses/update'
5
- require_relative 'base_responses/destroy'
6
-
7
- module JsonClient
8
- class Responses
9
- def index
10
- BaseResponses::Index
11
- end
12
-
13
- def show
14
- BaseResponses::Show
15
- end
16
-
17
- def create
18
- BaseResponses::Create
19
- end
20
-
21
- def update
22
- BaseResponses::Update
23
- end
24
-
25
- def destroy
26
- BaseResponses::Destroy
27
- end
28
- end
29
- end
@@ -1,58 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: post
5
- uri: http://account-authenticator.herokuapp.com/api/v1/authentications/authenticate
6
- body:
7
- encoding: UTF-8
8
- string: '{"api_key":"124ecd49-07fd-4553-a5cd-0178b7fa8b3f","api_password":"IIoclO7kmQqJ1wixWrAuOA","account":{"username":"new_username","password":"new_password"}}'
9
- headers:
10
- Accept:
11
- - application/json
12
- Accept-Encoding:
13
- - gzip, deflate
14
- Content-Type:
15
- - application/json
16
- Content-Length:
17
- - '154'
18
- User-Agent:
19
- - Ruby
20
- response:
21
- status:
22
- code: 200
23
- message: OK
24
- headers:
25
- Server:
26
- - Cowboy
27
- Date:
28
- - Mon, 05 Jan 2015 01:23:42 GMT
29
- Connection:
30
- - keep-alive
31
- X-Frame-Options:
32
- - SAMEORIGIN
33
- X-Xss-Protection:
34
- - 1; mode=block
35
- X-Content-Type-Options:
36
- - nosniff
37
- Content-Type:
38
- - application/json; charset=utf-8
39
- Etag:
40
- - '"29a332b9c56931be8b665c71c76164f8"'
41
- Cache-Control:
42
- - max-age=0, private, must-revalidate
43
- Set-Cookie:
44
- - request_method=POST; path=/
45
- X-Request-Id:
46
- - aa1a198c-8128-4be7-a69a-6bfafd673aac
47
- X-Runtime:
48
- - '0.387137'
49
- Transfer-Encoding:
50
- - chunked
51
- Via:
52
- - 1.1 vegur
53
- body:
54
- encoding: UTF-8
55
- string: '{"authenticated":true}'
56
- http_version:
57
- recorded_at: Mon, 05 Jan 2015 01:09:52 GMT
58
- recorded_with: VCR 2.9.3
@@ -1,14 +0,0 @@
1
- require 'spec_helper'
2
- require 'rspec/collection_matchers'
3
- require 'json_client'
4
- require 'vcr'
5
- require 'json'
6
-
7
- VCR.configure do |c|
8
- c.cassette_library_dir = 'spec/fixtures/vcr_cassettes'
9
- c.hook_into :webmock
10
- end
11
-
12
- describe JsonClient::BaseRequests::Request do
13
- pending '# TODO'
14
- end
@@ -1,43 +0,0 @@
1
- require 'spec_helper'
2
- require 'rspec/collection_matchers'
3
- require 'json_client'
4
- require 'vcr'
5
-
6
- VCR.configure do |c|
7
- c.cassette_library_dir = 'spec/fixtures/vcr_cassettes'
8
- c.hook_into :webmock
9
- end
10
-
11
- describe JsonClient::Requests do
12
- subject { described_class.new }
13
-
14
- describe '#index' do
15
- it 'returns a index request class' do
16
- expect(subject.index).to be JsonClient::BaseRequests::Index
17
- end
18
- end
19
-
20
- describe '#show' do
21
- it 'returns a show request class' do
22
- expect(subject.show).to be JsonClient::BaseRequests::Show
23
- end
24
- end
25
-
26
- describe '#create' do
27
- it 'returns a create request class' do
28
- expect(subject.create).to be JsonClient::BaseRequests::Create
29
- end
30
- end
31
-
32
- describe '#update' do
33
- it 'returns an update request class' do
34
- expect(subject.update).to be JsonClient::BaseRequests::Update
35
- end
36
- end
37
-
38
- describe '#destroy' do
39
- it 'returns a destroy request class' do
40
- expect(subject.destroy).to be JsonClient::BaseRequests::Destroy
41
- end
42
- end
43
- end
@@ -1,43 +0,0 @@
1
- require 'spec_helper'
2
- require 'rspec/collection_matchers'
3
- require 'json_client'
4
- require 'vcr'
5
-
6
- VCR.configure do |c|
7
- c.cassette_library_dir = 'spec/fixtures/vcr_cassettes'
8
- c.hook_into :webmock
9
- end
10
-
11
- describe JsonClient::Responses do
12
- subject { described_class.new }
13
-
14
- describe '#index' do
15
- it 'returns a index response class' do
16
- expect(subject.index).to be JsonClient::BaseResponses::Index
17
- end
18
- end
19
-
20
- describe '#show' do
21
- it 'returns a show response class' do
22
- expect(subject.show).to be JsonClient::BaseResponses::Show
23
- end
24
- end
25
-
26
- describe '#create' do
27
- it 'returns a create response class' do
28
- expect(subject.create).to be JsonClient::BaseResponses::Create
29
- end
30
- end
31
-
32
- describe '#update' do
33
- it 'returns an update response class' do
34
- expect(subject.update).to be JsonClient::BaseResponses::Update
35
- end
36
- end
37
-
38
- describe '#destroy' do
39
- it 'returns a destroy response class' do
40
- expect(subject.destroy).to be JsonClient::BaseResponses::Destroy
41
- end
42
- end
43
- end