monkey_wrench 0.1.2 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- data/README.mdown +58 -3
- data/lib/monkey_wrench/base.rb +8 -14
- data/lib/monkey_wrench/list.rb +43 -23
- data/test/fixtures/listsEmpty_success.json +2 -0
- data/test/monkey_wrench/base_test.rbc +1758 -0
- data/test/monkey_wrench/campaign_aim_test.rbc +40 -0
- data/test/monkey_wrench/campaign_stats_test.rbc +40 -0
- data/test/monkey_wrench/campaign_test.rbc +40 -0
- data/test/monkey_wrench/hash_test.rbc +1636 -0
- data/test/monkey_wrench/helper_test.rbc +40 -0
- data/test/monkey_wrench/list_test.rb +109 -16
- data/test/monkey_wrench/list_test.rbc +10798 -0
- data/test/monkey_wrench/security_test.rbc +40 -0
- data/test/test_helper.rb +6 -7
- data/test/test_helper.rbc +2045 -0
- metadata +26 -22
data/README.mdown
CHANGED
@@ -1,8 +1,18 @@
|
|
1
1
|
# MonkeyWrench
|
2
|
-
MonkeyWrench is a rubyesque API for interfacing with [Mailchimp](http://www.mailchimp.com) (or show me some love by registering [via my affiliate link](http://eepurl.com/Ge71)).
|
2
|
+
MonkeyWrench is a rubyesque API for interfacing with [Mailchimp](http://www.mailchimp.com) (or show me some love by registering [via my affiliate link](http://eepurl.com/Ge71)). It makes managing a mailing list, adding/removing subscribers, and setting up autoresponders so easy that even a monkey could do it.
|
3
|
+
|
4
|
+
The API provided by MonkeyWrench takes an idiomatic ruby approach where possible, so supported parameters and options may differ slightly to what is documented in the official Mailchimp API documentation. Where possible, refer to the MonkeyWrench docs.
|
3
5
|
|
4
6
|
## Getting Started
|
5
7
|
|
8
|
+
### Installation
|
9
|
+
|
10
|
+
The easiest way to get started is to install the gem:
|
11
|
+
|
12
|
+
gem install monkey_wrench
|
13
|
+
|
14
|
+
### Usage
|
15
|
+
|
6
16
|
To get started, you need to first connect to the appropriate datacenter with your API key:
|
7
17
|
|
8
18
|
MonkeyWrench::Config.new(:datacenter => "us1",
|
@@ -17,7 +27,52 @@ From there you've got a rich API for managing Lists and Members. To subscribe a
|
|
17
27
|
|
18
28
|
For more information, [check the documentation](http://rdoc.info/projects/rubypond/monkeywrench)
|
19
29
|
|
30
|
+
## Compatibility
|
31
|
+
|
32
|
+
Tested on the following versions:
|
33
|
+
|
34
|
+
* 1.8.7
|
35
|
+
* 1.9.2
|
36
|
+
* Ruby Enterprise Edition 1.8.7
|
37
|
+
* Rubinius 1.1.1
|
38
|
+
* JRuby 1.5.5
|
39
|
+
|
40
|
+
It may work in 1.8.6 too, but a test dependency (WebMock) won't work so tests aren't currently automated against that version.
|
41
|
+
|
42
|
+
## Status
|
43
|
+
|
44
|
+
The library is currently under development, but in production use for many clients. It's still currently using the 1.2 version of the Mailchimp API (Mailchimp haven't made any deprecation announcements yet, and they still support 1.1 so it shouldn't be an issue any time soon). I'm working towards a switch to 1.3.
|
45
|
+
|
46
|
+
## Contributing
|
47
|
+
|
48
|
+
Patches and pull requests are gladly accepted. Please make sure that you include associated tests and documentation and that your commit messages are brief but descriptive.
|
49
|
+
|
20
50
|
## Credits & Contributions
|
21
51
|
|
22
|
-
* [David Heath](
|
23
|
-
* [Maxime Guilbot](
|
52
|
+
* [David Heath](https://davidheath.org/)
|
53
|
+
* [Maxime Guilbot](https://github.com/maxime)
|
54
|
+
* [Keith Marcum](https://github.com/kamarcum)
|
55
|
+
|
56
|
+
## License
|
57
|
+
|
58
|
+
MonkeyWrench is released under the MIT license.
|
59
|
+
|
60
|
+
Copyright (c) 2010 Glenn Gillen
|
61
|
+
|
62
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
63
|
+
of this software and associated documentation files (the "Software"), to deal
|
64
|
+
in the Software without restriction, including without limitation the rights
|
65
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
66
|
+
copies of the Software, and to permit persons to whom the Software is
|
67
|
+
furnished to do so, subject to the following conditions:
|
68
|
+
|
69
|
+
The above copyright notice and this permission notice shall be included in
|
70
|
+
all copies or substantial portions of the Software.
|
71
|
+
|
72
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
73
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
74
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
75
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
76
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
77
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
78
|
+
THE SOFTWARE.
|
data/lib/monkey_wrench/base.rb
CHANGED
@@ -1,8 +1,3 @@
|
|
1
|
-
begin
|
2
|
-
require 'yajl'
|
3
|
-
rescue LoadError
|
4
|
-
require 'json'
|
5
|
-
end
|
6
1
|
require 'ostruct'
|
7
2
|
module MonkeyWrench
|
8
3
|
class Base < OpenStruct
|
@@ -11,12 +6,12 @@ module MonkeyWrench
|
|
11
6
|
@@apikey = nil
|
12
7
|
@@datacenter = nil
|
13
8
|
@@dryrun = false
|
14
|
-
|
9
|
+
|
15
10
|
class << self
|
16
11
|
def default_query_params
|
17
12
|
{ :output => "json", :apikey=> @@apikey}
|
18
13
|
end
|
19
|
-
|
14
|
+
|
20
15
|
def base_uri
|
21
16
|
"http://#{datacenter}.api.mailchimp.com/1.2/"
|
22
17
|
end
|
@@ -36,7 +31,7 @@ module MonkeyWrench
|
|
36
31
|
end
|
37
32
|
end
|
38
33
|
end
|
39
|
-
|
34
|
+
|
40
35
|
def post(params, http_options = {})
|
41
36
|
if @@dryrun
|
42
37
|
puts "POST #{base_uri} #{params.merge(default_query_params).inspect}"
|
@@ -50,10 +45,10 @@ module MonkeyWrench
|
|
50
45
|
end
|
51
46
|
end
|
52
47
|
end
|
53
|
-
|
48
|
+
|
54
49
|
def handle_errors(objects)
|
55
50
|
return objects unless objects.respond_to?(:has_key?)
|
56
|
-
|
51
|
+
|
57
52
|
if objects.has_key?("error")
|
58
53
|
objects.replace({ "error" => MonkeyWrench::Error.new(objects['error'], objects['code']) })
|
59
54
|
elsif objects.has_key?("errors")
|
@@ -69,12 +64,12 @@ module MonkeyWrench
|
|
69
64
|
def apikey
|
70
65
|
@@apikey
|
71
66
|
end
|
72
|
-
|
67
|
+
|
73
68
|
def datacenter
|
74
69
|
@@datacenter
|
75
70
|
end
|
76
71
|
end
|
77
|
-
|
72
|
+
|
78
73
|
private
|
79
74
|
def self.robustly(http_options, &block)
|
80
75
|
retry_limit = http_options[:retry_limit] || default_retry_limit
|
@@ -94,10 +89,9 @@ module MonkeyWrench
|
|
94
89
|
def get(*args)
|
95
90
|
self.class.get(*args)
|
96
91
|
end
|
97
|
-
|
92
|
+
|
98
93
|
def post(*args)
|
99
94
|
self.class.post(*args)
|
100
95
|
end
|
101
|
-
|
102
96
|
end
|
103
97
|
end
|
data/lib/monkey_wrench/list.rb
CHANGED
@@ -3,7 +3,7 @@ require 'cgi'
|
|
3
3
|
module MonkeyWrench
|
4
4
|
class List < MonkeyWrench::Base
|
5
5
|
# Finds a given list by name
|
6
|
-
#
|
6
|
+
#
|
7
7
|
# @example
|
8
8
|
# MonkeyWrench::List.find_by_name("My Example List")
|
9
9
|
#
|
@@ -13,14 +13,6 @@ module MonkeyWrench
|
|
13
13
|
lists = find_all.detect{|list| list.name == list_name}
|
14
14
|
end
|
15
15
|
|
16
|
-
def ==(other_list)
|
17
|
-
other_list.is_a?(self.class) && self.id == other_list.id
|
18
|
-
end
|
19
|
-
|
20
|
-
def self.find(id)
|
21
|
-
new(:id => id)
|
22
|
-
end
|
23
|
-
|
24
16
|
# Will compare another list against the current one and return true if
|
25
17
|
# they are the same (based on list ID)
|
26
18
|
#
|
@@ -44,25 +36,36 @@ module MonkeyWrench
|
|
44
36
|
# @param [String] id the unique Mailchimp list ID
|
45
37
|
# @return [MonkeyWrench::List] the list
|
46
38
|
def self.find(id)
|
47
|
-
|
39
|
+
find_all.find{|e| e.id == id}
|
48
40
|
end
|
49
|
-
|
41
|
+
|
50
42
|
# Finds all lists
|
51
43
|
#
|
52
44
|
# @example
|
53
45
|
# MonkeyWrench::List.find_all
|
54
46
|
#
|
55
|
-
# @return [Array<MonkeyWrench::List>]
|
47
|
+
# @return [Array<MonkeyWrench::List>]
|
56
48
|
def self.find_all
|
57
49
|
@@lists ||= post({ :method => "lists" }).map do |list|
|
58
50
|
List.new(list)
|
59
51
|
end
|
60
52
|
end
|
61
|
-
|
53
|
+
|
62
54
|
class << self
|
63
55
|
alias :all :find_all
|
64
56
|
end
|
65
|
-
|
57
|
+
|
58
|
+
# Clears the List cache (results from List.find_all are cached for
|
59
|
+
# performance reasons)
|
60
|
+
#
|
61
|
+
# @example
|
62
|
+
# MonkeyWrench::List.clear!
|
63
|
+
#
|
64
|
+
# @return nil
|
65
|
+
def self.clear!
|
66
|
+
@@lists = nil
|
67
|
+
end
|
68
|
+
|
66
69
|
# Returns all members for this list
|
67
70
|
#
|
68
71
|
# @example Find all members that have unsubscribed in the last 24 hours:
|
@@ -91,7 +94,7 @@ module MonkeyWrench
|
|
91
94
|
MonkeyWrench::Member.new(response_user)
|
92
95
|
end
|
93
96
|
end
|
94
|
-
end
|
97
|
+
end
|
95
98
|
|
96
99
|
# Enumerates over each member and executes the provided block. Will
|
97
100
|
# automatically page and batch requests for members.
|
@@ -104,7 +107,7 @@ module MonkeyWrench
|
|
104
107
|
# end
|
105
108
|
#
|
106
109
|
# @param [Proc] &block code to execute for each member
|
107
|
-
def each_member(&block)
|
110
|
+
def each_member(&block)
|
108
111
|
page = 0
|
109
112
|
loop do
|
110
113
|
batch = members(:start => page, :limit => 15000)
|
@@ -115,7 +118,7 @@ module MonkeyWrench
|
|
115
118
|
page += 1
|
116
119
|
end
|
117
120
|
end
|
118
|
-
|
121
|
+
|
119
122
|
# Updates details of list members
|
120
123
|
#
|
121
124
|
# @example Update a single member's email address
|
@@ -148,7 +151,7 @@ module MonkeyWrench
|
|
148
151
|
post(options.merge(mailchimp_args))
|
149
152
|
end
|
150
153
|
end
|
151
|
-
|
154
|
+
|
152
155
|
# Find a member in this list with the given email address
|
153
156
|
#
|
154
157
|
# @example
|
@@ -166,6 +169,23 @@ module MonkeyWrench
|
|
166
169
|
end
|
167
170
|
end
|
168
171
|
|
172
|
+
# Check if an email has subscribed to the list
|
173
|
+
#
|
174
|
+
# @example
|
175
|
+
# list = MonkeyWrench::List.find("0a649eafc3")
|
176
|
+
# list.member?("glenn@rubypond.com")
|
177
|
+
#
|
178
|
+
# @param [String] email members email address
|
179
|
+
# @return [Boolean]
|
180
|
+
def member?(email)
|
181
|
+
response = post(:id => self.id, :method => "listMemberInfo", :email_address => email)
|
182
|
+
if response['error']
|
183
|
+
false
|
184
|
+
else
|
185
|
+
true
|
186
|
+
end
|
187
|
+
end
|
188
|
+
|
169
189
|
# Subscribes a new member to the list
|
170
190
|
#
|
171
191
|
# @example Subscribe a new email address
|
@@ -201,7 +221,7 @@ module MonkeyWrench
|
|
201
221
|
return { :success => 1, :errors => []}
|
202
222
|
end
|
203
223
|
end
|
204
|
-
|
224
|
+
|
205
225
|
# Unsubscribes a person (or list of people) from the list
|
206
226
|
#
|
207
227
|
# @example Unsubscribe a single user
|
@@ -230,7 +250,7 @@ module MonkeyWrench
|
|
230
250
|
return { :success => response["success_count"],
|
231
251
|
:errors => response["errors"] }
|
232
252
|
end
|
233
|
-
|
253
|
+
|
234
254
|
# Will flag the email(s) as opted-out for all future mailing for this list
|
235
255
|
#
|
236
256
|
# @example Opt-out a single user
|
@@ -244,17 +264,17 @@ module MonkeyWrench
|
|
244
264
|
# @param [String, Array<String>] email address(es) of people to opt-out.
|
245
265
|
# @return [Hash] contains 2 keys. :success contains the number of successful actions, :error a list of all errors.
|
246
266
|
def opt_out(emails)
|
247
|
-
emails = [*emails]
|
267
|
+
emails = [*emails]
|
248
268
|
subscribe(emails.map{|email| { :email => email }})
|
249
269
|
unsubscribe(emails, :send_goodbye => false, :send_notify => false)
|
250
270
|
end
|
251
|
-
|
271
|
+
|
252
272
|
private
|
253
273
|
def self.reserved_keys
|
254
274
|
[:email, :type, :double_optin, :update_existing, :replace_interests,
|
255
275
|
:send_welcome, :emails, :send_notify, :send_goodbye, :delete_member]
|
256
276
|
end
|
257
|
-
|
277
|
+
|
258
278
|
def subscribe_many(subscribers, opts = {})
|
259
279
|
if opts[:send_welcome]
|
260
280
|
subscribe_one_at_a_time(subscribers, opts)
|
@@ -0,0 +1,1758 @@
|
|
1
|
+
!RBIX
|
2
|
+
0
|
3
|
+
x
|
4
|
+
M
|
5
|
+
1
|
6
|
+
n
|
7
|
+
n
|
8
|
+
x
|
9
|
+
10
|
10
|
+
__script__
|
11
|
+
i
|
12
|
+
77
|
13
|
+
99
|
14
|
+
43
|
15
|
+
0
|
16
|
+
7
|
17
|
+
1
|
18
|
+
49
|
19
|
+
2
|
20
|
+
1
|
21
|
+
45
|
22
|
+
3
|
23
|
+
4
|
24
|
+
7
|
25
|
+
5
|
26
|
+
64
|
27
|
+
45
|
28
|
+
3
|
29
|
+
6
|
30
|
+
65
|
31
|
+
49
|
32
|
+
7
|
33
|
+
0
|
34
|
+
49
|
35
|
+
8
|
36
|
+
1
|
37
|
+
49
|
38
|
+
9
|
39
|
+
2
|
40
|
+
49
|
41
|
+
10
|
42
|
+
1
|
43
|
+
15
|
44
|
+
5
|
45
|
+
7
|
46
|
+
11
|
47
|
+
64
|
48
|
+
47
|
49
|
+
49
|
50
|
+
12
|
51
|
+
1
|
52
|
+
15
|
53
|
+
99
|
54
|
+
7
|
55
|
+
13
|
56
|
+
45
|
57
|
+
14
|
58
|
+
15
|
59
|
+
43
|
60
|
+
16
|
61
|
+
43
|
62
|
+
17
|
63
|
+
45
|
64
|
+
18
|
65
|
+
19
|
66
|
+
49
|
67
|
+
20
|
68
|
+
3
|
69
|
+
13
|
70
|
+
99
|
71
|
+
12
|
72
|
+
7
|
73
|
+
21
|
74
|
+
12
|
75
|
+
7
|
76
|
+
22
|
77
|
+
12
|
78
|
+
65
|
79
|
+
12
|
80
|
+
49
|
81
|
+
23
|
82
|
+
4
|
83
|
+
15
|
84
|
+
49
|
85
|
+
21
|
86
|
+
0
|
87
|
+
15
|
88
|
+
2
|
89
|
+
11
|
90
|
+
I
|
91
|
+
6
|
92
|
+
I
|
93
|
+
0
|
94
|
+
I
|
95
|
+
0
|
96
|
+
I
|
97
|
+
0
|
98
|
+
n
|
99
|
+
p
|
100
|
+
24
|
101
|
+
x
|
102
|
+
7
|
103
|
+
Globals
|
104
|
+
x
|
105
|
+
2
|
106
|
+
$:
|
107
|
+
x
|
108
|
+
2
|
109
|
+
[]
|
110
|
+
x
|
111
|
+
4
|
112
|
+
File
|
113
|
+
n
|
114
|
+
s
|
115
|
+
2
|
116
|
+
..
|
117
|
+
n
|
118
|
+
x
|
119
|
+
11
|
120
|
+
active_path
|
121
|
+
x
|
122
|
+
7
|
123
|
+
dirname
|
124
|
+
x
|
125
|
+
11
|
126
|
+
expand_path
|
127
|
+
x
|
128
|
+
7
|
129
|
+
unshift
|
130
|
+
s
|
131
|
+
11
|
132
|
+
test_helper
|
133
|
+
x
|
134
|
+
7
|
135
|
+
require
|
136
|
+
x
|
137
|
+
8
|
138
|
+
BaseTest
|
139
|
+
x
|
140
|
+
4
|
141
|
+
Test
|
142
|
+
n
|
143
|
+
x
|
144
|
+
4
|
145
|
+
Unit
|
146
|
+
x
|
147
|
+
8
|
148
|
+
TestCase
|
149
|
+
x
|
150
|
+
12
|
151
|
+
MonkeyWrench
|
152
|
+
n
|
153
|
+
x
|
154
|
+
16
|
155
|
+
open_class_under
|
156
|
+
x
|
157
|
+
14
|
158
|
+
__class_init__
|
159
|
+
M
|
160
|
+
1
|
161
|
+
n
|
162
|
+
n
|
163
|
+
x
|
164
|
+
8
|
165
|
+
BaseTest
|
166
|
+
i
|
167
|
+
24
|
168
|
+
5
|
169
|
+
66
|
170
|
+
5
|
171
|
+
7
|
172
|
+
0
|
173
|
+
64
|
174
|
+
56
|
175
|
+
1
|
176
|
+
47
|
177
|
+
50
|
178
|
+
2
|
179
|
+
1
|
180
|
+
15
|
181
|
+
5
|
182
|
+
7
|
183
|
+
3
|
184
|
+
64
|
185
|
+
56
|
186
|
+
4
|
187
|
+
47
|
188
|
+
50
|
189
|
+
2
|
190
|
+
1
|
191
|
+
11
|
192
|
+
I
|
193
|
+
3
|
194
|
+
I
|
195
|
+
0
|
196
|
+
I
|
197
|
+
0
|
198
|
+
I
|
199
|
+
0
|
200
|
+
n
|
201
|
+
p
|
202
|
+
5
|
203
|
+
s
|
204
|
+
18
|
205
|
+
making an HTTP GET
|
206
|
+
M
|
207
|
+
1
|
208
|
+
p
|
209
|
+
2
|
210
|
+
x
|
211
|
+
9
|
212
|
+
for_block
|
213
|
+
t
|
214
|
+
n
|
215
|
+
x
|
216
|
+
8
|
217
|
+
BaseTest
|
218
|
+
i
|
219
|
+
22
|
220
|
+
5
|
221
|
+
7
|
222
|
+
0
|
223
|
+
64
|
224
|
+
56
|
225
|
+
1
|
226
|
+
47
|
227
|
+
50
|
228
|
+
2
|
229
|
+
1
|
230
|
+
15
|
231
|
+
5
|
232
|
+
7
|
233
|
+
3
|
234
|
+
64
|
235
|
+
56
|
236
|
+
4
|
237
|
+
47
|
238
|
+
50
|
239
|
+
2
|
240
|
+
1
|
241
|
+
11
|
242
|
+
I
|
243
|
+
4
|
244
|
+
I
|
245
|
+
0
|
246
|
+
I
|
247
|
+
0
|
248
|
+
I
|
249
|
+
0
|
250
|
+
I
|
251
|
+
-2
|
252
|
+
p
|
253
|
+
5
|
254
|
+
s
|
255
|
+
27
|
256
|
+
retry if HTTP GET times out
|
257
|
+
M
|
258
|
+
1
|
259
|
+
p
|
260
|
+
2
|
261
|
+
x
|
262
|
+
9
|
263
|
+
for_block
|
264
|
+
t
|
265
|
+
n
|
266
|
+
x
|
267
|
+
8
|
268
|
+
BaseTest
|
269
|
+
i
|
270
|
+
155
|
271
|
+
5
|
272
|
+
7
|
273
|
+
0
|
274
|
+
64
|
275
|
+
47
|
276
|
+
49
|
277
|
+
1
|
278
|
+
1
|
279
|
+
19
|
280
|
+
0
|
281
|
+
15
|
282
|
+
5
|
283
|
+
7
|
284
|
+
2
|
285
|
+
64
|
286
|
+
47
|
287
|
+
49
|
288
|
+
3
|
289
|
+
1
|
290
|
+
19
|
291
|
+
1
|
292
|
+
15
|
293
|
+
20
|
294
|
+
1
|
295
|
+
7
|
296
|
+
4
|
297
|
+
49
|
298
|
+
5
|
299
|
+
1
|
300
|
+
7
|
301
|
+
6
|
302
|
+
64
|
303
|
+
49
|
304
|
+
7
|
305
|
+
1
|
306
|
+
15
|
307
|
+
45
|
308
|
+
8
|
309
|
+
9
|
310
|
+
43
|
311
|
+
10
|
312
|
+
7
|
313
|
+
11
|
314
|
+
49
|
315
|
+
5
|
316
|
+
1
|
317
|
+
7
|
318
|
+
12
|
319
|
+
64
|
320
|
+
49
|
321
|
+
7
|
322
|
+
1
|
323
|
+
15
|
324
|
+
45
|
325
|
+
13
|
326
|
+
14
|
327
|
+
43
|
328
|
+
15
|
329
|
+
49
|
330
|
+
16
|
331
|
+
0
|
332
|
+
7
|
333
|
+
17
|
334
|
+
49
|
335
|
+
18
|
336
|
+
1
|
337
|
+
20
|
338
|
+
0
|
339
|
+
49
|
340
|
+
19
|
341
|
+
1
|
342
|
+
45
|
343
|
+
20
|
344
|
+
21
|
345
|
+
43
|
346
|
+
22
|
347
|
+
49
|
348
|
+
23
|
349
|
+
1
|
350
|
+
15
|
351
|
+
45
|
352
|
+
13
|
353
|
+
24
|
354
|
+
43
|
355
|
+
15
|
356
|
+
49
|
357
|
+
16
|
358
|
+
0
|
359
|
+
7
|
360
|
+
17
|
361
|
+
49
|
362
|
+
18
|
363
|
+
1
|
364
|
+
20
|
365
|
+
0
|
366
|
+
49
|
367
|
+
19
|
368
|
+
1
|
369
|
+
45
|
370
|
+
20
|
371
|
+
25
|
372
|
+
43
|
373
|
+
22
|
374
|
+
49
|
375
|
+
23
|
376
|
+
1
|
377
|
+
15
|
378
|
+
45
|
379
|
+
13
|
380
|
+
26
|
381
|
+
43
|
382
|
+
15
|
383
|
+
49
|
384
|
+
16
|
385
|
+
0
|
386
|
+
7
|
387
|
+
17
|
388
|
+
49
|
389
|
+
18
|
390
|
+
1
|
391
|
+
20
|
392
|
+
0
|
393
|
+
49
|
394
|
+
19
|
395
|
+
1
|
396
|
+
20
|
397
|
+
1
|
398
|
+
49
|
399
|
+
7
|
400
|
+
1
|
401
|
+
15
|
402
|
+
5
|
403
|
+
45
|
404
|
+
8
|
405
|
+
27
|
406
|
+
43
|
407
|
+
10
|
408
|
+
44
|
409
|
+
43
|
410
|
+
28
|
411
|
+
78
|
412
|
+
49
|
413
|
+
29
|
414
|
+
1
|
415
|
+
49
|
416
|
+
30
|
417
|
+
1
|
418
|
+
7
|
419
|
+
6
|
420
|
+
64
|
421
|
+
47
|
422
|
+
49
|
423
|
+
31
|
424
|
+
2
|
425
|
+
11
|
426
|
+
I
|
427
|
+
7
|
428
|
+
I
|
429
|
+
2
|
430
|
+
I
|
431
|
+
0
|
432
|
+
I
|
433
|
+
0
|
434
|
+
I
|
435
|
+
-2
|
436
|
+
p
|
437
|
+
32
|
438
|
+
s
|
439
|
+
7
|
440
|
+
retries
|
441
|
+
x
|
442
|
+
8
|
443
|
+
sequence
|
444
|
+
s
|
445
|
+
0
|
446
|
+
|
447
|
+
x
|
448
|
+
4
|
449
|
+
mock
|
450
|
+
x
|
451
|
+
15
|
452
|
+
parsed_response
|
453
|
+
x
|
454
|
+
5
|
455
|
+
stubs
|
456
|
+
s
|
457
|
+
12
|
458
|
+
the response
|
459
|
+
x
|
460
|
+
7
|
461
|
+
returns
|
462
|
+
x
|
463
|
+
12
|
464
|
+
MonkeyWrench
|
465
|
+
n
|
466
|
+
x
|
467
|
+
4
|
468
|
+
Base
|
469
|
+
x
|
470
|
+
8
|
471
|
+
base_uri
|
472
|
+
s
|
473
|
+
18
|
474
|
+
http://example.com
|
475
|
+
x
|
476
|
+
8
|
477
|
+
HTTParty
|
478
|
+
n
|
479
|
+
x
|
480
|
+
7
|
481
|
+
Request
|
482
|
+
x
|
483
|
+
12
|
484
|
+
any_instance
|
485
|
+
x
|
486
|
+
7
|
487
|
+
perform
|
488
|
+
x
|
489
|
+
7
|
490
|
+
expects
|
491
|
+
x
|
492
|
+
11
|
493
|
+
in_sequence
|
494
|
+
x
|
495
|
+
7
|
496
|
+
Timeout
|
497
|
+
n
|
498
|
+
x
|
499
|
+
5
|
500
|
+
Error
|
501
|
+
x
|
502
|
+
6
|
503
|
+
raises
|
504
|
+
n
|
505
|
+
n
|
506
|
+
n
|
507
|
+
n
|
508
|
+
x
|
509
|
+
4
|
510
|
+
Hash
|
511
|
+
x
|
512
|
+
16
|
513
|
+
new_from_literal
|
514
|
+
x
|
515
|
+
3
|
516
|
+
get
|
517
|
+
x
|
518
|
+
12
|
519
|
+
assert_equal
|
520
|
+
p
|
521
|
+
19
|
522
|
+
I
|
523
|
+
0
|
524
|
+
I
|
525
|
+
7
|
526
|
+
I
|
527
|
+
0
|
528
|
+
I
|
529
|
+
8
|
530
|
+
I
|
531
|
+
b
|
532
|
+
I
|
533
|
+
9
|
534
|
+
I
|
535
|
+
16
|
536
|
+
I
|
537
|
+
a
|
538
|
+
I
|
539
|
+
24
|
540
|
+
I
|
541
|
+
b
|
542
|
+
I
|
543
|
+
35
|
544
|
+
I
|
545
|
+
c
|
546
|
+
I
|
547
|
+
50
|
548
|
+
I
|
549
|
+
d
|
550
|
+
I
|
551
|
+
6b
|
552
|
+
I
|
553
|
+
e
|
554
|
+
I
|
555
|
+
83
|
556
|
+
I
|
557
|
+
f
|
558
|
+
I
|
559
|
+
9b
|
560
|
+
x
|
561
|
+
82
|
562
|
+
/Volumes/Personal/Documents/glenn-dev/monkeywrench/test/monkey_wrench/base_test.rb
|
563
|
+
p
|
564
|
+
2
|
565
|
+
x
|
566
|
+
7
|
567
|
+
retries
|
568
|
+
x
|
569
|
+
8
|
570
|
+
response
|
571
|
+
x
|
572
|
+
6
|
573
|
+
should
|
574
|
+
s
|
575
|
+
46
|
576
|
+
rethrow Timeout::Error if retry limit exceeded
|
577
|
+
M
|
578
|
+
1
|
579
|
+
p
|
580
|
+
2
|
581
|
+
x
|
582
|
+
9
|
583
|
+
for_block
|
584
|
+
t
|
585
|
+
n
|
586
|
+
x
|
587
|
+
8
|
588
|
+
BaseTest
|
589
|
+
i
|
590
|
+
120
|
591
|
+
5
|
592
|
+
7
|
593
|
+
0
|
594
|
+
64
|
595
|
+
47
|
596
|
+
49
|
597
|
+
1
|
598
|
+
1
|
599
|
+
19
|
600
|
+
0
|
601
|
+
15
|
602
|
+
5
|
603
|
+
7
|
604
|
+
2
|
605
|
+
64
|
606
|
+
47
|
607
|
+
49
|
608
|
+
3
|
609
|
+
1
|
610
|
+
19
|
611
|
+
1
|
612
|
+
15
|
613
|
+
20
|
614
|
+
1
|
615
|
+
7
|
616
|
+
4
|
617
|
+
49
|
618
|
+
5
|
619
|
+
1
|
620
|
+
7
|
621
|
+
6
|
622
|
+
64
|
623
|
+
49
|
624
|
+
7
|
625
|
+
1
|
626
|
+
15
|
627
|
+
45
|
628
|
+
8
|
629
|
+
9
|
630
|
+
43
|
631
|
+
10
|
632
|
+
7
|
633
|
+
11
|
634
|
+
49
|
635
|
+
5
|
636
|
+
1
|
637
|
+
7
|
638
|
+
12
|
639
|
+
64
|
640
|
+
49
|
641
|
+
7
|
642
|
+
1
|
643
|
+
15
|
644
|
+
45
|
645
|
+
13
|
646
|
+
14
|
647
|
+
43
|
648
|
+
15
|
649
|
+
49
|
650
|
+
16
|
651
|
+
0
|
652
|
+
7
|
653
|
+
17
|
654
|
+
49
|
655
|
+
18
|
656
|
+
1
|
657
|
+
20
|
658
|
+
0
|
659
|
+
49
|
660
|
+
19
|
661
|
+
1
|
662
|
+
45
|
663
|
+
20
|
664
|
+
21
|
665
|
+
43
|
666
|
+
22
|
667
|
+
49
|
668
|
+
23
|
669
|
+
1
|
670
|
+
15
|
671
|
+
45
|
672
|
+
13
|
673
|
+
24
|
674
|
+
43
|
675
|
+
15
|
676
|
+
49
|
677
|
+
16
|
678
|
+
0
|
679
|
+
7
|
680
|
+
17
|
681
|
+
49
|
682
|
+
18
|
683
|
+
1
|
684
|
+
20
|
685
|
+
0
|
686
|
+
49
|
687
|
+
19
|
688
|
+
1
|
689
|
+
45
|
690
|
+
20
|
691
|
+
25
|
692
|
+
43
|
693
|
+
22
|
694
|
+
49
|
695
|
+
23
|
696
|
+
1
|
697
|
+
15
|
698
|
+
5
|
699
|
+
45
|
700
|
+
20
|
701
|
+
26
|
702
|
+
43
|
703
|
+
22
|
704
|
+
56
|
705
|
+
27
|
706
|
+
47
|
707
|
+
50
|
708
|
+
28
|
709
|
+
1
|
710
|
+
11
|
711
|
+
I
|
712
|
+
6
|
713
|
+
I
|
714
|
+
2
|
715
|
+
I
|
716
|
+
0
|
717
|
+
I
|
718
|
+
0
|
719
|
+
I
|
720
|
+
-2
|
721
|
+
p
|
722
|
+
29
|
723
|
+
s
|
724
|
+
7
|
725
|
+
retries
|
726
|
+
x
|
727
|
+
8
|
728
|
+
sequence
|
729
|
+
s
|
730
|
+
0
|
731
|
+
|
732
|
+
x
|
733
|
+
4
|
734
|
+
mock
|
735
|
+
x
|
736
|
+
15
|
737
|
+
parsed_response
|
738
|
+
x
|
739
|
+
5
|
740
|
+
stubs
|
741
|
+
s
|
742
|
+
12
|
743
|
+
the response
|
744
|
+
x
|
745
|
+
7
|
746
|
+
returns
|
747
|
+
x
|
748
|
+
12
|
749
|
+
MonkeyWrench
|
750
|
+
n
|
751
|
+
x
|
752
|
+
4
|
753
|
+
Base
|
754
|
+
x
|
755
|
+
8
|
756
|
+
base_uri
|
757
|
+
s
|
758
|
+
18
|
759
|
+
http://example.com
|
760
|
+
x
|
761
|
+
8
|
762
|
+
HTTParty
|
763
|
+
n
|
764
|
+
x
|
765
|
+
7
|
766
|
+
Request
|
767
|
+
x
|
768
|
+
12
|
769
|
+
any_instance
|
770
|
+
x
|
771
|
+
7
|
772
|
+
perform
|
773
|
+
x
|
774
|
+
7
|
775
|
+
expects
|
776
|
+
x
|
777
|
+
11
|
778
|
+
in_sequence
|
779
|
+
x
|
780
|
+
7
|
781
|
+
Timeout
|
782
|
+
n
|
783
|
+
x
|
784
|
+
5
|
785
|
+
Error
|
786
|
+
x
|
787
|
+
6
|
788
|
+
raises
|
789
|
+
n
|
790
|
+
n
|
791
|
+
n
|
792
|
+
M
|
793
|
+
1
|
794
|
+
p
|
795
|
+
2
|
796
|
+
x
|
797
|
+
9
|
798
|
+
for_block
|
799
|
+
t
|
800
|
+
n
|
801
|
+
x
|
802
|
+
8
|
803
|
+
BaseTest
|
804
|
+
i
|
805
|
+
31
|
806
|
+
45
|
807
|
+
0
|
808
|
+
1
|
809
|
+
43
|
810
|
+
2
|
811
|
+
44
|
812
|
+
43
|
813
|
+
3
|
814
|
+
78
|
815
|
+
49
|
816
|
+
4
|
817
|
+
1
|
818
|
+
44
|
819
|
+
43
|
820
|
+
3
|
821
|
+
79
|
822
|
+
49
|
823
|
+
4
|
824
|
+
1
|
825
|
+
13
|
826
|
+
7
|
827
|
+
5
|
828
|
+
80
|
829
|
+
49
|
830
|
+
6
|
831
|
+
2
|
832
|
+
15
|
833
|
+
49
|
834
|
+
7
|
835
|
+
2
|
836
|
+
11
|
837
|
+
I
|
838
|
+
7
|
839
|
+
I
|
840
|
+
0
|
841
|
+
I
|
842
|
+
0
|
843
|
+
I
|
844
|
+
0
|
845
|
+
I
|
846
|
+
-2
|
847
|
+
p
|
848
|
+
8
|
849
|
+
x
|
850
|
+
12
|
851
|
+
MonkeyWrench
|
852
|
+
n
|
853
|
+
x
|
854
|
+
4
|
855
|
+
Base
|
856
|
+
x
|
857
|
+
4
|
858
|
+
Hash
|
859
|
+
x
|
860
|
+
16
|
861
|
+
new_from_literal
|
862
|
+
x
|
863
|
+
11
|
864
|
+
retry_limit
|
865
|
+
x
|
866
|
+
3
|
867
|
+
[]=
|
868
|
+
x
|
869
|
+
3
|
870
|
+
get
|
871
|
+
p
|
872
|
+
5
|
873
|
+
I
|
874
|
+
0
|
875
|
+
I
|
876
|
+
19
|
877
|
+
I
|
878
|
+
0
|
879
|
+
I
|
880
|
+
1a
|
881
|
+
I
|
882
|
+
1f
|
883
|
+
x
|
884
|
+
82
|
885
|
+
/Volumes/Personal/Documents/glenn-dev/monkeywrench/test/monkey_wrench/base_test.rb
|
886
|
+
p
|
887
|
+
0
|
888
|
+
x
|
889
|
+
12
|
890
|
+
assert_raise
|
891
|
+
p
|
892
|
+
17
|
893
|
+
I
|
894
|
+
0
|
895
|
+
I
|
896
|
+
12
|
897
|
+
I
|
898
|
+
0
|
899
|
+
I
|
900
|
+
13
|
901
|
+
I
|
902
|
+
b
|
903
|
+
I
|
904
|
+
14
|
905
|
+
I
|
906
|
+
16
|
907
|
+
I
|
908
|
+
15
|
909
|
+
I
|
910
|
+
24
|
911
|
+
I
|
912
|
+
16
|
913
|
+
I
|
914
|
+
35
|
915
|
+
I
|
916
|
+
17
|
917
|
+
I
|
918
|
+
50
|
919
|
+
I
|
920
|
+
18
|
921
|
+
I
|
922
|
+
6b
|
923
|
+
I
|
924
|
+
19
|
925
|
+
I
|
926
|
+
78
|
927
|
+
x
|
928
|
+
82
|
929
|
+
/Volumes/Personal/Documents/glenn-dev/monkeywrench/test/monkey_wrench/base_test.rb
|
930
|
+
p
|
931
|
+
2
|
932
|
+
x
|
933
|
+
7
|
934
|
+
retries
|
935
|
+
x
|
936
|
+
8
|
937
|
+
response
|
938
|
+
p
|
939
|
+
7
|
940
|
+
I
|
941
|
+
0
|
942
|
+
I
|
943
|
+
6
|
944
|
+
I
|
945
|
+
0
|
946
|
+
I
|
947
|
+
7
|
948
|
+
I
|
949
|
+
b
|
950
|
+
I
|
951
|
+
12
|
952
|
+
I
|
953
|
+
16
|
954
|
+
x
|
955
|
+
82
|
956
|
+
/Volumes/Personal/Documents/glenn-dev/monkeywrench/test/monkey_wrench/base_test.rb
|
957
|
+
p
|
958
|
+
0
|
959
|
+
x
|
960
|
+
7
|
961
|
+
context
|
962
|
+
s
|
963
|
+
19
|
964
|
+
making an HTTP POST
|
965
|
+
M
|
966
|
+
1
|
967
|
+
p
|
968
|
+
2
|
969
|
+
x
|
970
|
+
9
|
971
|
+
for_block
|
972
|
+
t
|
973
|
+
n
|
974
|
+
x
|
975
|
+
8
|
976
|
+
BaseTest
|
977
|
+
i
|
978
|
+
22
|
979
|
+
5
|
980
|
+
7
|
981
|
+
0
|
982
|
+
64
|
983
|
+
56
|
984
|
+
1
|
985
|
+
47
|
986
|
+
50
|
987
|
+
2
|
988
|
+
1
|
989
|
+
15
|
990
|
+
5
|
991
|
+
7
|
992
|
+
3
|
993
|
+
64
|
994
|
+
56
|
995
|
+
4
|
996
|
+
47
|
997
|
+
50
|
998
|
+
2
|
999
|
+
1
|
1000
|
+
11
|
1001
|
+
I
|
1002
|
+
4
|
1003
|
+
I
|
1004
|
+
0
|
1005
|
+
I
|
1006
|
+
0
|
1007
|
+
I
|
1008
|
+
0
|
1009
|
+
I
|
1010
|
+
-2
|
1011
|
+
p
|
1012
|
+
5
|
1013
|
+
s
|
1014
|
+
28
|
1015
|
+
retry if HTTP POST times out
|
1016
|
+
M
|
1017
|
+
1
|
1018
|
+
p
|
1019
|
+
2
|
1020
|
+
x
|
1021
|
+
9
|
1022
|
+
for_block
|
1023
|
+
t
|
1024
|
+
n
|
1025
|
+
x
|
1026
|
+
8
|
1027
|
+
BaseTest
|
1028
|
+
i
|
1029
|
+
155
|
1030
|
+
5
|
1031
|
+
7
|
1032
|
+
0
|
1033
|
+
64
|
1034
|
+
47
|
1035
|
+
49
|
1036
|
+
1
|
1037
|
+
1
|
1038
|
+
19
|
1039
|
+
0
|
1040
|
+
15
|
1041
|
+
5
|
1042
|
+
7
|
1043
|
+
2
|
1044
|
+
64
|
1045
|
+
47
|
1046
|
+
49
|
1047
|
+
3
|
1048
|
+
1
|
1049
|
+
19
|
1050
|
+
1
|
1051
|
+
15
|
1052
|
+
20
|
1053
|
+
1
|
1054
|
+
7
|
1055
|
+
4
|
1056
|
+
49
|
1057
|
+
5
|
1058
|
+
1
|
1059
|
+
7
|
1060
|
+
6
|
1061
|
+
64
|
1062
|
+
49
|
1063
|
+
7
|
1064
|
+
1
|
1065
|
+
15
|
1066
|
+
45
|
1067
|
+
8
|
1068
|
+
9
|
1069
|
+
43
|
1070
|
+
10
|
1071
|
+
7
|
1072
|
+
11
|
1073
|
+
49
|
1074
|
+
5
|
1075
|
+
1
|
1076
|
+
7
|
1077
|
+
12
|
1078
|
+
64
|
1079
|
+
49
|
1080
|
+
7
|
1081
|
+
1
|
1082
|
+
15
|
1083
|
+
45
|
1084
|
+
13
|
1085
|
+
14
|
1086
|
+
43
|
1087
|
+
15
|
1088
|
+
49
|
1089
|
+
16
|
1090
|
+
0
|
1091
|
+
7
|
1092
|
+
17
|
1093
|
+
49
|
1094
|
+
18
|
1095
|
+
1
|
1096
|
+
20
|
1097
|
+
0
|
1098
|
+
49
|
1099
|
+
19
|
1100
|
+
1
|
1101
|
+
45
|
1102
|
+
20
|
1103
|
+
21
|
1104
|
+
43
|
1105
|
+
22
|
1106
|
+
49
|
1107
|
+
23
|
1108
|
+
1
|
1109
|
+
15
|
1110
|
+
45
|
1111
|
+
13
|
1112
|
+
24
|
1113
|
+
43
|
1114
|
+
15
|
1115
|
+
49
|
1116
|
+
16
|
1117
|
+
0
|
1118
|
+
7
|
1119
|
+
17
|
1120
|
+
49
|
1121
|
+
18
|
1122
|
+
1
|
1123
|
+
20
|
1124
|
+
0
|
1125
|
+
49
|
1126
|
+
19
|
1127
|
+
1
|
1128
|
+
45
|
1129
|
+
20
|
1130
|
+
25
|
1131
|
+
43
|
1132
|
+
22
|
1133
|
+
49
|
1134
|
+
23
|
1135
|
+
1
|
1136
|
+
15
|
1137
|
+
45
|
1138
|
+
13
|
1139
|
+
26
|
1140
|
+
43
|
1141
|
+
15
|
1142
|
+
49
|
1143
|
+
16
|
1144
|
+
0
|
1145
|
+
7
|
1146
|
+
17
|
1147
|
+
49
|
1148
|
+
18
|
1149
|
+
1
|
1150
|
+
20
|
1151
|
+
0
|
1152
|
+
49
|
1153
|
+
19
|
1154
|
+
1
|
1155
|
+
20
|
1156
|
+
1
|
1157
|
+
49
|
1158
|
+
7
|
1159
|
+
1
|
1160
|
+
15
|
1161
|
+
5
|
1162
|
+
45
|
1163
|
+
8
|
1164
|
+
27
|
1165
|
+
43
|
1166
|
+
10
|
1167
|
+
44
|
1168
|
+
43
|
1169
|
+
28
|
1170
|
+
78
|
1171
|
+
49
|
1172
|
+
29
|
1173
|
+
1
|
1174
|
+
49
|
1175
|
+
30
|
1176
|
+
1
|
1177
|
+
7
|
1178
|
+
6
|
1179
|
+
64
|
1180
|
+
47
|
1181
|
+
49
|
1182
|
+
31
|
1183
|
+
2
|
1184
|
+
11
|
1185
|
+
I
|
1186
|
+
7
|
1187
|
+
I
|
1188
|
+
2
|
1189
|
+
I
|
1190
|
+
0
|
1191
|
+
I
|
1192
|
+
0
|
1193
|
+
I
|
1194
|
+
-2
|
1195
|
+
p
|
1196
|
+
32
|
1197
|
+
s
|
1198
|
+
7
|
1199
|
+
retries
|
1200
|
+
x
|
1201
|
+
8
|
1202
|
+
sequence
|
1203
|
+
s
|
1204
|
+
0
|
1205
|
+
|
1206
|
+
x
|
1207
|
+
4
|
1208
|
+
mock
|
1209
|
+
x
|
1210
|
+
15
|
1211
|
+
parsed_response
|
1212
|
+
x
|
1213
|
+
5
|
1214
|
+
stubs
|
1215
|
+
s
|
1216
|
+
12
|
1217
|
+
the response
|
1218
|
+
x
|
1219
|
+
7
|
1220
|
+
returns
|
1221
|
+
x
|
1222
|
+
12
|
1223
|
+
MonkeyWrench
|
1224
|
+
n
|
1225
|
+
x
|
1226
|
+
4
|
1227
|
+
Base
|
1228
|
+
x
|
1229
|
+
8
|
1230
|
+
base_uri
|
1231
|
+
s
|
1232
|
+
18
|
1233
|
+
http://example.com
|
1234
|
+
x
|
1235
|
+
8
|
1236
|
+
HTTParty
|
1237
|
+
n
|
1238
|
+
x
|
1239
|
+
7
|
1240
|
+
Request
|
1241
|
+
x
|
1242
|
+
12
|
1243
|
+
any_instance
|
1244
|
+
x
|
1245
|
+
7
|
1246
|
+
perform
|
1247
|
+
x
|
1248
|
+
7
|
1249
|
+
expects
|
1250
|
+
x
|
1251
|
+
11
|
1252
|
+
in_sequence
|
1253
|
+
x
|
1254
|
+
7
|
1255
|
+
Timeout
|
1256
|
+
n
|
1257
|
+
x
|
1258
|
+
5
|
1259
|
+
Error
|
1260
|
+
x
|
1261
|
+
6
|
1262
|
+
raises
|
1263
|
+
n
|
1264
|
+
n
|
1265
|
+
n
|
1266
|
+
n
|
1267
|
+
x
|
1268
|
+
4
|
1269
|
+
Hash
|
1270
|
+
x
|
1271
|
+
16
|
1272
|
+
new_from_literal
|
1273
|
+
x
|
1274
|
+
4
|
1275
|
+
post
|
1276
|
+
x
|
1277
|
+
12
|
1278
|
+
assert_equal
|
1279
|
+
p
|
1280
|
+
19
|
1281
|
+
I
|
1282
|
+
0
|
1283
|
+
I
|
1284
|
+
20
|
1285
|
+
I
|
1286
|
+
0
|
1287
|
+
I
|
1288
|
+
21
|
1289
|
+
I
|
1290
|
+
b
|
1291
|
+
I
|
1292
|
+
22
|
1293
|
+
I
|
1294
|
+
16
|
1295
|
+
I
|
1296
|
+
23
|
1297
|
+
I
|
1298
|
+
24
|
1299
|
+
I
|
1300
|
+
24
|
1301
|
+
I
|
1302
|
+
35
|
1303
|
+
I
|
1304
|
+
25
|
1305
|
+
I
|
1306
|
+
50
|
1307
|
+
I
|
1308
|
+
26
|
1309
|
+
I
|
1310
|
+
6b
|
1311
|
+
I
|
1312
|
+
27
|
1313
|
+
I
|
1314
|
+
83
|
1315
|
+
I
|
1316
|
+
28
|
1317
|
+
I
|
1318
|
+
9b
|
1319
|
+
x
|
1320
|
+
82
|
1321
|
+
/Volumes/Personal/Documents/glenn-dev/monkeywrench/test/monkey_wrench/base_test.rb
|
1322
|
+
p
|
1323
|
+
2
|
1324
|
+
x
|
1325
|
+
7
|
1326
|
+
retries
|
1327
|
+
x
|
1328
|
+
8
|
1329
|
+
response
|
1330
|
+
x
|
1331
|
+
6
|
1332
|
+
should
|
1333
|
+
s
|
1334
|
+
46
|
1335
|
+
rethrow Timeout::Error if retry limit exceeded
|
1336
|
+
M
|
1337
|
+
1
|
1338
|
+
p
|
1339
|
+
2
|
1340
|
+
x
|
1341
|
+
9
|
1342
|
+
for_block
|
1343
|
+
t
|
1344
|
+
n
|
1345
|
+
x
|
1346
|
+
8
|
1347
|
+
BaseTest
|
1348
|
+
i
|
1349
|
+
120
|
1350
|
+
5
|
1351
|
+
7
|
1352
|
+
0
|
1353
|
+
64
|
1354
|
+
47
|
1355
|
+
49
|
1356
|
+
1
|
1357
|
+
1
|
1358
|
+
19
|
1359
|
+
0
|
1360
|
+
15
|
1361
|
+
5
|
1362
|
+
7
|
1363
|
+
2
|
1364
|
+
64
|
1365
|
+
47
|
1366
|
+
49
|
1367
|
+
3
|
1368
|
+
1
|
1369
|
+
19
|
1370
|
+
1
|
1371
|
+
15
|
1372
|
+
20
|
1373
|
+
1
|
1374
|
+
7
|
1375
|
+
4
|
1376
|
+
49
|
1377
|
+
5
|
1378
|
+
1
|
1379
|
+
7
|
1380
|
+
6
|
1381
|
+
64
|
1382
|
+
49
|
1383
|
+
7
|
1384
|
+
1
|
1385
|
+
15
|
1386
|
+
45
|
1387
|
+
8
|
1388
|
+
9
|
1389
|
+
43
|
1390
|
+
10
|
1391
|
+
7
|
1392
|
+
11
|
1393
|
+
49
|
1394
|
+
5
|
1395
|
+
1
|
1396
|
+
7
|
1397
|
+
12
|
1398
|
+
64
|
1399
|
+
49
|
1400
|
+
7
|
1401
|
+
1
|
1402
|
+
15
|
1403
|
+
45
|
1404
|
+
13
|
1405
|
+
14
|
1406
|
+
43
|
1407
|
+
15
|
1408
|
+
49
|
1409
|
+
16
|
1410
|
+
0
|
1411
|
+
7
|
1412
|
+
17
|
1413
|
+
49
|
1414
|
+
18
|
1415
|
+
1
|
1416
|
+
20
|
1417
|
+
0
|
1418
|
+
49
|
1419
|
+
19
|
1420
|
+
1
|
1421
|
+
45
|
1422
|
+
20
|
1423
|
+
21
|
1424
|
+
43
|
1425
|
+
22
|
1426
|
+
49
|
1427
|
+
23
|
1428
|
+
1
|
1429
|
+
15
|
1430
|
+
45
|
1431
|
+
13
|
1432
|
+
24
|
1433
|
+
43
|
1434
|
+
15
|
1435
|
+
49
|
1436
|
+
16
|
1437
|
+
0
|
1438
|
+
7
|
1439
|
+
17
|
1440
|
+
49
|
1441
|
+
18
|
1442
|
+
1
|
1443
|
+
20
|
1444
|
+
0
|
1445
|
+
49
|
1446
|
+
19
|
1447
|
+
1
|
1448
|
+
45
|
1449
|
+
20
|
1450
|
+
25
|
1451
|
+
43
|
1452
|
+
22
|
1453
|
+
49
|
1454
|
+
23
|
1455
|
+
1
|
1456
|
+
15
|
1457
|
+
5
|
1458
|
+
45
|
1459
|
+
20
|
1460
|
+
26
|
1461
|
+
43
|
1462
|
+
22
|
1463
|
+
56
|
1464
|
+
27
|
1465
|
+
47
|
1466
|
+
50
|
1467
|
+
28
|
1468
|
+
1
|
1469
|
+
11
|
1470
|
+
I
|
1471
|
+
6
|
1472
|
+
I
|
1473
|
+
2
|
1474
|
+
I
|
1475
|
+
0
|
1476
|
+
I
|
1477
|
+
0
|
1478
|
+
I
|
1479
|
+
-2
|
1480
|
+
p
|
1481
|
+
29
|
1482
|
+
s
|
1483
|
+
7
|
1484
|
+
retries
|
1485
|
+
x
|
1486
|
+
8
|
1487
|
+
sequence
|
1488
|
+
s
|
1489
|
+
0
|
1490
|
+
|
1491
|
+
x
|
1492
|
+
4
|
1493
|
+
mock
|
1494
|
+
x
|
1495
|
+
15
|
1496
|
+
parsed_response
|
1497
|
+
x
|
1498
|
+
5
|
1499
|
+
stubs
|
1500
|
+
s
|
1501
|
+
12
|
1502
|
+
the response
|
1503
|
+
x
|
1504
|
+
7
|
1505
|
+
returns
|
1506
|
+
x
|
1507
|
+
12
|
1508
|
+
MonkeyWrench
|
1509
|
+
n
|
1510
|
+
x
|
1511
|
+
4
|
1512
|
+
Base
|
1513
|
+
x
|
1514
|
+
8
|
1515
|
+
base_uri
|
1516
|
+
s
|
1517
|
+
18
|
1518
|
+
http://example.com
|
1519
|
+
x
|
1520
|
+
8
|
1521
|
+
HTTParty
|
1522
|
+
n
|
1523
|
+
x
|
1524
|
+
7
|
1525
|
+
Request
|
1526
|
+
x
|
1527
|
+
12
|
1528
|
+
any_instance
|
1529
|
+
x
|
1530
|
+
7
|
1531
|
+
perform
|
1532
|
+
x
|
1533
|
+
7
|
1534
|
+
expects
|
1535
|
+
x
|
1536
|
+
11
|
1537
|
+
in_sequence
|
1538
|
+
x
|
1539
|
+
7
|
1540
|
+
Timeout
|
1541
|
+
n
|
1542
|
+
x
|
1543
|
+
5
|
1544
|
+
Error
|
1545
|
+
x
|
1546
|
+
6
|
1547
|
+
raises
|
1548
|
+
n
|
1549
|
+
n
|
1550
|
+
n
|
1551
|
+
M
|
1552
|
+
1
|
1553
|
+
p
|
1554
|
+
2
|
1555
|
+
x
|
1556
|
+
9
|
1557
|
+
for_block
|
1558
|
+
t
|
1559
|
+
n
|
1560
|
+
x
|
1561
|
+
8
|
1562
|
+
BaseTest
|
1563
|
+
i
|
1564
|
+
31
|
1565
|
+
45
|
1566
|
+
0
|
1567
|
+
1
|
1568
|
+
43
|
1569
|
+
2
|
1570
|
+
44
|
1571
|
+
43
|
1572
|
+
3
|
1573
|
+
78
|
1574
|
+
49
|
1575
|
+
4
|
1576
|
+
1
|
1577
|
+
44
|
1578
|
+
43
|
1579
|
+
3
|
1580
|
+
79
|
1581
|
+
49
|
1582
|
+
4
|
1583
|
+
1
|
1584
|
+
13
|
1585
|
+
7
|
1586
|
+
5
|
1587
|
+
80
|
1588
|
+
49
|
1589
|
+
6
|
1590
|
+
2
|
1591
|
+
15
|
1592
|
+
49
|
1593
|
+
7
|
1594
|
+
2
|
1595
|
+
11
|
1596
|
+
I
|
1597
|
+
7
|
1598
|
+
I
|
1599
|
+
0
|
1600
|
+
I
|
1601
|
+
0
|
1602
|
+
I
|
1603
|
+
0
|
1604
|
+
I
|
1605
|
+
-2
|
1606
|
+
p
|
1607
|
+
8
|
1608
|
+
x
|
1609
|
+
12
|
1610
|
+
MonkeyWrench
|
1611
|
+
n
|
1612
|
+
x
|
1613
|
+
4
|
1614
|
+
Base
|
1615
|
+
x
|
1616
|
+
4
|
1617
|
+
Hash
|
1618
|
+
x
|
1619
|
+
16
|
1620
|
+
new_from_literal
|
1621
|
+
x
|
1622
|
+
11
|
1623
|
+
retry_limit
|
1624
|
+
x
|
1625
|
+
3
|
1626
|
+
[]=
|
1627
|
+
x
|
1628
|
+
4
|
1629
|
+
post
|
1630
|
+
p
|
1631
|
+
5
|
1632
|
+
I
|
1633
|
+
0
|
1634
|
+
I
|
1635
|
+
32
|
1636
|
+
I
|
1637
|
+
0
|
1638
|
+
I
|
1639
|
+
33
|
1640
|
+
I
|
1641
|
+
1f
|
1642
|
+
x
|
1643
|
+
82
|
1644
|
+
/Volumes/Personal/Documents/glenn-dev/monkeywrench/test/monkey_wrench/base_test.rb
|
1645
|
+
p
|
1646
|
+
0
|
1647
|
+
x
|
1648
|
+
12
|
1649
|
+
assert_raise
|
1650
|
+
p
|
1651
|
+
17
|
1652
|
+
I
|
1653
|
+
0
|
1654
|
+
I
|
1655
|
+
2b
|
1656
|
+
I
|
1657
|
+
0
|
1658
|
+
I
|
1659
|
+
2c
|
1660
|
+
I
|
1661
|
+
b
|
1662
|
+
I
|
1663
|
+
2d
|
1664
|
+
I
|
1665
|
+
16
|
1666
|
+
I
|
1667
|
+
2e
|
1668
|
+
I
|
1669
|
+
24
|
1670
|
+
I
|
1671
|
+
2f
|
1672
|
+
I
|
1673
|
+
35
|
1674
|
+
I
|
1675
|
+
30
|
1676
|
+
I
|
1677
|
+
50
|
1678
|
+
I
|
1679
|
+
31
|
1680
|
+
I
|
1681
|
+
6b
|
1682
|
+
I
|
1683
|
+
32
|
1684
|
+
I
|
1685
|
+
78
|
1686
|
+
x
|
1687
|
+
82
|
1688
|
+
/Volumes/Personal/Documents/glenn-dev/monkeywrench/test/monkey_wrench/base_test.rb
|
1689
|
+
p
|
1690
|
+
2
|
1691
|
+
x
|
1692
|
+
7
|
1693
|
+
retries
|
1694
|
+
x
|
1695
|
+
8
|
1696
|
+
response
|
1697
|
+
p
|
1698
|
+
7
|
1699
|
+
I
|
1700
|
+
0
|
1701
|
+
I
|
1702
|
+
1f
|
1703
|
+
I
|
1704
|
+
0
|
1705
|
+
I
|
1706
|
+
20
|
1707
|
+
I
|
1708
|
+
b
|
1709
|
+
I
|
1710
|
+
2b
|
1711
|
+
I
|
1712
|
+
16
|
1713
|
+
x
|
1714
|
+
82
|
1715
|
+
/Volumes/Personal/Documents/glenn-dev/monkeywrench/test/monkey_wrench/base_test.rb
|
1716
|
+
p
|
1717
|
+
0
|
1718
|
+
p
|
1719
|
+
5
|
1720
|
+
I
|
1721
|
+
2
|
1722
|
+
I
|
1723
|
+
6
|
1724
|
+
I
|
1725
|
+
d
|
1726
|
+
I
|
1727
|
+
1f
|
1728
|
+
I
|
1729
|
+
18
|
1730
|
+
x
|
1731
|
+
82
|
1732
|
+
/Volumes/Personal/Documents/glenn-dev/monkeywrench/test/monkey_wrench/base_test.rb
|
1733
|
+
p
|
1734
|
+
0
|
1735
|
+
x
|
1736
|
+
13
|
1737
|
+
attach_method
|
1738
|
+
p
|
1739
|
+
7
|
1740
|
+
I
|
1741
|
+
0
|
1742
|
+
I
|
1743
|
+
1
|
1744
|
+
I
|
1745
|
+
1f
|
1746
|
+
I
|
1747
|
+
2
|
1748
|
+
I
|
1749
|
+
28
|
1750
|
+
I
|
1751
|
+
4
|
1752
|
+
I
|
1753
|
+
4d
|
1754
|
+
x
|
1755
|
+
82
|
1756
|
+
/Volumes/Personal/Documents/glenn-dev/monkeywrench/test/monkey_wrench/base_test.rb
|
1757
|
+
p
|
1758
|
+
0
|