json_client 0.2.2 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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