namely 0.0.1 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +22 -24
- data/lib/namely.rb +2 -101
- data/lib/namely/authenticator.rb +61 -14
- data/lib/namely/collection.rb +78 -0
- data/lib/namely/connection.rb +90 -0
- data/lib/namely/exceptions.rb +0 -3
- data/lib/namely/model.rb +78 -0
- data/lib/namely/resource_gateway.rb +7 -2
- data/lib/namely/version.rb +1 -1
- data/spec/fixtures/vcr_cassettes/{country_head.yml → countries_head.yml} +4 -4
- data/spec/fixtures/vcr_cassettes/{country_head_missing.yml → countries_head_missing.yml} +4 -4
- data/spec/fixtures/vcr_cassettes/{country_index.yml → countries_index.yml} +6 -6
- data/spec/fixtures/vcr_cassettes/{country_show.yml → countries_show.yml} +4 -4
- data/spec/fixtures/vcr_cassettes/{country_show_missing.yml → countries_show_missing.yml} +7 -7
- data/spec/fixtures/vcr_cassettes/{currencytype_index.yml → currency_types_index.yml} +5 -5
- data/spec/fixtures/vcr_cassettes/current_user.yml +57 -0
- data/spec/fixtures/vcr_cassettes/{event_head.yml → events_head.yml} +4 -4
- data/spec/fixtures/vcr_cassettes/{event_head_missing.yml → events_head_missing.yml} +5 -5
- data/spec/fixtures/vcr_cassettes/events_index.yml +89 -0
- data/spec/fixtures/vcr_cassettes/{event_show.yml → events_show.yml} +5 -5
- data/spec/fixtures/vcr_cassettes/{event_show_missing.yml → events_show_missing.yml} +6 -6
- data/spec/fixtures/vcr_cassettes/fields_index.yml +48 -0
- data/spec/fixtures/vcr_cassettes/{jobtier_index.yml → job_tiers_index.yml} +5 -5
- data/spec/fixtures/vcr_cassettes/{field_index.yml → profiles/fields_index.yml} +5 -5
- data/spec/fixtures/vcr_cassettes/profiles_create.yml +85 -0
- data/spec/fixtures/vcr_cassettes/{profile_create_failed.yml → profiles_create_failed.yml} +9 -10
- data/spec/fixtures/vcr_cassettes/{profile_head.yml → profiles_head.yml} +4 -4
- data/spec/fixtures/vcr_cassettes/{profile_head_missing.yml → profiles_head_missing.yml} +4 -4
- data/spec/fixtures/vcr_cassettes/profiles_index.yml +981 -0
- data/spec/fixtures/vcr_cassettes/{profile_show.yml → profiles_show.yml} +4 -4
- data/spec/fixtures/vcr_cassettes/{profile_show_missing.yml → profiles_show_missing.yml} +7 -7
- data/spec/fixtures/vcr_cassettes/profiles_show_updated.yml +91 -0
- data/spec/fixtures/vcr_cassettes/profiles_update.yml +95 -0
- data/spec/fixtures/vcr_cassettes/profiles_update_revert.yml +95 -0
- data/spec/fixtures/vcr_cassettes/{report_head.yml → reports_head.yml} +4 -4
- data/spec/fixtures/vcr_cassettes/{report_head_missing.yml → reports_head_missing.yml} +5 -5
- data/spec/fixtures/vcr_cassettes/reports_show.yml +186 -0
- data/spec/fixtures/vcr_cassettes/{report_show_missing.yml → reports_show_missing.yml} +7 -7
- data/spec/fixtures/vcr_cassettes/token.yml +6 -6
- data/spec/namely/authenticator_spec.rb +36 -0
- data/spec/namely/connection_spec.rb +15 -0
- data/spec/namely/integration_spec.rb +94 -0
- data/spec/namely/resource_gateway_spec.rb +18 -10
- data/spec/shared_examples/a_resource_with_a_create_action.rb +24 -0
- data/spec/shared_examples/a_resource_with_a_show_action.rb +38 -0
- data/spec/shared_examples/a_resource_with_an_index_action.rb +15 -0
- data/spec/shared_examples/{a_model_with_an_update_action.rb → a_resource_with_an_update_action.rb} +10 -9
- data/spec/spec_helper.rb +0 -17
- metadata +75 -88
- data/lib/namely/country.rb +0 -9
- data/lib/namely/currency_type.rb +0 -9
- data/lib/namely/event.rb +0 -9
- data/lib/namely/field.rb +0 -9
- data/lib/namely/job_tier.rb +0 -9
- data/lib/namely/profile.rb +0 -13
- data/lib/namely/report.rb +0 -9
- data/lib/namely/restful_model.rb +0 -150
- data/spec/fixtures/vcr_cassettes/event_index.yml +0 -88
- data/spec/fixtures/vcr_cassettes/profile_create.yml +0 -85
- data/spec/fixtures/vcr_cassettes/profile_index.yml +0 -979
- data/spec/fixtures/vcr_cassettes/profile_show_updated.yml +0 -91
- data/spec/fixtures/vcr_cassettes/profile_update.yml +0 -95
- data/spec/fixtures/vcr_cassettes/profile_update_revert.yml +0 -95
- data/spec/fixtures/vcr_cassettes/report_show.yml +0 -185
- data/spec/namely/configuration_spec.rb +0 -33
- data/spec/namely/country_spec.rb +0 -11
- data/spec/namely/currency_type_spec.rb +0 -5
- data/spec/namely/event_spec.rb +0 -11
- data/spec/namely/field_spec.rb +0 -5
- data/spec/namely/job_tier_spec.rb +0 -5
- data/spec/namely/profile_spec.rb +0 -25
- data/spec/namely/report_spec.rb +0 -8
- data/spec/shared_examples/a_model_with_a_create_action.rb +0 -24
- data/spec/shared_examples/a_model_with_a_show_action.rb +0 -38
- data/spec/shared_examples/a_model_with_an_index_action.rb +0 -17
data/lib/namely/exceptions.rb
CHANGED
data/lib/namely/model.rb
ADDED
@@ -0,0 +1,78 @@
|
|
1
|
+
require "ostruct"
|
2
|
+
|
3
|
+
module Namely
|
4
|
+
class Model < OpenStruct
|
5
|
+
def initialize(resource_gateway, attributes)
|
6
|
+
@resource_gateway = resource_gateway
|
7
|
+
super(attributes)
|
8
|
+
end
|
9
|
+
|
10
|
+
# Try to persist the current object to the server by creating a
|
11
|
+
# new resource or updating an existing one. Raise an error if the
|
12
|
+
# object can't be saved.
|
13
|
+
#
|
14
|
+
# @raise [FailedRequestError] if the request failed for any reason.
|
15
|
+
#
|
16
|
+
# @return [Model] the model itself, if saving succeeded.
|
17
|
+
def save!
|
18
|
+
if persisted?
|
19
|
+
update(to_h)
|
20
|
+
else
|
21
|
+
self.id = resource_gateway.create(to_h)
|
22
|
+
end
|
23
|
+
self
|
24
|
+
rescue RestClient::Exception => e
|
25
|
+
raise_failed_request_error(e)
|
26
|
+
end
|
27
|
+
|
28
|
+
# Update the attributes of this model. Assign the attributes
|
29
|
+
# according to the hash, then persist those changes on the server.
|
30
|
+
#
|
31
|
+
# @param [Hash] attributes the attributes to be updated on the model.
|
32
|
+
#
|
33
|
+
# @example
|
34
|
+
# my_profile.update(
|
35
|
+
# middle_name: "Ludwig"
|
36
|
+
# )
|
37
|
+
#
|
38
|
+
# @raise [FailedRequestError] if the request failed for any reason.
|
39
|
+
#
|
40
|
+
# @return [Model] the updated model.
|
41
|
+
def update(attributes)
|
42
|
+
attributes.each do |key, value|
|
43
|
+
self[key] = value
|
44
|
+
end
|
45
|
+
|
46
|
+
begin
|
47
|
+
resource_gateway.update(id, attributes)
|
48
|
+
rescue RestClient::Exception => e
|
49
|
+
raise_failed_request_error(e)
|
50
|
+
end
|
51
|
+
|
52
|
+
self
|
53
|
+
end
|
54
|
+
|
55
|
+
# Return true if the model exists (in some state) on the server.
|
56
|
+
#
|
57
|
+
# @return [Boolean]
|
58
|
+
def persisted?
|
59
|
+
id != nil
|
60
|
+
end
|
61
|
+
|
62
|
+
private
|
63
|
+
|
64
|
+
def raise_failed_request_error(restclient_error)
|
65
|
+
errors = JSON.parse(restclient_error.response)["errors"]
|
66
|
+
if errors.nil?
|
67
|
+
raise FailedRequestError, restclient_error.message
|
68
|
+
else
|
69
|
+
raise(
|
70
|
+
FailedRequestError,
|
71
|
+
"#{restclient_error.message}: #{errors.join(", ")}"
|
72
|
+
)
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
attr_reader :resource_gateway
|
77
|
+
end
|
78
|
+
end
|
@@ -1,9 +1,10 @@
|
|
1
1
|
module Namely
|
2
2
|
class ResourceGateway
|
3
|
+
attr_reader :endpoint
|
4
|
+
|
3
5
|
def initialize(options)
|
4
6
|
@access_token = options.fetch(:access_token)
|
5
7
|
@endpoint = options.fetch(:endpoint)
|
6
|
-
@resource_name = options.fetch(:resource_name)
|
7
8
|
@subdomain = options.fetch(:subdomain)
|
8
9
|
end
|
9
10
|
|
@@ -33,7 +34,11 @@ module Namely
|
|
33
34
|
|
34
35
|
private
|
35
36
|
|
36
|
-
attr_reader :access_token, :
|
37
|
+
attr_reader :access_token, :subdomain
|
38
|
+
|
39
|
+
def resource_name
|
40
|
+
endpoint.split("/").last
|
41
|
+
end
|
37
42
|
|
38
43
|
def url(path)
|
39
44
|
"https://#{subdomain}.namely.com/api/v1#{path}"
|
data/lib/namely/version.rb
CHANGED
@@ -25,7 +25,7 @@ http_interactions:
|
|
25
25
|
Content-Type:
|
26
26
|
- application/json; charset=utf-8
|
27
27
|
Date:
|
28
|
-
- Tue,
|
28
|
+
- Tue, 11 Nov 2014 16:00:42 GMT
|
29
29
|
Server:
|
30
30
|
- nginx/1.6.2
|
31
31
|
Status:
|
@@ -38,14 +38,14 @@ http_interactions:
|
|
38
38
|
X-Rack-Cache:
|
39
39
|
- miss
|
40
40
|
X-Request-Id:
|
41
|
-
-
|
41
|
+
- 56058573-765a-4468-82bf-b47c8122915f
|
42
42
|
X-Runtime:
|
43
|
-
- '0.
|
43
|
+
- '0.019221'
|
44
44
|
Connection:
|
45
45
|
- keep-alive
|
46
46
|
body:
|
47
47
|
encoding: UTF-8
|
48
48
|
string: ''
|
49
49
|
http_version:
|
50
|
-
recorded_at: Tue,
|
50
|
+
recorded_at: Tue, 11 Nov 2014 16:00:42 GMT
|
51
51
|
recorded_with: VCR 2.9.3
|
@@ -25,7 +25,7 @@ http_interactions:
|
|
25
25
|
Content-Type:
|
26
26
|
- application/json; charset=utf-8
|
27
27
|
Date:
|
28
|
-
- Tue,
|
28
|
+
- Tue, 11 Nov 2014 16:00:42 GMT
|
29
29
|
Server:
|
30
30
|
- nginx
|
31
31
|
Status:
|
@@ -37,14 +37,14 @@ http_interactions:
|
|
37
37
|
X-Rack-Cache:
|
38
38
|
- miss
|
39
39
|
X-Request-Id:
|
40
|
-
-
|
40
|
+
- 726c72d5-785f-4b94-afb4-c0c93ee0c08e
|
41
41
|
X-Runtime:
|
42
|
-
- '0.
|
42
|
+
- '0.015185'
|
43
43
|
Connection:
|
44
44
|
- keep-alive
|
45
45
|
body:
|
46
46
|
encoding: UTF-8
|
47
47
|
string: ''
|
48
48
|
http_version:
|
49
|
-
recorded_at: Tue,
|
49
|
+
recorded_at: Tue, 11 Nov 2014 16:00:42 GMT
|
50
50
|
recorded_with: VCR 2.9.3
|
@@ -25,7 +25,7 @@ http_interactions:
|
|
25
25
|
Content-Type:
|
26
26
|
- application/json; charset=utf-8
|
27
27
|
Date:
|
28
|
-
- Tue,
|
28
|
+
- Tue, 11 Nov 2014 16:00:42 GMT
|
29
29
|
Server:
|
30
30
|
- nginx
|
31
31
|
Status:
|
@@ -38,11 +38,11 @@ http_interactions:
|
|
38
38
|
X-Rack-Cache:
|
39
39
|
- miss
|
40
40
|
X-Request-Id:
|
41
|
-
-
|
41
|
+
- 59241483-c6c8-4c9a-b18d-642a332f34fe
|
42
42
|
X-Runtime:
|
43
|
-
- '0.
|
44
|
-
|
45
|
-
-
|
43
|
+
- '0.044369'
|
44
|
+
Transfer-Encoding:
|
45
|
+
- chunked
|
46
46
|
Connection:
|
47
47
|
- keep-alive
|
48
48
|
body:
|
@@ -117,5 +117,5 @@ http_interactions:
|
|
117
117
|
8oISBR3E+AT+/XThHWT7BJ4gmT+JYsu2r97Vwx1cIn37Dz7gvbjcf/3xP7Ix
|
118
118
|
y4lUPAAA
|
119
119
|
http_version:
|
120
|
-
recorded_at: Tue,
|
120
|
+
recorded_at: Tue, 11 Nov 2014 16:00:42 GMT
|
121
121
|
recorded_with: VCR 2.9.3
|
@@ -25,7 +25,7 @@ http_interactions:
|
|
25
25
|
Content-Type:
|
26
26
|
- application/json; charset=utf-8
|
27
27
|
Date:
|
28
|
-
- Tue,
|
28
|
+
- Tue, 11 Nov 2014 16:00:42 GMT
|
29
29
|
Server:
|
30
30
|
- nginx/1.6.2
|
31
31
|
Status:
|
@@ -38,9 +38,9 @@ http_interactions:
|
|
38
38
|
X-Rack-Cache:
|
39
39
|
- miss
|
40
40
|
X-Request-Id:
|
41
|
-
-
|
41
|
+
- 3819cee5-33b1-4629-8c93-db1cd93f1034
|
42
42
|
X-Runtime:
|
43
|
-
- '0.
|
43
|
+
- '0.028427'
|
44
44
|
Content-Length:
|
45
45
|
- '637'
|
46
46
|
Connection:
|
@@ -64,5 +64,5 @@ http_interactions:
|
|
64
64
|
cKn3sIImFbkgyqNF9ypoU7Gp3V8ZI4aoVcLY6OugFSSuuqjBdYg/fn645w/t
|
65
65
|
VlGudQcAAA==
|
66
66
|
http_version:
|
67
|
-
recorded_at: Tue,
|
67
|
+
recorded_at: Tue, 11 Nov 2014 16:00:42 GMT
|
68
68
|
recorded_with: VCR 2.9.3
|
@@ -25,9 +25,9 @@ http_interactions:
|
|
25
25
|
Content-Type:
|
26
26
|
- application/json; charset=utf-8
|
27
27
|
Date:
|
28
|
-
- Tue,
|
28
|
+
- Tue, 11 Nov 2014 16:00:42 GMT
|
29
29
|
Server:
|
30
|
-
- nginx
|
30
|
+
- nginx
|
31
31
|
Status:
|
32
32
|
- 404 Not Found
|
33
33
|
Strict-Transport-Security:
|
@@ -37,18 +37,18 @@ http_interactions:
|
|
37
37
|
X-Rack-Cache:
|
38
38
|
- miss
|
39
39
|
X-Request-Id:
|
40
|
-
-
|
40
|
+
- ddbdf14f-230d-4fe5-a2ea-a88bdb60283f
|
41
41
|
X-Runtime:
|
42
|
-
- '0.
|
42
|
+
- '0.026943'
|
43
43
|
Content-Length:
|
44
|
-
- '
|
44
|
+
- '61'
|
45
45
|
Connection:
|
46
46
|
- keep-alive
|
47
47
|
body:
|
48
48
|
encoding: ASCII-8BIT
|
49
49
|
string: !binary |-
|
50
50
|
H4sIAAAAAAAAA6tWyk0tLk5MT1WyUnLOL80rKapUyMsvUUgDslOUdJRSi4ry
|
51
|
-
|
51
|
+
i4qVrKJjawHUSqfeKwAAAA==
|
52
52
|
http_version:
|
53
|
-
recorded_at: Tue,
|
53
|
+
recorded_at: Tue, 11 Nov 2014 16:00:42 GMT
|
54
54
|
recorded_with: VCR 2.9.3
|
@@ -25,9 +25,9 @@ http_interactions:
|
|
25
25
|
Content-Type:
|
26
26
|
- application/json; charset=utf-8
|
27
27
|
Date:
|
28
|
-
- Tue,
|
28
|
+
- Tue, 11 Nov 2014 15:48:48 GMT
|
29
29
|
Server:
|
30
|
-
- nginx
|
30
|
+
- nginx
|
31
31
|
Status:
|
32
32
|
- 200 OK
|
33
33
|
Strict-Transport-Security:
|
@@ -38,9 +38,9 @@ http_interactions:
|
|
38
38
|
X-Rack-Cache:
|
39
39
|
- miss
|
40
40
|
X-Request-Id:
|
41
|
-
-
|
41
|
+
- 287d7dd6-32e9-4bbb-b2d9-998bed84f8dc
|
42
42
|
X-Runtime:
|
43
|
-
- '0.
|
43
|
+
- '0.034518'
|
44
44
|
Content-Length:
|
45
45
|
- '469'
|
46
46
|
Connection:
|
@@ -60,5 +60,5 @@ http_interactions:
|
|
60
60
|
BKpRpT8/fon4+bVQe1fiGqEG/7K8/H5ly8sBy7w/fqhLS+O+vkjpUiGE3hjn
|
61
61
|
1JSBipEGXuuPd0+nZk3wagUAAA==
|
62
62
|
http_version:
|
63
|
-
recorded_at: Tue,
|
63
|
+
recorded_at: Tue, 11 Nov 2014 15:48:48 GMT
|
64
64
|
recorded_with: VCR 2.9.3
|
@@ -0,0 +1,57 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://<TEST_SUBDOMAIN>.namely.com/api/v1/profiles/me?access_token=<TEST_ACCESS_TOKEN>
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- application/json
|
12
|
+
Accept-Encoding:
|
13
|
+
- gzip, deflate
|
14
|
+
User-Agent:
|
15
|
+
- Ruby
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
Cache-Control:
|
22
|
+
- max-age=0, private, must-revalidate
|
23
|
+
Content-Encoding:
|
24
|
+
- gzip
|
25
|
+
Content-Type:
|
26
|
+
- application/json; charset=utf-8
|
27
|
+
Date:
|
28
|
+
- Wed, 05 Nov 2014 20:49:10 GMT
|
29
|
+
Server:
|
30
|
+
- nginx
|
31
|
+
Status:
|
32
|
+
- 200 OK
|
33
|
+
Strict-Transport-Security:
|
34
|
+
- max-age=31536000
|
35
|
+
- max-age=31536000; includeSubDomains;
|
36
|
+
Vary:
|
37
|
+
- Accept-Encoding
|
38
|
+
X-Rack-Cache:
|
39
|
+
- miss
|
40
|
+
X-Request-Id:
|
41
|
+
- 6b7b7105-3c5e-4949-b489-15d7a7964d2e
|
42
|
+
X-Runtime:
|
43
|
+
- '0.025885'
|
44
|
+
Content-Length:
|
45
|
+
- '175'
|
46
|
+
Connection:
|
47
|
+
- keep-alive
|
48
|
+
body:
|
49
|
+
encoding: ASCII-8BIT
|
50
|
+
string: !binary |-
|
51
|
+
H4sIAAAAAAAAA2WO2wrCMBBE/2WfG4maXp/0O0TKNkltsEkk2QhS+u9GRRB8
|
52
|
+
G86cgVngFvxoZh2hOy1gFHQgyrYWjSpZxRvJhJKaDRJbJlrkVaXqca84FKAt
|
53
|
+
mjnrE4bwONDk02WiwdNGepvr0YRIvUOrs3NU1rgMZ/xnKerQR0JK+QOgJHPX
|
54
|
+
L9W4awbLup4LsJowZ5A+OYJuW8B3sON8/ZE/Uav38Ani9PPE3QAAAA==
|
55
|
+
http_version:
|
56
|
+
recorded_at: Wed, 05 Nov 2014 20:49:09 GMT
|
57
|
+
recorded_with: VCR 2.9.3
|
@@ -25,7 +25,7 @@ http_interactions:
|
|
25
25
|
Content-Type:
|
26
26
|
- application/json; charset=utf-8
|
27
27
|
Date:
|
28
|
-
- Tue,
|
28
|
+
- Tue, 11 Nov 2014 16:04:07 GMT
|
29
29
|
Server:
|
30
30
|
- nginx/1.6.2
|
31
31
|
Status:
|
@@ -38,14 +38,14 @@ http_interactions:
|
|
38
38
|
X-Rack-Cache:
|
39
39
|
- miss
|
40
40
|
X-Request-Id:
|
41
|
-
-
|
41
|
+
- 93065bb3-2192-4dd4-aff0-298c5f0eadfe
|
42
42
|
X-Runtime:
|
43
|
-
- '0.
|
43
|
+
- '0.056267'
|
44
44
|
Connection:
|
45
45
|
- keep-alive
|
46
46
|
body:
|
47
47
|
encoding: UTF-8
|
48
48
|
string: ''
|
49
49
|
http_version:
|
50
|
-
recorded_at: Tue,
|
50
|
+
recorded_at: Tue, 11 Nov 2014 16:04:08 GMT
|
51
51
|
recorded_with: VCR 2.9.3
|
@@ -25,9 +25,9 @@ http_interactions:
|
|
25
25
|
Content-Type:
|
26
26
|
- application/json; charset=utf-8
|
27
27
|
Date:
|
28
|
-
- Tue,
|
28
|
+
- Tue, 11 Nov 2014 16:04:07 GMT
|
29
29
|
Server:
|
30
|
-
- nginx
|
30
|
+
- nginx/1.6.2
|
31
31
|
Status:
|
32
32
|
- 404 Not Found
|
33
33
|
Strict-Transport-Security:
|
@@ -37,14 +37,14 @@ http_interactions:
|
|
37
37
|
X-Rack-Cache:
|
38
38
|
- miss
|
39
39
|
X-Request-Id:
|
40
|
-
-
|
40
|
+
- e367f203-6f21-4b9d-9a95-d8a6d03bf742
|
41
41
|
X-Runtime:
|
42
|
-
- '0.
|
42
|
+
- '0.063614'
|
43
43
|
Connection:
|
44
44
|
- keep-alive
|
45
45
|
body:
|
46
46
|
encoding: UTF-8
|
47
47
|
string: ''
|
48
48
|
http_version:
|
49
|
-
recorded_at: Tue,
|
49
|
+
recorded_at: Tue, 11 Nov 2014 16:04:07 GMT
|
50
50
|
recorded_with: VCR 2.9.3
|
@@ -0,0 +1,89 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://<TEST_SUBDOMAIN>.namely.com/api/v1/events?access_token=<TEST_ACCESS_TOKEN>&limit=all
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- application/json
|
12
|
+
Accept-Encoding:
|
13
|
+
- gzip, deflate
|
14
|
+
User-Agent:
|
15
|
+
- Ruby
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
Cache-Control:
|
22
|
+
- max-age=0, private, must-revalidate
|
23
|
+
Content-Encoding:
|
24
|
+
- gzip
|
25
|
+
Content-Type:
|
26
|
+
- application/json; charset=utf-8
|
27
|
+
Date:
|
28
|
+
- Tue, 11 Nov 2014 16:04:08 GMT
|
29
|
+
Server:
|
30
|
+
- nginx/1.6.2
|
31
|
+
Status:
|
32
|
+
- 200 OK
|
33
|
+
Strict-Transport-Security:
|
34
|
+
- max-age=31536000
|
35
|
+
- max-age=31536000; includeSubDomains;
|
36
|
+
Vary:
|
37
|
+
- Accept-Encoding
|
38
|
+
X-Rack-Cache:
|
39
|
+
- miss
|
40
|
+
X-Request-Id:
|
41
|
+
- 34f90f20-201d-427b-8686-0d10ba902481
|
42
|
+
X-Runtime:
|
43
|
+
- '0.116558'
|
44
|
+
Content-Length:
|
45
|
+
- '1620'
|
46
|
+
Connection:
|
47
|
+
- keep-alive
|
48
|
+
body:
|
49
|
+
encoding: ASCII-8BIT
|
50
|
+
string: !binary |-
|
51
|
+
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
|
87
|
+
http_version:
|
88
|
+
recorded_at: Tue, 11 Nov 2014 16:04:08 GMT
|
89
|
+
recorded_with: VCR 2.9.3
|