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.

Files changed (65) hide show
  1. data/lib/patches/rails2/active_resource/connection.rb +10 -0
  2. data/lib/patches/{active_resource → rails3/active_resource}/connection.rb +0 -0
  3. data/lib/recurly.rb +7 -2
  4. data/lib/recurly/transparent.rb +4 -1
  5. data/lib/recurly/version.rb +1 -1
  6. data/spec/integration/transaction_spec.rb +5 -2
  7. data/spec/unit/transparent_spec.rb +59 -1
  8. data/spec/vcr/account/accept-language-account/1297746103.yml +8 -11
  9. data/spec/vcr/account/close/1297746103.yml +23 -30
  10. data/spec/vcr/account/create-blank/1297746103.yml +5 -7
  11. data/spec/vcr/account/create-duplicate/1297746103.yml +13 -18
  12. data/spec/vcr/account/create-min/1297746103.yml +8 -11
  13. data/spec/vcr/account/create/1297746103.yml +8 -11
  14. data/spec/vcr/account/find/1297746103.yml +22 -29
  15. data/spec/vcr/account/list/1297746103.yml +150 -196
  16. data/spec/vcr/account/update/1297746103.yml +37 -46
  17. data/spec/vcr/billing/create/1298594128.yml +24 -31
  18. data/spec/vcr/billing/destroy/1298594128.yml +35 -46
  19. data/spec/vcr/billing/find/1298594128.yml +32 -41
  20. data/spec/vcr/billing/update/1298594128.yml +32 -41
  21. data/spec/vcr/charge/create/1297746103.yml +36 -45
  22. data/spec/vcr/charge/delete-uninvoiced/1297746103.yml +46 -59
  23. data/spec/vcr/charge/list-all/1297746103.yml +51 -62
  24. data/spec/vcr/charge/list-invoiced/1297746103.yml +82 -97
  25. data/spec/vcr/charge/list-pending/1297746103.yml +51 -62
  26. data/spec/vcr/charge/lookup/1297746103.yml +28 -35
  27. data/spec/vcr/coupon/create/1299714521.yml +23 -30
  28. data/spec/vcr/coupon/destroy/1299714521.yml +26 -35
  29. data/spec/vcr/credit/create/1299714599.yml +28 -35
  30. data/spec/vcr/credit/delete/1299714599.yml +41 -52
  31. data/spec/vcr/credit/list/1299714599.yml +51 -62
  32. data/spec/vcr/credit/lookup/1299714599.yml +28 -35
  33. data/spec/vcr/invoice/create-no-charges/1297746103.yml +21 -28
  34. data/spec/vcr/invoice/create/1297746103.yml +50 -61
  35. data/spec/vcr/invoice/list/1297746103.yml +73 -88
  36. data/spec/vcr/invoice/lookup/1297746103.yml +52 -63
  37. data/spec/vcr/plan/all.yml +18 -24
  38. data/spec/vcr/plan/find.yml +18 -24
  39. data/spec/vcr/plan/update.yml +18 -24
  40. data/spec/vcr/subscription/addons/add/1297746103.yml +331 -38
  41. data/spec/vcr/subscription/addons/create/1297746103.yml +331 -38
  42. data/spec/vcr/subscription/addons/remove/1297746103.yml +331 -38
  43. data/spec/vcr/subscription/cancel-with-code/1297746103.yml +71 -86
  44. data/spec/vcr/subscription/cancel/1297746103.yml +59 -72
  45. data/spec/vcr/subscription/change1/1297746103.yml +55 -68
  46. data/spec/vcr/subscription/change2/1297746103.yml +55 -68
  47. data/spec/vcr/subscription/create/1297746103.yml +25 -32
  48. data/spec/vcr/subscription/find/1297746103.yml +35 -44
  49. data/spec/vcr/subscription/reactivate/1297746103.yml +64 -79
  50. data/spec/vcr/subscription/refund-full/1297746103.yml +52 -65
  51. data/spec/vcr/subscription/refund-none/1297746103.yml +52 -65
  52. data/spec/vcr/subscription/refund-partial/1297746103.yml +52 -65
  53. data/spec/vcr/transaction/all/1300473500.yml +387 -0
  54. data/spec/vcr/transaction/create-no-account/{1297746103.yml → 1300473500.yml} +19 -22
  55. data/spec/vcr/transaction/create-with-account/{1297746103.yml → 1300473500.yml} +55 -43
  56. data/spec/vcr/transaction/list-filled/1300473500.yml +603 -0
  57. data/spec/vcr/transaction/list-initial/{1297746103.yml → 1300473500.yml} +45 -52
  58. data/spec/vcr/transaction/lookup/1300473500.yml +561 -0
  59. data/spec/vcr/transaction/refund/{1297746103.yml → 1300473500.yml} +113 -41
  60. data/spec/vcr/transaction/void/1300473500.yml +620 -0
  61. metadata +21 -20
  62. data/spec/vcr/transaction/all/1297746103.yml +0 -389
  63. data/spec/vcr/transaction/list-filled/1297746103.yml +0 -213
  64. data/spec/vcr/transaction/lookup/1297746103.yml +0 -213
  65. data/spec/vcr/transaction/void/1297746103.yml +0 -213
@@ -18,10 +18,10 @@
18
18
  response: !ruby/struct:VCR::Response
19
19
  status: !ruby/struct:VCR::ResponseStatus
20
20
  code: 200
21
- message: "OK "
21
+ message: OK
22
22
  headers:
23
23
  x-runtime:
24
- - "220"
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
- server:
34
- - WEBrick/1.3.1 (Ruby/1.9.2/2010-08-18)
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
- set-cookie:
40
- - _recurly_session=3f5428aba91d7e62f8b6639bac0fa117; domain=.recurly.local; path=/; HttpOnly
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: "OK "
86
+ message: OK
89
87
  headers:
90
88
  x-runtime:
91
- - "218"
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
- server:
101
- - WEBrick/1.3.1 (Ruby/1.9.2/2010-08-18)
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
- set-cookie:
107
- - _recurly_session=3a961936ca59e82c07eb55bd30d8b06f; domain=.recurly.local; path=/; HttpOnly
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: "OK "
151
+ message: OK
156
152
  headers:
157
153
  x-runtime:
158
- - "212"
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
- server:
168
- - WEBrick/1.3.1 (Ruby/1.9.2/2010-08-18)
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
- set-cookie:
174
- - _recurly_session=08ccab649761ba4326ede93adfb6164d; domain=.recurly.local; path=/; HttpOnly
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">
@@ -18,10 +18,10 @@
18
18
  response: !ruby/struct:VCR::Response
19
19
  status: !ruby/struct:VCR::ResponseStatus
20
20
  code: 200
21
- message: "OK "
21
+ message: OK
22
22
  headers:
23
23
  x-runtime:
24
- - "209"
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
- server:
34
- - WEBrick/1.3.1 (Ruby/1.9.2/2010-08-18)
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
- set-cookie:
40
- - _recurly_session=fcb5db8b958c125e407c1905e0bea577; domain=.recurly.local; path=/; HttpOnly
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: "OK "
86
+ message: OK
89
87
  headers:
90
88
  x-runtime:
91
- - "237"
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
- server:
101
- - WEBrick/1.3.1 (Ruby/1.9.2/2010-08-18)
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
- set-cookie:
107
- - _recurly_session=336562a6866b36d92c434fe5c2dee103; domain=.recurly.local; path=/; HttpOnly
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: "OK "
151
+ message: OK
156
152
  headers:
157
153
  x-runtime:
158
- - "214"
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
- server:
168
- - WEBrick/1.3.1 (Ruby/1.9.2/2010-08-18)
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
- set-cookie:
174
- - _recurly_session=0571f9a990de0455fdbc8236b2893a07; domain=.recurly.local; path=/; HttpOnly
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>
@@ -18,10 +18,10 @@
18
18
  response: !ruby/struct:VCR::Response
19
19
  status: !ruby/struct:VCR::ResponseStatus
20
20
  code: 200
21
- message: "OK "
21
+ message: OK
22
22
  headers:
23
23
  x-runtime:
24
- - "236"
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
- server:
34
- - WEBrick/1.3.1 (Ruby/1.9.2/2010-08-18)
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
- set-cookie:
40
- - _recurly_session=7f7cb33bfd8f8394f37e5a6b58b52211; domain=.recurly.local; path=/; HttpOnly
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: "OK "
114
+ message: OK
117
115
  headers:
118
116
  cache-control:
119
117
  - no-cache
120
118
  x-runtime:
121
- - "270"
119
+ - "339"
122
120
  content-type:
123
121
  - application/xml; charset=utf-8
124
122
  content-length:
125
123
  - "1"
126
- server:
127
- - WEBrick/1.3.1 (Ruby/1.9.2/2010-08-18)
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
- set-cookie:
133
- - _recurly_session=42ef38fa587f8afb70d2f35cee1fdee9; domain=.recurly.local; path=/; HttpOnly
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: "OK "
151
+ message: OK
156
152
  headers:
157
153
  x-runtime:
158
- - "214"
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
- server:
168
- - WEBrick/1.3.1 (Ruby/1.9.2/2010-08-18)
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
- set-cookie:
174
- - _recurly_session=462c1632920ef5a5b620008fe0345169; domain=.recurly.local; path=/; HttpOnly
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: "Created "
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
- - "391"
42
+ - "600"
43
43
  content-type:
44
44
  - application/xml; charset=utf-8
45
45
  content-length:
46
46
  - "601"
47
- server:
48
- - WEBrick/1.3.1 (Ruby/1.9.2/2010-08-18)
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
- set-cookie:
54
- - account_credentials=4ccc504a76430f7b63c2e8e78ed87e420ddf65efcd631d2da76fb0ae75db3c245bb7636aebcfa34e915a66a86ac7b2672ba6a1bfc6315bab7bd813f866cfe3b6%3A%3A; domain=.recurly.local; path=/
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>093405440db5433a92c7cd8474b69070</hosted_login_token>
69
- <created_at type="datetime">2011-03-11T18:47:36Z</created_at>
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: "OK "
90
+ message: OK
94
91
  headers:
95
92
  x-runtime:
96
- - "191"
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
- server:
106
- - WEBrick/1.3.1 (Ruby/1.9.2/2010-08-18)
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
- set-cookie:
112
- - _recurly_session=fd44e1da144f48392f7f9d94d274f6d5; domain=.recurly.local; path=/; HttpOnly
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>093405440db5433a92c7cd8474b69070</hosted-login-token>
177
- <created-at type="datetime">2011-03-11T18:47:36Z</created-at>
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: 422
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
- - application/xml; charset=utf-8
204
+ - text/html; charset=utf-8
212
205
  content-length:
213
- - "228"
214
- server:
215
- - WEBrick/1.3.1 (Ruby/1.9.2/2010-08-18)
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
- set-cookie:
221
- - _recurly_session=364bf53f41dbe92a2745a379946a1d2f; domain=.recurly.local; path=/; HttpOnly
211
+ server:
212
+ - thin 1.2.7 codename No Hup
222
213
  body: |
223
- <?xml version="1.0" encoding="UTF-8"?>
224
- <errors>
225
- <error field="subscriptions">Subscriptions is invalid</error>
226
- <error field="subscription_add_ons.add_on_id">Subscription add ons.add on Add On Code not found</error>
227
- </errors>
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>{&quot;subscription&quot;=&gt;{&quot;plan_code&quot;=&gt;&quot;paid&quot;,
386
+ &quot;quantity&quot;=&gt;1,
387
+ &quot;account&quot;=&gt;{&quot;account_code&quot;=&gt;&quot;subscription-addons-add-1297746103&quot;,
388
+ &quot;first_name&quot;=&gt;&quot;Verena&quot;,
389
+ &quot;last_name&quot;=&gt;&quot;Test&quot;,
390
+ &quot;email&quot;=&gt;&quot;verena@test.com&quot;,
391
+ &quot;company_name&quot;=&gt;&quot;Recurly Ruby Gem&quot;,
392
+ &quot;billing_info&quot;=&gt;{&quot;first_name&quot;=&gt;&quot;Verena&quot;,
393
+ &quot;last_name&quot;=&gt;&quot;Test&quot;,
394
+ &quot;address1&quot;=&gt;&quot;123 Test St&quot;,
395
+ &quot;city&quot;=&gt;&quot;San Francisco&quot;,
396
+ &quot;state&quot;=&gt;&quot;CA&quot;,
397
+ &quot;zip&quot;=&gt;&quot;94115&quot;,
398
+ &quot;country&quot;=&gt;&quot;US&quot;,
399
+ &quot;credit_card&quot;=&gt;{&quot;number&quot;=&gt;&quot;4111111111111111&quot;,
400
+ &quot;year&quot;=&gt;2012,
401
+ &quot;month&quot;=&gt;3,
402
+ &quot;verification_value&quot;=&gt;&quot;123&quot;}},
403
+ &quot;accept_language&quot;=&gt;nil,
404
+ &quot;id&quot;=&gt;&quot;subscription-addons-add-1297746103&quot;,
405
+ &quot;username&quot;=&gt;nil,
406
+ &quot;balance_in_cents&quot;=&gt;0,
407
+ &quot;closed&quot;=&gt;false,
408
+ &quot;hosted_login_token&quot;=&gt;&quot;01235e075f454c61b47158e6d7557e91&quot;,
409
+ &quot;created_at&quot;=&gt;2011-03-18 18:47:44 UTC,
410
+ &quot;state&quot;=&gt;&quot;active&quot;},
411
+ &quot;add_ons&quot;=&gt;[{&quot;add_on_code&quot;=&gt;&quot;special&quot;,
412
+ &quot;quantity&quot;=&gt;1,
413
+ &quot;unit_amount&quot;=&gt;10}],
414
+ &quot;addons&quot;=&gt;[]},
415
+ &quot;account_id&quot;=&gt;&quot;subscription-addons-add-1297746103&quot;,
416
+ &quot;format&quot;=&gt;&quot;xml&quot;}</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>{&quot;Cache-Control&quot;=&gt;&quot;no-cache&quot;,
425
+ &quot;Content-Type&quot;=&gt;&quot;&quot;}</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"