recurly 0.4.0 → 0.4.1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of recurly might be problematic. Click here for more details.
- data/lib/patches/rails2/active_resource/connection.rb +10 -0
- data/lib/patches/{active_resource → rails3/active_resource}/connection.rb +0 -0
- data/lib/recurly.rb +7 -2
- data/lib/recurly/transparent.rb +4 -1
- data/lib/recurly/version.rb +1 -1
- data/spec/integration/transaction_spec.rb +5 -2
- data/spec/unit/transparent_spec.rb +59 -1
- data/spec/vcr/account/accept-language-account/1297746103.yml +8 -11
- data/spec/vcr/account/close/1297746103.yml +23 -30
- data/spec/vcr/account/create-blank/1297746103.yml +5 -7
- data/spec/vcr/account/create-duplicate/1297746103.yml +13 -18
- data/spec/vcr/account/create-min/1297746103.yml +8 -11
- data/spec/vcr/account/create/1297746103.yml +8 -11
- data/spec/vcr/account/find/1297746103.yml +22 -29
- data/spec/vcr/account/list/1297746103.yml +150 -196
- data/spec/vcr/account/update/1297746103.yml +37 -46
- data/spec/vcr/billing/create/1298594128.yml +24 -31
- data/spec/vcr/billing/destroy/1298594128.yml +35 -46
- data/spec/vcr/billing/find/1298594128.yml +32 -41
- data/spec/vcr/billing/update/1298594128.yml +32 -41
- data/spec/vcr/charge/create/1297746103.yml +36 -45
- data/spec/vcr/charge/delete-uninvoiced/1297746103.yml +46 -59
- data/spec/vcr/charge/list-all/1297746103.yml +51 -62
- data/spec/vcr/charge/list-invoiced/1297746103.yml +82 -97
- data/spec/vcr/charge/list-pending/1297746103.yml +51 -62
- data/spec/vcr/charge/lookup/1297746103.yml +28 -35
- data/spec/vcr/coupon/create/1299714521.yml +23 -30
- data/spec/vcr/coupon/destroy/1299714521.yml +26 -35
- data/spec/vcr/credit/create/1299714599.yml +28 -35
- data/spec/vcr/credit/delete/1299714599.yml +41 -52
- data/spec/vcr/credit/list/1299714599.yml +51 -62
- data/spec/vcr/credit/lookup/1299714599.yml +28 -35
- data/spec/vcr/invoice/create-no-charges/1297746103.yml +21 -28
- data/spec/vcr/invoice/create/1297746103.yml +50 -61
- data/spec/vcr/invoice/list/1297746103.yml +73 -88
- data/spec/vcr/invoice/lookup/1297746103.yml +52 -63
- data/spec/vcr/plan/all.yml +18 -24
- data/spec/vcr/plan/find.yml +18 -24
- data/spec/vcr/plan/update.yml +18 -24
- data/spec/vcr/subscription/addons/add/1297746103.yml +331 -38
- data/spec/vcr/subscription/addons/create/1297746103.yml +331 -38
- data/spec/vcr/subscription/addons/remove/1297746103.yml +331 -38
- data/spec/vcr/subscription/cancel-with-code/1297746103.yml +71 -86
- data/spec/vcr/subscription/cancel/1297746103.yml +59 -72
- data/spec/vcr/subscription/change1/1297746103.yml +55 -68
- data/spec/vcr/subscription/change2/1297746103.yml +55 -68
- data/spec/vcr/subscription/create/1297746103.yml +25 -32
- data/spec/vcr/subscription/find/1297746103.yml +35 -44
- data/spec/vcr/subscription/reactivate/1297746103.yml +64 -79
- data/spec/vcr/subscription/refund-full/1297746103.yml +52 -65
- data/spec/vcr/subscription/refund-none/1297746103.yml +52 -65
- data/spec/vcr/subscription/refund-partial/1297746103.yml +52 -65
- data/spec/vcr/transaction/all/1300473500.yml +387 -0
- data/spec/vcr/transaction/create-no-account/{1297746103.yml → 1300473500.yml} +19 -22
- data/spec/vcr/transaction/create-with-account/{1297746103.yml → 1300473500.yml} +55 -43
- data/spec/vcr/transaction/list-filled/1300473500.yml +603 -0
- data/spec/vcr/transaction/list-initial/{1297746103.yml → 1300473500.yml} +45 -52
- data/spec/vcr/transaction/lookup/1300473500.yml +561 -0
- data/spec/vcr/transaction/refund/{1297746103.yml → 1300473500.yml} +113 -41
- data/spec/vcr/transaction/void/1300473500.yml +620 -0
- metadata +21 -20
- data/spec/vcr/transaction/all/1297746103.yml +0 -389
- data/spec/vcr/transaction/list-filled/1297746103.yml +0 -213
- data/spec/vcr/transaction/lookup/1297746103.yml +0 -213
- data/spec/vcr/transaction/void/1297746103.yml +0 -213
data/spec/vcr/plan/all.yml
CHANGED
@@ -18,10 +18,10 @@
|
|
18
18
|
response: !ruby/struct:VCR::Response
|
19
19
|
status: !ruby/struct:VCR::ResponseStatus
|
20
20
|
code: 200
|
21
|
-
message:
|
21
|
+
message: OK
|
22
22
|
headers:
|
23
23
|
x-runtime:
|
24
|
-
- "
|
24
|
+
- "291"
|
25
25
|
content-type:
|
26
26
|
- application/xml; charset=utf-8
|
27
27
|
etag:
|
@@ -30,14 +30,12 @@
|
|
30
30
|
- private, max-age=0, must-revalidate
|
31
31
|
content-length:
|
32
32
|
- "1146"
|
33
|
-
|
34
|
-
-
|
35
|
-
date:
|
36
|
-
- Fri, 11 Mar 2011 18:51:29 GMT
|
33
|
+
set-cookie:
|
34
|
+
- _recurly_session=2158e18a9b31641a1b26b06734ed7de4; domain=.recurly.local; path=/; HttpOnly
|
37
35
|
connection:
|
38
36
|
- close
|
39
|
-
|
40
|
-
-
|
37
|
+
server:
|
38
|
+
- thin 1.2.7 codename No Hup
|
41
39
|
body: |
|
42
40
|
<?xml version="1.0" encoding="UTF-8"?>
|
43
41
|
<plan>
|
@@ -85,10 +83,10 @@
|
|
85
83
|
response: !ruby/struct:VCR::Response
|
86
84
|
status: !ruby/struct:VCR::ResponseStatus
|
87
85
|
code: 200
|
88
|
-
message:
|
86
|
+
message: OK
|
89
87
|
headers:
|
90
88
|
x-runtime:
|
91
|
-
- "
|
89
|
+
- "308"
|
92
90
|
content-type:
|
93
91
|
- application/xml; charset=utf-8
|
94
92
|
etag:
|
@@ -97,14 +95,12 @@
|
|
97
95
|
- private, max-age=0, must-revalidate
|
98
96
|
content-length:
|
99
97
|
- "1152"
|
100
|
-
|
101
|
-
-
|
102
|
-
date:
|
103
|
-
- Fri, 11 Mar 2011 18:51:31 GMT
|
98
|
+
set-cookie:
|
99
|
+
- _recurly_session=599c51e9e55cb1f02d8fdd4dcb9f6818; domain=.recurly.local; path=/; HttpOnly
|
104
100
|
connection:
|
105
101
|
- close
|
106
|
-
|
107
|
-
-
|
102
|
+
server:
|
103
|
+
- thin 1.2.7 codename No Hup
|
108
104
|
body: |
|
109
105
|
<?xml version="1.0" encoding="UTF-8"?>
|
110
106
|
<plan>
|
@@ -152,10 +148,10 @@
|
|
152
148
|
response: !ruby/struct:VCR::Response
|
153
149
|
status: !ruby/struct:VCR::ResponseStatus
|
154
150
|
code: 200
|
155
|
-
message:
|
151
|
+
message: OK
|
156
152
|
headers:
|
157
153
|
x-runtime:
|
158
|
-
- "
|
154
|
+
- "285"
|
159
155
|
content-type:
|
160
156
|
- application/xml; charset=utf-8
|
161
157
|
etag:
|
@@ -164,14 +160,12 @@
|
|
164
160
|
- private, max-age=0, must-revalidate
|
165
161
|
content-length:
|
166
162
|
- "4456"
|
167
|
-
|
168
|
-
-
|
169
|
-
date:
|
170
|
-
- Fri, 11 Mar 2011 18:51:33 GMT
|
163
|
+
set-cookie:
|
164
|
+
- _recurly_session=56f5752af75c8e62a698f4567e675e20; domain=.recurly.local; path=/; HttpOnly
|
171
165
|
connection:
|
172
166
|
- close
|
173
|
-
|
174
|
-
-
|
167
|
+
server:
|
168
|
+
- thin 1.2.7 codename No Hup
|
175
169
|
body: |
|
176
170
|
<?xml version="1.0" encoding="UTF-8"?>
|
177
171
|
<plans type="array">
|
data/spec/vcr/plan/find.yml
CHANGED
@@ -18,10 +18,10 @@
|
|
18
18
|
response: !ruby/struct:VCR::Response
|
19
19
|
status: !ruby/struct:VCR::ResponseStatus
|
20
20
|
code: 200
|
21
|
-
message:
|
21
|
+
message: OK
|
22
22
|
headers:
|
23
23
|
x-runtime:
|
24
|
-
- "
|
24
|
+
- "324"
|
25
25
|
content-type:
|
26
26
|
- application/xml; charset=utf-8
|
27
27
|
etag:
|
@@ -30,14 +30,12 @@
|
|
30
30
|
- private, max-age=0, must-revalidate
|
31
31
|
content-length:
|
32
32
|
- "1146"
|
33
|
-
|
34
|
-
-
|
35
|
-
date:
|
36
|
-
- Fri, 11 Mar 2011 18:51:36 GMT
|
33
|
+
set-cookie:
|
34
|
+
- _recurly_session=ca2acaacaccbe3fae5552900d9b4185e; domain=.recurly.local; path=/; HttpOnly
|
37
35
|
connection:
|
38
36
|
- close
|
39
|
-
|
40
|
-
-
|
37
|
+
server:
|
38
|
+
- thin 1.2.7 codename No Hup
|
41
39
|
body: |
|
42
40
|
<?xml version="1.0" encoding="UTF-8"?>
|
43
41
|
<plan>
|
@@ -85,10 +83,10 @@
|
|
85
83
|
response: !ruby/struct:VCR::Response
|
86
84
|
status: !ruby/struct:VCR::ResponseStatus
|
87
85
|
code: 200
|
88
|
-
message:
|
86
|
+
message: OK
|
89
87
|
headers:
|
90
88
|
x-runtime:
|
91
|
-
- "
|
89
|
+
- "292"
|
92
90
|
content-type:
|
93
91
|
- application/xml; charset=utf-8
|
94
92
|
etag:
|
@@ -97,14 +95,12 @@
|
|
97
95
|
- private, max-age=0, must-revalidate
|
98
96
|
content-length:
|
99
97
|
- "1152"
|
100
|
-
|
101
|
-
-
|
102
|
-
date:
|
103
|
-
- Fri, 11 Mar 2011 18:51:38 GMT
|
98
|
+
set-cookie:
|
99
|
+
- _recurly_session=407c7f041de280cde2ee511d2a32cc2c; domain=.recurly.local; path=/; HttpOnly
|
104
100
|
connection:
|
105
101
|
- close
|
106
|
-
|
107
|
-
-
|
102
|
+
server:
|
103
|
+
- thin 1.2.7 codename No Hup
|
108
104
|
body: |
|
109
105
|
<?xml version="1.0" encoding="UTF-8"?>
|
110
106
|
<plan>
|
@@ -152,10 +148,10 @@
|
|
152
148
|
response: !ruby/struct:VCR::Response
|
153
149
|
status: !ruby/struct:VCR::ResponseStatus
|
154
150
|
code: 200
|
155
|
-
message:
|
151
|
+
message: OK
|
156
152
|
headers:
|
157
153
|
x-runtime:
|
158
|
-
- "
|
154
|
+
- "298"
|
159
155
|
content-type:
|
160
156
|
- application/xml; charset=utf-8
|
161
157
|
etag:
|
@@ -164,14 +160,12 @@
|
|
164
160
|
- private, max-age=0, must-revalidate
|
165
161
|
content-length:
|
166
162
|
- "1146"
|
167
|
-
|
168
|
-
-
|
169
|
-
date:
|
170
|
-
- Fri, 11 Mar 2011 18:51:40 GMT
|
163
|
+
set-cookie:
|
164
|
+
- _recurly_session=d0a459d451096b01e436d58e6f2a884e; domain=.recurly.local; path=/; HttpOnly
|
171
165
|
connection:
|
172
166
|
- close
|
173
|
-
|
174
|
-
-
|
167
|
+
server:
|
168
|
+
- thin 1.2.7 codename No Hup
|
175
169
|
body: |
|
176
170
|
<?xml version="1.0" encoding="UTF-8"?>
|
177
171
|
<plan>
|
data/spec/vcr/plan/update.yml
CHANGED
@@ -18,10 +18,10 @@
|
|
18
18
|
response: !ruby/struct:VCR::Response
|
19
19
|
status: !ruby/struct:VCR::ResponseStatus
|
20
20
|
code: 200
|
21
|
-
message:
|
21
|
+
message: OK
|
22
22
|
headers:
|
23
23
|
x-runtime:
|
24
|
-
- "
|
24
|
+
- "297"
|
25
25
|
content-type:
|
26
26
|
- application/xml; charset=utf-8
|
27
27
|
etag:
|
@@ -30,14 +30,12 @@
|
|
30
30
|
- private, max-age=0, must-revalidate
|
31
31
|
content-length:
|
32
32
|
- "1153"
|
33
|
-
|
34
|
-
-
|
35
|
-
date:
|
36
|
-
- Fri, 11 Mar 2011 18:51:42 GMT
|
33
|
+
set-cookie:
|
34
|
+
- _recurly_session=3adad288d8fb3965388971f237c39d6e; domain=.recurly.local; path=/; HttpOnly
|
37
35
|
connection:
|
38
36
|
- close
|
39
|
-
|
40
|
-
-
|
37
|
+
server:
|
38
|
+
- thin 1.2.7 codename No Hup
|
41
39
|
body: |
|
42
40
|
<?xml version="1.0" encoding="UTF-8"?>
|
43
41
|
<plan>
|
@@ -113,24 +111,22 @@
|
|
113
111
|
response: !ruby/struct:VCR::Response
|
114
112
|
status: !ruby/struct:VCR::ResponseStatus
|
115
113
|
code: 200
|
116
|
-
message:
|
114
|
+
message: OK
|
117
115
|
headers:
|
118
116
|
cache-control:
|
119
117
|
- no-cache
|
120
118
|
x-runtime:
|
121
|
-
- "
|
119
|
+
- "339"
|
122
120
|
content-type:
|
123
121
|
- application/xml; charset=utf-8
|
124
122
|
content-length:
|
125
123
|
- "1"
|
126
|
-
|
127
|
-
-
|
128
|
-
date:
|
129
|
-
- Fri, 11 Mar 2011 18:51:45 GMT
|
124
|
+
set-cookie:
|
125
|
+
- _recurly_session=6855515dafde9623be2753c169e1fa17; domain=.recurly.local; path=/; HttpOnly
|
130
126
|
connection:
|
131
127
|
- close
|
132
|
-
|
133
|
-
-
|
128
|
+
server:
|
129
|
+
- thin 1.2.7 codename No Hup
|
134
130
|
body: " "
|
135
131
|
http_version: "1.1"
|
136
132
|
- !ruby/struct:VCR::HTTPInteraction
|
@@ -152,10 +148,10 @@
|
|
152
148
|
response: !ruby/struct:VCR::Response
|
153
149
|
status: !ruby/struct:VCR::ResponseStatus
|
154
150
|
code: 200
|
155
|
-
message:
|
151
|
+
message: OK
|
156
152
|
headers:
|
157
153
|
x-runtime:
|
158
|
-
- "
|
154
|
+
- "307"
|
159
155
|
content-type:
|
160
156
|
- application/xml; charset=utf-8
|
161
157
|
etag:
|
@@ -164,14 +160,12 @@
|
|
164
160
|
- private, max-age=0, must-revalidate
|
165
161
|
content-length:
|
166
162
|
- "1153"
|
167
|
-
|
168
|
-
-
|
169
|
-
date:
|
170
|
-
- Fri, 11 Mar 2011 18:51:47 GMT
|
163
|
+
set-cookie:
|
164
|
+
- _recurly_session=0d1bfef61888732dac952093b505f2de; domain=.recurly.local; path=/; HttpOnly
|
171
165
|
connection:
|
172
166
|
- close
|
173
|
-
|
174
|
-
-
|
167
|
+
server:
|
168
|
+
- thin 1.2.7 codename No Hup
|
175
169
|
body: |
|
176
170
|
<?xml version="1.0" encoding="UTF-8"?>
|
177
171
|
<plan>
|
@@ -32,27 +32,24 @@
|
|
32
32
|
response: !ruby/struct:VCR::Response
|
33
33
|
status: !ruby/struct:VCR::ResponseStatus
|
34
34
|
code: 201
|
35
|
-
message:
|
35
|
+
message: Created
|
36
36
|
headers:
|
37
37
|
cache-control:
|
38
38
|
- no-cache
|
39
39
|
location:
|
40
40
|
- http://app.recurly.local:3000/accounts/subscription-addons-add-1297746103
|
41
41
|
x-runtime:
|
42
|
-
- "
|
42
|
+
- "600"
|
43
43
|
content-type:
|
44
44
|
- application/xml; charset=utf-8
|
45
45
|
content-length:
|
46
46
|
- "601"
|
47
|
-
|
48
|
-
-
|
49
|
-
date:
|
50
|
-
- Fri, 11 Mar 2011 18:47:36 GMT
|
47
|
+
set-cookie:
|
48
|
+
- _recurly_session=801dbd3ec14fae430fff355955b02e80; domain=.recurly.local; path=/; HttpOnly
|
51
49
|
connection:
|
52
50
|
- close
|
53
|
-
|
54
|
-
-
|
55
|
-
- _recurly_session=8be7e87e6fa5cf29b1651e8f176c05f6; domain=.recurly.local; path=/; HttpOnly
|
51
|
+
server:
|
52
|
+
- thin 1.2.7 codename No Hup
|
56
53
|
body: |
|
57
54
|
<?xml version="1.0" encoding="UTF-8"?>
|
58
55
|
<account>
|
@@ -65,8 +62,8 @@
|
|
65
62
|
<company_name>Recurly Ruby Gem</company_name>
|
66
63
|
<balance_in_cents type="integer">0</balance_in_cents>
|
67
64
|
<closed type="boolean">false</closed>
|
68
|
-
<hosted_login_token>
|
69
|
-
<created_at type="datetime">2011-03-
|
65
|
+
<hosted_login_token>01235e075f454c61b47158e6d7557e91</hosted_login_token>
|
66
|
+
<created_at type="datetime">2011-03-18T18:47:44Z</created_at>
|
70
67
|
<state>active</state>
|
71
68
|
</account>
|
72
69
|
|
@@ -90,10 +87,10 @@
|
|
90
87
|
response: !ruby/struct:VCR::Response
|
91
88
|
status: !ruby/struct:VCR::ResponseStatus
|
92
89
|
code: 200
|
93
|
-
message:
|
90
|
+
message: OK
|
94
91
|
headers:
|
95
92
|
x-runtime:
|
96
|
-
- "
|
93
|
+
- "90"
|
97
94
|
content-type:
|
98
95
|
- application/xml; charset=utf-8
|
99
96
|
etag:
|
@@ -102,14 +99,12 @@
|
|
102
99
|
- private, max-age=0, must-revalidate
|
103
100
|
content-length:
|
104
101
|
- "1146"
|
105
|
-
|
106
|
-
-
|
107
|
-
date:
|
108
|
-
- Fri, 11 Mar 2011 18:47:38 GMT
|
102
|
+
set-cookie:
|
103
|
+
- _recurly_session=c3758c02f5dc3dfbda4fa52c2b248d58; domain=.recurly.local; path=/; HttpOnly
|
109
104
|
connection:
|
110
105
|
- close
|
111
|
-
|
112
|
-
-
|
106
|
+
server:
|
107
|
+
- thin 1.2.7 codename No Hup
|
113
108
|
body: |
|
114
109
|
<?xml version="1.0" encoding="UTF-8"?>
|
115
110
|
<plan>
|
@@ -173,8 +168,8 @@
|
|
173
168
|
<username type="yaml" nil="true"></username>
|
174
169
|
<balance-in-cents type="integer">0</balance-in-cents>
|
175
170
|
<closed type="boolean">false</closed>
|
176
|
-
<hosted-login-token>
|
177
|
-
<created-at type="datetime">2011-03-
|
171
|
+
<hosted-login-token>01235e075f454c61b47158e6d7557e91</hosted-login-token>
|
172
|
+
<created-at type="datetime">2011-03-18T18:47:44Z</created-at>
|
178
173
|
<state>active</state>
|
179
174
|
</account>
|
180
175
|
<add-ons type="array">
|
@@ -200,30 +195,328 @@
|
|
200
195
|
- close
|
201
196
|
response: !ruby/struct:VCR::Response
|
202
197
|
status: !ruby/struct:VCR::ResponseStatus
|
203
|
-
code:
|
204
|
-
message:
|
198
|
+
code: 500
|
199
|
+
message: Internal Server Error
|
205
200
|
headers:
|
206
201
|
cache-control:
|
207
202
|
- no-cache
|
208
|
-
x-runtime:
|
209
|
-
- "549"
|
210
203
|
content-type:
|
211
|
-
-
|
204
|
+
- text/html; charset=utf-8
|
212
205
|
content-length:
|
213
|
-
- "
|
214
|
-
|
215
|
-
-
|
216
|
-
date:
|
217
|
-
- Fri, 11 Mar 2011 18:47:40 GMT
|
206
|
+
- "19286"
|
207
|
+
set-cookie:
|
208
|
+
- _recurly_session=7592f0febb3c336de83c81cde6c28888; domain=.recurly.local; path=/; HttpOnly
|
218
209
|
connection:
|
219
210
|
- close
|
220
|
-
|
221
|
-
-
|
211
|
+
server:
|
212
|
+
- thin 1.2.7 codename No Hup
|
222
213
|
body: |
|
223
|
-
|
224
|
-
<
|
225
|
-
<
|
226
|
-
<
|
227
|
-
|
214
|
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
215
|
+
<head>
|
216
|
+
<title>Action Controller: Exception caught</title>
|
217
|
+
<style>
|
218
|
+
body { background-color: #fff; color: #333; }
|
219
|
+
|
220
|
+
body, p, ol, ul, td {
|
221
|
+
font-family: verdana, arial, helvetica, sans-serif;
|
222
|
+
font-size: 13px;
|
223
|
+
line-height: 18px;
|
224
|
+
}
|
225
|
+
|
226
|
+
pre {
|
227
|
+
background-color: #eee;
|
228
|
+
padding: 10px;
|
229
|
+
font-size: 11px;
|
230
|
+
}
|
231
|
+
|
232
|
+
a { color: #000; }
|
233
|
+
a:visited { color: #666; }
|
234
|
+
a:hover { color: #fff; background-color:#000; }
|
235
|
+
</style>
|
236
|
+
</head>
|
237
|
+
<body>
|
238
|
+
|
239
|
+
<h1>
|
240
|
+
NoMethodError
|
241
|
+
|
242
|
+
in Accounts/subscriptionController#create
|
243
|
+
|
244
|
+
</h1>
|
245
|
+
<pre>You have a nil object when you didn't expect it!
|
246
|
+
You might have expected an instance of Array.
|
247
|
+
The error occurred while evaluating nil.slice</pre>
|
248
|
+
|
249
|
+
|
250
|
+
|
251
|
+
<p><code>RAILS_ROOT: /Users/isaac/Development/recurly/app</code></p>
|
252
|
+
|
253
|
+
<div id="traces">
|
254
|
+
|
255
|
+
|
256
|
+
<a href="#" onclick="document.getElementById('Framework-Trace').style.display='none';document.getElementById('Full-Trace').style.display='none';document.getElementById('Application-Trace').style.display='block';; return false;">Application Trace</a> |
|
257
|
+
|
258
|
+
|
259
|
+
<a href="#" onclick="document.getElementById('Application-Trace').style.display='none';document.getElementById('Full-Trace').style.display='none';document.getElementById('Framework-Trace').style.display='block';; return false;">Framework Trace</a> |
|
260
|
+
|
261
|
+
|
262
|
+
<a href="#" onclick="document.getElementById('Application-Trace').style.display='none';document.getElementById('Framework-Trace').style.display='none';document.getElementById('Full-Trace').style.display='block';; return false;">Full Trace</a>
|
263
|
+
|
264
|
+
|
265
|
+
|
266
|
+
<div id="Application-Trace" style="display: block;">
|
267
|
+
<pre><code>/Users/isaac/Development/recurly/app/app/api/subscription_api.rb:23:in `block in sanitize_params'
|
268
|
+
/Users/isaac/Development/recurly/app/app/api/subscription_api.rb:22:in `collect'
|
269
|
+
/Users/isaac/Development/recurly/app/app/api/subscription_api.rb:22:in `sanitize_params'
|
270
|
+
/Users/isaac/Development/recurly/app/app/controllers/accounts/subscription_controller.rb:250:in `init_account_and_billing_info'</code></pre>
|
271
|
+
</div>
|
272
|
+
|
273
|
+
<div id="Framework-Trace" style="display: none;">
|
274
|
+
<pre><code>/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/activesupport-2.3.11/lib/active_support/callbacks.rb:178:in `evaluate_method'
|
275
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/activesupport-2.3.11/lib/active_support/callbacks.rb:166:in `call'
|
276
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/filters.rb:225:in `call'
|
277
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/filters.rb:629:in `run_before_filters'
|
278
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/filters.rb:615:in `call_filters'
|
279
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/filters.rb:610:in `perform_action_with_filters'
|
280
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/benchmarking.rb:68:in `block in perform_action_with_benchmark'
|
281
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/activesupport-2.3.11/lib/active_support/core_ext/benchmark.rb:17:in `block in ms'
|
282
|
+
/Users/isaac/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/benchmark.rb:309:in `realtime'
|
283
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/activesupport-2.3.11/lib/active_support/core_ext/benchmark.rb:17:in `ms'
|
284
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/benchmarking.rb:68:in `perform_action_with_benchmark'
|
285
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/rescue.rb:160:in `perform_action_with_rescue'
|
286
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/flash.rb:151:in `perform_action_with_flash'
|
287
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/base.rb:532:in `process'
|
288
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/filters.rb:606:in `process_with_filters'
|
289
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/compass-0.10.6/lib/compass/app_integration/rails/actionpack2/action_controller.rb:7:in `process_with_compass'
|
290
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/base.rb:391:in `process'
|
291
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/base.rb:386:in `call'
|
292
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/routing/route_set.rb:438:in `call'
|
293
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/dispatcher.rb:87:in `dispatch'
|
294
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/dispatcher.rb:121:in `_call'
|
295
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/dispatcher.rb:130:in `block in build_middleware_stack'
|
296
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/activerecord-2.3.11/lib/active_record/query_cache.rb:29:in `call'
|
297
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/activerecord-2.3.11/lib/active_record/query_cache.rb:29:in `block in call'
|
298
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/activerecord-2.3.11/lib/active_record/connection_adapters/abstract/query_cache.rb:34:in `cache'
|
299
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/activerecord-2.3.11/lib/active_record/query_cache.rb:9:in `cache'
|
300
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/activerecord-2.3.11/lib/active_record/query_cache.rb:28:in `call'
|
301
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/activerecord-2.3.11/lib/active_record/connection_adapters/abstract/connection_pool.rb:361:in `call'
|
302
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/haml-3.0.25/lib/sass/plugin/rack.rb:41:in `call'
|
303
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/string_coercion.rb:25:in `call'
|
304
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/rack-1.1.0/lib/rack/head.rb:9:in `call'
|
305
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/rack-1.1.0/lib/rack/methodoverride.rb:24:in `call'
|
306
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/params_parser.rb:15:in `call'
|
307
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/session/abstract_store.rb:177:in `call'
|
308
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/activesupport-2.3.11/lib/active_support/cache/strategy/local_cache.rb:25:in `call'
|
309
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/hoptoad_notifier-2.4.6/lib/hoptoad_notifier/rack.rb:27:in `call'
|
310
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/failsafe.rb:26:in `call'
|
311
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/hoptoad_notifier-2.4.6/lib/hoptoad_notifier/user_informer.rb:12:in `call'
|
312
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/dispatcher.rb:114:in `block in call'
|
313
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/reloader.rb:34:in `run'
|
314
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/dispatcher.rb:108:in `call'
|
315
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/rack-fiber_pool-0.9.1/lib/rack/fiber_pool.rb:19:in `block in call'
|
316
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/rack-fiber_pool-0.9.1/lib/fiber_pool.rb:48:in `call'
|
317
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/rack-fiber_pool-0.9.1/lib/fiber_pool.rb:48:in `block (3 levels) in initialize'
|
318
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/rack-fiber_pool-0.9.1/lib/fiber_pool.rb:47:in `loop'
|
319
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/rack-fiber_pool-0.9.1/lib/fiber_pool.rb:47:in `block (2 levels) in initialize'</code></pre>
|
320
|
+
</div>
|
321
|
+
|
322
|
+
<div id="Full-Trace" style="display: none;">
|
323
|
+
<pre><code>/Users/isaac/Development/recurly/app/app/api/subscription_api.rb:23:in `block in sanitize_params'
|
324
|
+
/Users/isaac/Development/recurly/app/app/api/subscription_api.rb:22:in `collect'
|
325
|
+
/Users/isaac/Development/recurly/app/app/api/subscription_api.rb:22:in `sanitize_params'
|
326
|
+
/Users/isaac/Development/recurly/app/app/controllers/accounts/subscription_controller.rb:250:in `init_account_and_billing_info'
|
327
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/activesupport-2.3.11/lib/active_support/callbacks.rb:178:in `evaluate_method'
|
328
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/activesupport-2.3.11/lib/active_support/callbacks.rb:166:in `call'
|
329
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/filters.rb:225:in `call'
|
330
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/filters.rb:629:in `run_before_filters'
|
331
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/filters.rb:615:in `call_filters'
|
332
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/filters.rb:610:in `perform_action_with_filters'
|
333
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/benchmarking.rb:68:in `block in perform_action_with_benchmark'
|
334
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/activesupport-2.3.11/lib/active_support/core_ext/benchmark.rb:17:in `block in ms'
|
335
|
+
/Users/isaac/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/benchmark.rb:309:in `realtime'
|
336
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/activesupport-2.3.11/lib/active_support/core_ext/benchmark.rb:17:in `ms'
|
337
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/benchmarking.rb:68:in `perform_action_with_benchmark'
|
338
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/rescue.rb:160:in `perform_action_with_rescue'
|
339
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/flash.rb:151:in `perform_action_with_flash'
|
340
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/base.rb:532:in `process'
|
341
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/filters.rb:606:in `process_with_filters'
|
342
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/compass-0.10.6/lib/compass/app_integration/rails/actionpack2/action_controller.rb:7:in `process_with_compass'
|
343
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/base.rb:391:in `process'
|
344
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/base.rb:386:in `call'
|
345
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/routing/route_set.rb:438:in `call'
|
346
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/dispatcher.rb:87:in `dispatch'
|
347
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/dispatcher.rb:121:in `_call'
|
348
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/dispatcher.rb:130:in `block in build_middleware_stack'
|
349
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/activerecord-2.3.11/lib/active_record/query_cache.rb:29:in `call'
|
350
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/activerecord-2.3.11/lib/active_record/query_cache.rb:29:in `block in call'
|
351
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/activerecord-2.3.11/lib/active_record/connection_adapters/abstract/query_cache.rb:34:in `cache'
|
352
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/activerecord-2.3.11/lib/active_record/query_cache.rb:9:in `cache'
|
353
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/activerecord-2.3.11/lib/active_record/query_cache.rb:28:in `call'
|
354
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/activerecord-2.3.11/lib/active_record/connection_adapters/abstract/connection_pool.rb:361:in `call'
|
355
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/haml-3.0.25/lib/sass/plugin/rack.rb:41:in `call'
|
356
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/string_coercion.rb:25:in `call'
|
357
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/rack-1.1.0/lib/rack/head.rb:9:in `call'
|
358
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/rack-1.1.0/lib/rack/methodoverride.rb:24:in `call'
|
359
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/params_parser.rb:15:in `call'
|
360
|
+
/Users/isaac/Development/recurly/app/lib/xml_request_check.rb:10:in `call'
|
361
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/session/abstract_store.rb:177:in `call'
|
362
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/activesupport-2.3.11/lib/active_support/cache/strategy/local_cache.rb:25:in `call'
|
363
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/hoptoad_notifier-2.4.6/lib/hoptoad_notifier/rack.rb:27:in `call'
|
364
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/failsafe.rb:26:in `call'
|
365
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/hoptoad_notifier-2.4.6/lib/hoptoad_notifier/user_informer.rb:12:in `call'
|
366
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/dispatcher.rb:114:in `block in call'
|
367
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/reloader.rb:34:in `run'
|
368
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/actionpack-2.3.11/lib/action_controller/dispatcher.rb:108:in `call'
|
369
|
+
/Users/isaac/Development/recurly/app/lib/rack_rails_check.rb:16:in `call'
|
370
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/rack-fiber_pool-0.9.1/lib/rack/fiber_pool.rb:19:in `block in call'
|
371
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/rack-fiber_pool-0.9.1/lib/fiber_pool.rb:48:in `call'
|
372
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/rack-fiber_pool-0.9.1/lib/fiber_pool.rb:48:in `block (3 levels) in initialize'
|
373
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/rack-fiber_pool-0.9.1/lib/fiber_pool.rb:47:in `loop'
|
374
|
+
/Users/isaac/.rvm/gems/ruby-1.9.2-p0@recurly-app/gems/rack-fiber_pool-0.9.1/lib/fiber_pool.rb:47:in `block (2 levels) in initialize'</code></pre>
|
375
|
+
</div>
|
376
|
+
|
377
|
+
</div>
|
378
|
+
|
379
|
+
|
380
|
+
|
381
|
+
|
382
|
+
|
383
|
+
|
384
|
+
<h2 style="margin-top: 30px">Request</h2>
|
385
|
+
<p><b>Parameters</b>: <pre>{"subscription"=>{"plan_code"=>"paid",
|
386
|
+
"quantity"=>1,
|
387
|
+
"account"=>{"account_code"=>"subscription-addons-add-1297746103",
|
388
|
+
"first_name"=>"Verena",
|
389
|
+
"last_name"=>"Test",
|
390
|
+
"email"=>"verena@test.com",
|
391
|
+
"company_name"=>"Recurly Ruby Gem",
|
392
|
+
"billing_info"=>{"first_name"=>"Verena",
|
393
|
+
"last_name"=>"Test",
|
394
|
+
"address1"=>"123 Test St",
|
395
|
+
"city"=>"San Francisco",
|
396
|
+
"state"=>"CA",
|
397
|
+
"zip"=>"94115",
|
398
|
+
"country"=>"US",
|
399
|
+
"credit_card"=>{"number"=>"4111111111111111",
|
400
|
+
"year"=>2012,
|
401
|
+
"month"=>3,
|
402
|
+
"verification_value"=>"123"}},
|
403
|
+
"accept_language"=>nil,
|
404
|
+
"id"=>"subscription-addons-add-1297746103",
|
405
|
+
"username"=>nil,
|
406
|
+
"balance_in_cents"=>0,
|
407
|
+
"closed"=>false,
|
408
|
+
"hosted_login_token"=>"01235e075f454c61b47158e6d7557e91",
|
409
|
+
"created_at"=>2011-03-18 18:47:44 UTC,
|
410
|
+
"state"=>"active"},
|
411
|
+
"add_ons"=>[{"add_on_code"=>"special",
|
412
|
+
"quantity"=>1,
|
413
|
+
"unit_amount"=>10}],
|
414
|
+
"addons"=>[]},
|
415
|
+
"account_id"=>"subscription-addons-add-1297746103",
|
416
|
+
"format"=>"xml"}</pre></p>
|
417
|
+
|
418
|
+
<p><a href="#" onclick="document.getElementById('session_dump').style.display='block'; return false;">Show session dump</a></p>
|
419
|
+
<div id="session_dump" style="display:none"><pre class='debug_dump'>---
|
420
|
+
</pre></div>
|
421
|
+
|
422
|
+
|
423
|
+
<h2 style="margin-top: 30px">Response</h2>
|
424
|
+
<p><b>Headers</b>: <pre>{"Cache-Control"=>"no-cache",
|
425
|
+
"Content-Type"=>""}</pre></p>
|
426
|
+
|
427
|
+
|
428
|
+
|
429
|
+
</body>
|
430
|
+
</html><script type="text/javascript">
|
431
|
+
var Hoptoad = {
|
432
|
+
host : "hoptoadapp.com",
|
433
|
+
api_key : "2de5471006eea4f5e5711302a6d2c4fc",
|
434
|
+
notice : {"action":"create","component":"accounts/subscription","error_class":"NoMethodError","environment_name":"production","file":"[PROJECT_ROOT]/app/api/subscription_api.rb","line_number":"23"},
|
435
|
+
message : 'This error exists in production!',
|
436
|
+
|
437
|
+
initialize: function() {
|
438
|
+
if (this.initialized) {
|
439
|
+
return;
|
440
|
+
} else {
|
441
|
+
this.initialized = true;
|
442
|
+
}
|
443
|
+
|
444
|
+
var data = [];
|
445
|
+
|
446
|
+
for (var key in this.notice) {
|
447
|
+
data[data.length] = 'notice[' + key + ']=' + this.notice[key];
|
448
|
+
}
|
449
|
+
|
450
|
+
data[data.length] = 'notice[api_key]=' + this.api_key;
|
451
|
+
data[data.length] = 'callback=Hoptoad.onSuccess';
|
452
|
+
data[data.length] = '_=' + (new Date()).getTime();
|
453
|
+
|
454
|
+
var head = document.getElementsByTagName('head')[0];
|
455
|
+
var done = false;
|
456
|
+
|
457
|
+
var
|
458
|
+
script = document.createElement('script');
|
459
|
+
script.src = 'http://' + this.host + '/notices_api/v1/notices/exist?' +
|
460
|
+
data.join('&');
|
461
|
+
script.type = 'text/javascript';
|
462
|
+
script.onload = script.onreadystatechange = function(){
|
463
|
+
if (!done && (!this.readyState ||
|
464
|
+
this.readyState == 'loaded' || this.readyState == 'complete')) {
|
465
|
+
|
466
|
+
done = true;
|
467
|
+
|
468
|
+
// Handle memory leak in IE. (via jQuery)
|
469
|
+
script.onload = script.onreadystatechange = null;
|
470
|
+
head.removeChild(script);
|
471
|
+
}
|
472
|
+
};
|
473
|
+
|
474
|
+
head.appendChild(script);
|
475
|
+
},
|
476
|
+
|
477
|
+
onSuccess: function(error) {
|
478
|
+
var body = document.getElementsByTagName('body')[0];
|
479
|
+
var text = document.createTextNode(this.message);
|
480
|
+
var element = document.createElement('a');
|
481
|
+
|
482
|
+
element.id = 'hoptoad';
|
483
|
+
element.href = 'http://' + error.subdomain + '.' + this.host +
|
484
|
+
'/projects/' + error.project_id + '/errors/' + error.id;
|
485
|
+
element.appendChild(text);
|
486
|
+
|
487
|
+
body.insertBefore(element, body.firstChild);
|
488
|
+
|
489
|
+
var h1 = document.getElementsByTagName('h1')[0];
|
490
|
+
var pre = document.getElementsByTagName('pre')[0];
|
491
|
+
var wrapper = document.createElement('div');
|
492
|
+
|
493
|
+
wrapper.id = 'wrapper';
|
494
|
+
wrapper.appendChild(h1);
|
495
|
+
wrapper.appendChild(pre);
|
496
|
+
|
497
|
+
body.insertBefore(wrapper, body.children[1]);
|
498
|
+
}
|
499
|
+
};
|
500
|
+
|
501
|
+
window.onload = function() {
|
502
|
+
Hoptoad.initialize.apply(Hoptoad);
|
503
|
+
};
|
504
|
+
</script>
|
505
|
+
|
506
|
+
<style type="text/css">
|
507
|
+
#hoptoad {
|
508
|
+
background: #FFF url(http://hoptoadapp.com/images/fell-off-the-toad.gif) no-repeat top right;
|
509
|
+
color: #F00;
|
510
|
+
padding: 45px 101px 45px 12px;
|
511
|
+
font-size: 14px;
|
512
|
+
font-weight: bold;
|
513
|
+
display: block;
|
514
|
+
float: right;
|
515
|
+
}
|
516
|
+
|
517
|
+
#wrapper {
|
518
|
+
padding-right: 360px;
|
519
|
+
}
|
520
|
+
</style>
|
228
521
|
|
229
522
|
http_version: "1.1"
|