code42 0.1.2 → 0.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 (50) hide show
  1. data/.gitignore +1 -0
  2. data/README.md +82 -64
  3. data/Rakefile +5 -0
  4. data/code42.gemspec +6 -6
  5. data/lib/code42/api/computer.rb +22 -0
  6. data/lib/code42/api/org.rb +60 -0
  7. data/lib/code42/api/role.rb +24 -0
  8. data/lib/code42/api/token.rb +32 -0
  9. data/lib/code42/api/user.rb +72 -0
  10. data/lib/code42/client.rb +7 -178
  11. data/lib/code42/user.rb +8 -0
  12. data/lib/code42/version.rb +1 -1
  13. data/spec/cassettes/Code42_Client/_create_org/returns_created_org.yml +8 -8
  14. data/spec/cassettes/Code42_Client/_create_user/returns_created_user.yml +6 -6
  15. data/spec/cassettes/Code42_Client/_create_user/when_sending_an_invalid_email/raises_an_exception.yml +2 -2
  16. data/spec/cassettes/Code42_Client/_find_org_by_name/returns_the_org_with_the_specified_name.yml +12 -58
  17. data/spec/cassettes/Code42_Client/_get_token/returns_valid_tokens.yml +5 -5
  18. data/spec/cassettes/Code42_Client/_get_token/when_providing_invalid_credentials/should_raise_an_exception.yml +2 -2
  19. data/spec/cassettes/Code42_Client/_org/when_ID_is_not_passed/returns_my_org.yml +11 -11
  20. data/spec/cassettes/Code42_Client/_org/when_ID_is_passed_in/returns_a_specific_org.yml +11 -11
  21. data/spec/cassettes/Code42_Client/_ping/returns_a_ping.yml +5 -5
  22. data/spec/cassettes/Code42_Client/_user/when_ID_is_not_passed/returns_my_user.yml +10 -10
  23. data/spec/cassettes/Code42_Client/_user/when_ID_is_passed_in/returns_a_specific_user.yml +10 -10
  24. data/spec/cassettes/Code42_Client/_user/when_blocked/returns_the_blocked_status.yml +84 -0
  25. data/spec/cassettes/Code42_Client/_user/when_unblocked/returns_the_blocked_status.yml +113 -0
  26. data/spec/cassettes/Code42_Client/_user_roles/returns_an_enumerable.yml +7 -7
  27. data/spec/cassettes/Code42_Client/_validate_token/returns_a_valid_response.yml +10 -10
  28. data/spec/{crashplan → code42}/client_spec.rb +26 -5
  29. data/spec/{crashplan → code42}/connection_spec.rb +0 -0
  30. data/spec/{crashplan → code42}/org_spec.rb +0 -0
  31. data/spec/{crashplan → code42}/ping_spec.rb +0 -0
  32. data/spec/{crashplan → code42}/resource_spec.rb +0 -0
  33. data/spec/{crashplan → code42}/role_spec.rb +0 -0
  34. data/spec/{crashplan → code42}/settings_spec.rb +0 -0
  35. data/spec/{crashplan → code42}/token_spec.rb +0 -0
  36. data/spec/{crashplan → code42}/user_spec.rb +0 -0
  37. metadata +49 -66
  38. data/spec/cassettes/Crashplan_Client/_create_org/returns_created_org.yml +0 -47
  39. data/spec/cassettes/Crashplan_Client/_create_user/returns_created_user.yml +0 -44
  40. data/spec/cassettes/Crashplan_Client/_create_user/when_sending_an_invalid_email/raises_an_exception.yml +0 -37
  41. data/spec/cassettes/Crashplan_Client/_find_org_by_name/returns_the_org_with_the_specified_name.yml +0 -55
  42. data/spec/cassettes/Crashplan_Client/_get_token/returns_valid_tokens.yml +0 -38
  43. data/spec/cassettes/Crashplan_Client/_get_token/when_providing_invalid_credentials/should_raise_an_exception.yml +0 -37
  44. data/spec/cassettes/Crashplan_Client/_org/when_ID_is_not_passed/returns_my_org.yml +0 -54
  45. data/spec/cassettes/Crashplan_Client/_org/when_ID_is_passed_in/returns_a_specific_org.yml +0 -54
  46. data/spec/cassettes/Crashplan_Client/_ping/returns_a_ping.yml +0 -48
  47. data/spec/cassettes/Crashplan_Client/_user/when_ID_is_not_passed/returns_my_user.yml +0 -99
  48. data/spec/cassettes/Crashplan_Client/_user/when_ID_is_passed_in/returns_a_specific_user.yml +0 -53
  49. data/spec/cassettes/Crashplan_Client/_user_roles/returns_an_enumerable.yml +0 -50
  50. data/spec/cassettes/Crashplan_Client/_validate_token/returns_a_valid_response.yml +0 -128
@@ -1,7 +1,14 @@
1
1
  require 'json'
2
+ Dir[File.dirname(__FILE__) + '/api/*.rb'].each { |file| require file }
2
3
 
3
4
  module Code42
4
5
  class Client
6
+ include Code42::API::User
7
+ include Code42::API::Role
8
+ include Code42::API::Org
9
+ include Code42::API::Computer
10
+ include Code42::API::Token
11
+
5
12
  attr_accessor :settings
6
13
 
7
14
  def initialize(options = {})
@@ -33,184 +40,6 @@ module Code42
33
40
  settings.token = token.to_s
34
41
  end
35
42
 
36
- ### Authentication With Tokens :post, :get, :delete ###
37
-
38
- # Gets a token for the currently authorized user
39
- def get_token
40
- object_from_response(Token, :post, "authToken")
41
- end
42
-
43
- # Returns LoginToken and ServerUrl
44
- # @return [CrashPlan::Token] Token to pass to ServerUrl's AuthToken resource
45
- def get_login_token
46
- object_from_response(Token, :post, "loginToken")
47
- end
48
-
49
- # Validates an authorization token
50
- # @return [Code42::TokenValidation]
51
- # @param token [Code42::Token, String] The token to validate
52
- def validate_token(token)
53
- object_from_response(TokenValidation, :get, "authToken/#{token.to_s}")
54
- end
55
-
56
- # Manually expires a token
57
- # @param token [Code42::Token, String] A token to expire (leave blank to expire currently used token)
58
- def delete_token(token = nil)
59
- token = token || settings.token
60
- delete "authToken/#{token.to_s}"
61
- end
62
-
63
- ### Users :post, :get ###
64
-
65
- # Creates a user
66
- # @return [Code42::User] The created user
67
- # @param attrs [Hash] A hash of attributes to assign to created user
68
- # @example
69
- # client.create_user(:username => 'testuser', password: 'letmein', email: 'test@example.com', org_id: 3)
70
- def create_user(attrs = {})
71
- object_from_response(User, :post, "user", attrs)
72
- end
73
-
74
- # Returns information for a given user
75
- # @return [Code42::User] The requested user
76
- # @param id_or_username [String, Integer] A code42 user ID or username
77
- def user(id_or_username = "my", params = {})
78
- if id_or_username.is_a?(Fixnum) || id_or_username == 'my'
79
- find_user_by_id id_or_username, params
80
- else
81
- find_user_by_username id_or_username, params
82
- end
83
- end
84
-
85
- # Returns a user for a given id
86
- def find_user_by_id(id = 'my', params = {})
87
- object_from_response(User, :get, "user/#{id}", params)
88
- end
89
-
90
- # Returns a user for a given username
91
- def find_user_by_username(username, params = {})
92
- params.merge!(username: username)
93
- users(params).first
94
- end
95
-
96
- # Returns a user for a given channel id
97
- # @return [Code42::User] The requested user
98
- # @param channel_id [String, Integer] A code42 User
99
- def find_user_by_channel_id(channel_id = 1)
100
- object_from_response(User, :get, "userChannel?channelCustomerId=#{channel_id}")
101
- end
102
-
103
- # Returns a list of up to 100 users
104
- # @return [Array] An array of matching users
105
- # @param params [Hash] A hash of parameters to match results against
106
- def users(params = {})
107
- params.merge!(key: 'users')
108
- objects_from_response(User, :get, 'user', params)
109
- end
110
-
111
- # Check if user exists with given username.
112
- def user_exists?(username)
113
- users(username: username).present?
114
- end
115
-
116
- ### Roles :post, :get ###
117
-
118
- # Assigns a role to a user
119
- # @return [Code42::Role] The assigned role
120
- # @param attrs [Hash] A hash of attributes for assigning a user role
121
- # @example
122
- # client.assign_role(:user_id => 2, :role_name => 'Admin')
123
- def assign_role(attrs = {})
124
- object_from_response(Role, :post, 'UserRole', attrs)
125
- end
126
-
127
- # Returns a list of roles for a given user
128
- # @return [Code42::RoleCollection] A collection of matching roles
129
- # @param id [String, Integer] The id of the user to return roles for
130
- def user_roles(id = 'my')
131
- collection_from_response(RoleCollection, Role, :get, "userRole/#{id}")
132
- end
133
-
134
- ### Orgs :post, :get, :put, :delete ###
135
-
136
- # Creates blue org as well as user for the org
137
- # @return [Code42::Org] The created org
138
- # @param attrs [Hash] A hash of attributes to assign to created org
139
- # @example
140
- # client.create_org(:company => "test", :email => "test@test.com", :firstname => "test", :lastname => "test")
141
- def create_pro_org(attrs = {})
142
- object_from_response(Org, :post, "proOrgChannel", attrs)
143
- end
144
-
145
- # Creates an org
146
- # @return [Code42::Org] The created org
147
- # @param attrs [Hash] A hash of attributes to assign to created org
148
- # @example
149
- # client.create_org(:name => 'Acme Org', :parent_id => 2)
150
- def create_org(attrs = {})
151
- object_from_response(Org, :post, "org", attrs)
152
- end
153
-
154
- # Returns information for a given org
155
- # @return [Code42::Org] The requested org
156
- # @param id [String, Integer] A code42 user ID
157
- def org(id = "my", params = {})
158
- object_from_response(Org, :get, "org/#{id}", params)
159
- end
160
-
161
- # Returns an org for a given name
162
- # @return [Code42::Org] The requested org
163
- # @param name [String] A Code42 org name
164
- # FIXME: This needs to change when the API implements a better way.
165
- def find_org_by_name(name)
166
- search_orgs(name).select { |o| o.name == name }.first
167
- end
168
-
169
- # Searches orgs for a query string
170
- # @return [Array] An array of matching orgs
171
- # @param query [String] A string to search for
172
- def search_orgs(query)
173
- orgs(q: query)
174
- end
175
-
176
- # Creates a user
177
- # @return [Code42::User] The created user
178
- # @param attrs [Hash] A hash of attributes to assign to created user
179
- # @example
180
- # client.create_user(:username => 'testuser', :password => 'letmein', :email => 'test@example.com', :org_id => 3)
181
- def create_user(attrs = {})
182
- object_from_response(User, :post, "user", attrs)
183
- end
184
-
185
- # Returns a list of up to 100 orgs
186
- # @return [Array] An array of matching orgs
187
- # @param params [Hash] A hash of parameters to match results against
188
- def orgs(params = {})
189
- params.merge!(key: 'orgs')
190
- objects_from_response(Org, :get, 'org', params)
191
- end
192
-
193
- def update_org(id = 'my', attrs = {})
194
- object_from_response(Org, :put, "org/#{id}", attrs)
195
- end
196
-
197
- ### Computers :get, :put ###
198
-
199
- # Returns one computer or http status 404
200
- # @return [Code42::Computer] The requested computer
201
- # @param id [String, Integer] A computer ID
202
- def computer(id, params = {})
203
- object_from_response(Computer, :get, "computer/#{id}", params)
204
- end
205
-
206
- # Returns a list of computers
207
- # @return [Array] The list of computers
208
- # @param params [Hash] A hash of valid search parameters for computers
209
- def computers(params = {})
210
- params.merge!(key: 'computers')
211
- objects_from_response(Computer, :get, 'computer', params)
212
- end
213
-
214
43
  def diagnostic
215
44
  object_from_response(Diagnostic, :get, 'diagnostic')
216
45
  end
@@ -36,5 +36,13 @@ module Code42
36
36
  attrs.merge!(user_id: id)
37
37
  client.assign_role(attrs)
38
38
  end
39
+
40
+ def block
41
+ client.block_user(user_id: id)
42
+ end
43
+
44
+ def unblock
45
+ client.unblock_user(user_id: id)
46
+ end
39
47
  end
40
48
  end
@@ -1,3 +1,3 @@
1
1
  module Code42
2
- VERSION = "0.1.2"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -30,18 +30,18 @@ http_interactions:
30
30
  - Jetty(7.6.3.v20120416)
31
31
  body:
32
32
  encoding: US-ASCII
33
- string: ! "{\n \"metadata\": {\n \"timestamp\": \"2013-05-06T12:05:59.055-05:00\",\n
34
- \ \"params\": {}\n },\n \"data\": {\n \"orgId\": 86,\n \"orgUid\":
35
- \"582357901600501463\",\n \"orgName\": \"IBM\",\n \"status\": \"Active\",\n
33
+ string: ! "{\n \"metadata\": {\n \"timestamp\": \"2013-06-11T15:36:12.931-05:00\",\n
34
+ \ \"params\": {}\n },\n \"data\": {\n \"orgId\": 88,\n \"orgUid\":
35
+ \"587597449746066070\",\n \"orgName\": \"IBM\",\n \"status\": \"Active\",\n
36
36
  \ \"active\": true,\n \"blocked\": false,\n \"parentOrgId\": null,\n
37
- \ \"type\": \"ENTERPRISE\",\n \"externalId\": \"582357901600501463\",\n
37
+ \ \"type\": \"ENTERPRISE\",\n \"externalId\": \"587597449746066070\",\n
38
38
  \ \"hierarchyCounts\": {},\n \"configInheritanceCounts\": {},\n \"creationDate\":
39
- \"2013-05-06T12:05:58.710-05:00\",\n \"modificationDate\": \"2013-05-06T12:05:59.019-05:00\",\n
40
- \ \"registrationKey\": \"WS8T-JKPH-CWK9-URKK\",\n \"reporting\": {},\n
39
+ \"2013-06-11T15:36:12.778-05:00\",\n \"modificationDate\": \"2013-06-11T15:36:12.894-05:00\",\n
40
+ \ \"registrationKey\": \"K44T-JS9H-892T-4C4U\",\n \"reporting\": {},\n
41
41
  \ \"customConfig\": false,\n \"settings\": {\n \"maxSeats\":
42
42
  null,\n \"maxBytes\": null\n },\n \"settingsInherited\": {\n
43
43
  \ \"maxSeats\": \"\",\n \"maxBytes\": \"\"\n },\n \"settingsSummary\":
44
44
  \ {\n \"maxSeats\": \"\",\n \"maxBytes\": \"\"\n }\n }\n}"
45
45
  http_version:
46
- recorded_at: Mon, 06 May 2013 17:05:59 GMT
47
- recorded_with: VCR 2.4.0
46
+ recorded_at: Tue, 11 Jun 2013 20:36:12 GMT
47
+ recorded_with: VCR 2.5.0
@@ -30,15 +30,15 @@ http_interactions:
30
30
  - Jetty(7.6.3.v20120416)
31
31
  body:
32
32
  encoding: US-ASCII
33
- string: ! "{\n \"metadata\": {\n \"timestamp\": \"2013-05-06T12:05:57.453-05:00\",\n
33
+ string: ! "{\n \"metadata\": {\n \"timestamp\": \"2013-06-11T15:36:13.440-05:00\",\n
34
34
  \ \"params\": {}\n },\n \"data\": {\n \"userId\": 3,\n \"userUid\":
35
- \"827da4bcbdf814a6\",\n \"status\": \"Active\",\n \"username\": \"testuser\",\n
35
+ \"89e29f40cccc6890\",\n \"status\": \"Active\",\n \"username\": \"testuser\",\n
36
36
  \ \"email\": null,\n \"firstName\": null,\n \"lastName\": null,\n
37
37
  \ \"quotaInBytes\": -1,\n \"orgId\": 2,\n \"orgUid\": \"proserverdemo\",\n
38
38
  \ \"orgName\": \"PROServer Demo\",\n \"active\": true,\n \"blocked\":
39
39
  false,\n \"emailPromo\": true,\n \"invited\": true,\n \"orgType\":
40
- \"ENTERPRISE\",\n \"usernameIsAnEmail\": null,\n \"creationDate\": \"2013-05-06T12:05:57.391-05:00\",\n
41
- \ \"modificationDate\": \"2013-05-06T12:05:57.395-05:00\"\n }\n}"
40
+ \"ENTERPRISE\",\n \"usernameIsAnEmail\": null,\n \"creationDate\": \"2013-06-11T15:34:42.178-05:00\",\n
41
+ \ \"modificationDate\": \"2013-06-11T15:36:13.426-05:00\"\n }\n}"
42
42
  http_version:
43
- recorded_at: Mon, 06 May 2013 17:05:57 GMT
44
- recorded_with: VCR 2.4.0
43
+ recorded_at: Tue, 11 Jun 2013 20:36:13 GMT
44
+ recorded_with: VCR 2.5.0
@@ -33,5 +33,5 @@ http_interactions:
33
33
  encoding: US-ASCII
34
34
  string: ! '[{"name":"EMAIL_INVALID","description":"Email is invalid","objects":[]}]'
35
35
  http_version:
36
- recorded_at: Mon, 06 May 2013 17:05:57 GMT
37
- recorded_with: VCR 2.4.0
36
+ recorded_at: Tue, 11 Jun 2013 20:36:13 GMT
37
+ recorded_with: VCR 2.5.0
@@ -1,51 +1,5 @@
1
1
  ---
2
2
  http_interactions:
3
- - request:
4
- method: get
5
- uri: http://admin:admin@localhost:7280/api/org?q=Default
6
- body:
7
- encoding: US-ASCII
8
- string: ''
9
- headers:
10
- User-Agent:
11
- - Faraday v0.8.7
12
- Accept-Encoding:
13
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
- Accept:
15
- - ! '*/*'
16
- response:
17
- status:
18
- code: 200
19
- message: !binary |-
20
- T0s=
21
- headers:
22
- !binary "Q2FjaGUtQ29udHJvbA==":
23
- - !binary |-
24
- bm8tc3RvcmU=
25
- !binary "UHJhZ21h":
26
- - !binary |-
27
- bm8tY2FjaGU=
28
- !binary "Q29udGVudC1UeXBl":
29
- - !binary |-
30
- YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOA==
31
- !binary "Q29udGVudC1FbmNvZGluZw==":
32
- - !binary |-
33
- Z3ppcA==
34
- !binary "VHJhbnNmZXItRW5jb2Rpbmc=":
35
- - !binary |-
36
- Y2h1bmtlZA==
37
- !binary "U2VydmVy":
38
- - !binary |-
39
- SmV0dHkoNy42LjMudjIwMTIwNDE2KQ==
40
- body:
41
- encoding: ASCII-8BIT
42
- string: !binary |-
43
- H4sIAAAAAAAAAGWNuw7CMAxF936F5blFbpARylo+gQ11sERASA3pw52i/DuO
44
- YGP0ufdc5wYAY1C5iwp6AMhGjOkrhk0lzgbRUX/siDs6XXvniT2fD+zsZk+E
45
- 7deYZZW4WT3jUqVLeMg+KRaLS+3g34+kMg1pf6tR+s2k9VlHbmPVmvIB1DL0
46
- wKEAAAA=
47
- http_version:
48
- recorded_at: Mon, 06 May 2013 17:05:58 GMT
49
3
  - request:
50
4
  method: get
51
5
  uri: http://admin:admin@localhost:7280/api/org?q=PROServer%20Demo
@@ -86,16 +40,16 @@ http_interactions:
86
40
  body:
87
41
  encoding: ASCII-8BIT
88
42
  string: !binary |-
89
- H4sIAAAAAAAAAKVTTU/CQBC9+yuaPVtTqqj05geJhEQJLfFgPIxlgI3d3bo7
90
- NTak/93dBQsCetBTs2/evDdfXR4FARNIMAUClgRBsLSIxYgLNASitCCLo85p
91
- GHXD6DzrxEnUS+KLk3P37iZRxI5XGSVoEMbSl+zNJY3GDynqd9TBLQrFGstq
92
- HJXtWSmC4kZVkizaWaspPXdaT0HLW4GDqUXj4y1kwh3ESq2Mt5s6t23CPQg8
93
- UFBLsW1S5czYVU78HTcRWL2TgHSFLfpSqPwVnekMCrPB7QBQ0sO6RlkVRRui
94
- uvQl9O+z/ng0HqT9jQl+EGoJxeC3NhYcNeh8Ufs5+Sk3bTBXcsbnA7lAzQlk
95
- jgdJGoG4krdAeGCnnaR7dtKLom87dbehpnzG87+kapxzQ9qnDrH2mcPhY9jL
96
- 0iyM7yZxOBlll9v8Umnicr5TeGVIiRvf497MDZLLMP6etm/FlQ4fqe3Z7Cxj
97
- FbmuCb8i60Czp7oeqd/1b/KMHRZn7EfptBICdP1vYf9tnt3PddR8ApJu5H7O
98
- AwAA
43
+ H4sIAAAAAAAAAKVTy07DMBC88xWRzwQlKVSQG49KVJWgalJxQByWdNtaxHaw
44
+ N4ioyr9juyUttHCAU+TZ2Zl9ZXUUBEwgwQwIWBoEwcoiFiMu0BCIyoIsieJe
45
+ GPXDOM7js7TXT+PeSRSfhtFZGkXseJ1RgQZhLH3FXl3SeHKfoX5DHdygUKy1
46
+ rNZR2Z6VIiivVS3JovFGTemF03oMOt4aHM4smhzvIFPuIFZpZbzdzLntEu5A
47
+ 4IGCOoptk2pnxi4L4m+4jcD6nQaka+zQ51IVL+hM51CaLW4HgJLuNzXKuiy7
48
+ EDWVL2Fwlw8m48kwG2xN8J1QSyiHv7Wx5KhBF8vGz8lPue2ChZJzvhjKJWpO
49
+ IAs8SNIIxJW8AcIDO03SJDrpR+dfdupuQ834nBd/SdW44Ia0Tx1h4zNHo4fw
50
+ Is/yMLmdJuF0nJ/v8iulicvFt8JrQ0pc+x73Zm6QXIbx97R7K650eM9sz+bb
51
+ MtaRq4bwM7IJtHuqm5H6Xf8mz9hhccZ+lM5qIUA3/xb23/bJ/VxH7QdHtqUI
52
+ zgMAAA==
99
53
  http_version:
100
- recorded_at: Mon, 06 May 2013 17:09:27 GMT
101
- recorded_with: VCR 2.4.0
54
+ recorded_at: Tue, 11 Jun 2013 20:36:13 GMT
55
+ recorded_with: VCR 2.5.0
@@ -30,9 +30,9 @@ http_interactions:
30
30
  - Jetty(7.6.3.v20120416)
31
31
  body:
32
32
  encoding: US-ASCII
33
- string: ! "{\n \"metadata\": {\n \"timestamp\": \"2013-05-06T12:05:58.625-05:00\",\n
34
- \ \"params\": {}\n },\n \"data\": [\n \"1cgl9anbs064v1rkwf7n6rv8d7\",\n
35
- \ \"0ahnn5s4gu27a0ctl9u4vbqmxy\"\n ]\n}"
33
+ string: ! "{\n \"metadata\": {\n \"timestamp\": \"2013-06-11T15:36:13.358-05:00\",\n
34
+ \ \"params\": {}\n },\n \"data\": [\n \"1vg9c5mi59cze0e9v679dha9wi\",\n
35
+ \ \"12d07otjuvxh51o5woefxkofdq\"\n ]\n}"
36
36
  http_version:
37
- recorded_at: Mon, 06 May 2013 17:05:58 GMT
38
- recorded_with: VCR 2.4.0
37
+ recorded_at: Tue, 11 Jun 2013 20:36:13 GMT
38
+ recorded_with: VCR 2.5.0
@@ -33,5 +33,5 @@ http_interactions:
33
33
  encoding: US-ASCII
34
34
  string: ! '[{"name":"SYSTEM","description":"Invalid or missing credentials"}]'
35
35
  http_version:
36
- recorded_at: Mon, 06 May 2013 17:05:58 GMT
37
- recorded_with: VCR 2.4.0
36
+ recorded_at: Tue, 11 Jun 2013 20:36:13 GMT
37
+ recorded_with: VCR 2.5.0
@@ -40,15 +40,15 @@ http_interactions:
40
40
  body:
41
41
  encoding: ASCII-8BIT
42
42
  string: !binary |-
43
- H4sIAAAAAAAAAJ2SwW7CMAyG73uKKmeKUkph9LYBh2oam4A9QFZMidYkVeJO
44
- VIh3X9KWIUp3WdSLv9h/f9s5PXgeEYBsx5CR2PO8kyWWIRdgkInCQjKiQejT
45
- yKeTbTCKaRRHj8NxaOMoppQMmoqCaSaMTT+dLTg7SrqqSmfJzoJg8Bt/cAfI
46
- 0+I1WZErXjEBd9wawtLUOEX+DRfOmij2UJfQss9cpV/gtPcsN3A1CRLfWhuy
47
- zPP2Aqui/t9ytV2u39fJZnkRhyOClixP7n0eOGim00M1V6XEpvf2KlVyz7NE
48
- HkBzZDKFnhQNDLmSC4bQTJlO3JRH4TaI4iCIw9kwiGa3UxZqx/c87Smc+tQW
49
- 0nhsv+kwCjrr0ZBxg7oufIHK1R0755paKI1cZjduS4NKzOu2bidtAF2yqRd9
50
- WbWzyo4b26Hjfrvwhj5XCA2t4bmj0w6t3t1fgoT0CRLSK7gphWC6+rc/95wf
51
- zj8FHKrJKwMAAA==
43
+ H4sIAAAAAAAAAJ2SwXKCMBCG7z4Fk7M4BIROubXqgenUdtQ+QIorZkoSJiwd
44
+ GYd3bwJYB7SXcsuX3T///st54jhEALI9Q0Zix3HOhhiGXECJTBQGEt+jgetF
45
+ LqU7GsZBFFN/FlHqemHseWTadRRMM1Ga8nNjQGMpGasqnSV7A+j09/zBLSBP
46
+ y9dkTa54zQTccGMIq7LFKfJvuHDWnWIHdQU9+8xV+gVW+8DyEq4mQeJbb0NW
47
+ ed5fYF20763Wu9XmfZNsVxdxOCFoyfLk1ueRg2Y6PdYLVUnsZu+vUiUPPEvk
48
+ ETRHJlO4U6KBIVdyyRC6lE3EXuj6gU2Z0jh4nNHwcZiyUHt+4OmocbCeeTyn
49
+ swc/GjZqyHiJum18gdr2nUbftbRQGrnMBm6rEpVYtGMNky4BbXHZLvqyamuV
50
+ nbZmQsvdfuEdfa4ROtrCZqTTh9bu7i9BQu4JEnJXcFsJwXT9b3/2d540P9qU
51
+ bgYrAwAA
52
52
  http_version:
53
- recorded_at: Mon, 06 May 2013 17:05:58 GMT
54
- recorded_with: VCR 2.4.0
53
+ recorded_at: Tue, 11 Jun 2013 20:36:12 GMT
54
+ recorded_with: VCR 2.5.0
@@ -40,15 +40,15 @@ http_interactions:
40
40
  body:
41
41
  encoding: ASCII-8BIT
42
42
  string: !binary |-
43
- H4sIAAAAAAAAAJ2Sz3KCMBDG730KJmdxghT/5NaqB6ZT21H7ACmumClJmLB0
44
- ZBzfvQlgHZReynDJL/t9fLvL6cHziATkO46cMM/zTpZYhkJCgVzmFpIRDUKf
45
- Rj4db4MRoxGLpsNwMrWIUUoGjSLnhsvClp/OFpwdJbeu2qTxzoJg8Hv+EA6Q
46
- p8VrvCJXvOIS7rgNhGVR4wTFN1w4b07MQ1NCyz4znXyB897zrIBrSFD41sZQ
47
- ZZa1F1jl9feWq+1y/b6ON8uLORwRjOJZfJ/zIMBwkxyquS4VNr23V4lWe5HG
48
- 6gBGIFcJ9JQY4Ci0WnCEZsp07KY8CrdBxIKAhbNhEM26U5Z6J/Yi6RFOfGqF
49
- lD3adzKMgqgrNJCKAk0tfIHK6Y43z7U01waFSjtpywK1nNdtdSddALriol70
50
- ZdUuKj9ubIeO++3CG/pcITS0hucbn3Zo9e7+MiSkz5CQXsNNKSU31b/zud/5
51
- 4fwDfG0bySsDAAA=
43
+ H4sIAAAAAAAAAJ2SwXKCMBCG7z4Fk7M4BERHbq16YDq1HbUPkOKKmZKECUtH
44
+ xuHdmwDWAe2l3PJl98+//3IZOQ4RgOzAkJHIcZyLIYYhF1AgE7mBxPdo4Hoz
45
+ l9I9DaNgFlF/Mp8uXC+MPI+M246caSYKU36pDagtJUNVpdP4YAAd/54/uAXk
46
+ afUab8gNb5iAO24MYVk0OEH+DVfO2lPkoC6hY5+ZSr7Aah9ZVsDNJEh862zI
47
+ Msu6C6zy5r31Zr/evm/j3foqDmcELVkW3/s8cdBMJ6dqqUqJ7ezdVaLkkaex
48
+ PIHmyGQCD0o0MORKrhhCm7KJ2AtdP7ApUxoFiwkNBykLdeBHngwae+uZRlM6
49
+ mfuzfqOGlBeom8YXqGzfefDdSnOlkcu057YsUIllM1Y/6QLQFhfNoq+rtlbZ
50
+ eWcmtNztFt7S5wqhpQ2sBzpdaM3u/hIk5JEgIQ8Fd6UQTFf/9md/51H9AygL
51
+ Y0MrAwAA
52
52
  http_version:
53
- recorded_at: Mon, 06 May 2013 17:05:58 GMT
54
- recorded_with: VCR 2.4.0
53
+ recorded_at: Tue, 11 Jun 2013 20:36:12 GMT
54
+ recorded_with: VCR 2.5.0
@@ -40,9 +40,9 @@ http_interactions:
40
40
  body:
41
41
  encoding: ASCII-8BIT
42
42
  string: !binary |-
43
- H4sIAAAAAAAAAC3MPQ6AIAwG0N1TNJ3FFA1qOIcXaJTBgYRAnQh3t0TX9/3U
44
- AQBjEL5YGD0AVBU1uWMowjEp4kx2MeQMrYedPTnvtmlfSckT4fgtEmeOReu1
45
- KbSu+L9WLM95htJTyU9oQ3sBjNQqq3kAAAA=
43
+ H4sIAAAAAAAAAC3MPQqAMAwG0N1ThMxWEquCPYcXCLWDQ0FsnErvbkTX9/3U
44
+ DgBzUtlFBQMAVBMzPXIqKvk0xJHYO1oc88Zz8EtgP4zr5GgORNh/i1MuycXq
45
+ tRm0V/F/rVjuGFN5U73u1Lr2ABGVoIR5AAAA
46
46
  http_version:
47
- recorded_at: Mon, 06 May 2013 17:05:57 GMT
48
- recorded_with: VCR 2.4.0
47
+ recorded_at: Tue, 11 Jun 2013 20:36:13 GMT
48
+ recorded_with: VCR 2.5.0