jirafe 0.8.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,594 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://data.jirafe.dev/piwik.php?
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers: {}
10
+ response:
11
+ status:
12
+ code: 200
13
+ message: !binary |-
14
+ T0s=
15
+ headers:
16
+ !binary "U2VydmVy":
17
+ - !binary |-
18
+ bmdpbngvMS4yLjI=
19
+ !binary "RGF0ZQ==":
20
+ - !binary |-
21
+ VGh1LCAyMCBTZXAgMjAxMiAxNTo0NTo1MyBHTVQ=
22
+ !binary "Q29udGVudC1UeXBl":
23
+ - !binary |-
24
+ aW1hZ2UvZ2lm
25
+ !binary "VHJhbnNmZXItRW5jb2Rpbmc=":
26
+ - !binary |-
27
+ Y2h1bmtlZA==
28
+ !binary "Q29ubmVjdGlvbg==":
29
+ - !binary |-
30
+ a2VlcC1hbGl2ZQ==
31
+ !binary "S2VlcC1BbGl2ZQ==":
32
+ - !binary |-
33
+ dGltZW91dD0xMA==
34
+ !binary "WC1Qb3dlcmVkLUJ5":
35
+ - !binary |-
36
+ UEhQLzUuMy4xNQ==
37
+ !binary "Q2FjaGUtQ29udHJvbA==":
38
+ - !binary |-
39
+ bm8tY2FjaGUsIG11c3QtcmV2YWxpZGF0ZQ==
40
+ !binary "RXhwaXJlcw==":
41
+ - !binary |-
42
+ U2F0LCAyNiBKdWwgMTk5NyAwNTowMDowMCBHTVQ=
43
+ !binary "Q29udGVudC1MZW5naHQ=":
44
+ - !binary |-
45
+ NDM=
46
+ body:
47
+ encoding: ASCII-8BIT
48
+ string: !binary |-
49
+ R0lGODlhAQABAIAAAP///wAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==
50
+ http_version:
51
+ recorded_at: Thu, 20 Sep 2012 15:45:53 GMT
52
+ - request:
53
+ method: get
54
+ uri: http://data.jirafe.dev/piwik.php?items=&revenue=&site_id=&visitor=
55
+ body:
56
+ encoding: US-ASCII
57
+ string: ''
58
+ headers: {}
59
+ response:
60
+ status:
61
+ code: 200
62
+ message: !binary |-
63
+ T0s=
64
+ headers:
65
+ !binary "U2VydmVy":
66
+ - !binary |-
67
+ bmdpbngvMS4yLjI=
68
+ !binary "RGF0ZQ==":
69
+ - !binary |-
70
+ VGh1LCAyMCBTZXAgMjAxMiAxNTo0OTo0NyBHTVQ=
71
+ !binary "Q29udGVudC1UeXBl":
72
+ - !binary |-
73
+ aW1hZ2UvZ2lm
74
+ !binary "VHJhbnNmZXItRW5jb2Rpbmc=":
75
+ - !binary |-
76
+ Y2h1bmtlZA==
77
+ !binary "Q29ubmVjdGlvbg==":
78
+ - !binary |-
79
+ a2VlcC1hbGl2ZQ==
80
+ !binary "S2VlcC1BbGl2ZQ==":
81
+ - !binary |-
82
+ dGltZW91dD0xMA==
83
+ !binary "WC1Qb3dlcmVkLUJ5":
84
+ - !binary |-
85
+ UEhQLzUuMy4xNQ==
86
+ !binary "Q2FjaGUtQ29udHJvbA==":
87
+ - !binary |-
88
+ bm8tY2FjaGUsIG11c3QtcmV2YWxpZGF0ZQ==
89
+ !binary "RXhwaXJlcw==":
90
+ - !binary |-
91
+ U2F0LCAyNiBKdWwgMTk5NyAwNTowMDowMCBHTVQ=
92
+ !binary "Q29udGVudC1MZW5naHQ=":
93
+ - !binary |-
94
+ NDM=
95
+ body:
96
+ encoding: ASCII-8BIT
97
+ string: !binary |-
98
+ R0lGODlhAQABAIAAAP///wAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==
99
+ http_version:
100
+ recorded_at: Thu, 20 Sep 2012 15:49:47 GMT
101
+ - request:
102
+ method: get
103
+ uri: http://data.jirafe.dev/piwik.php?cid=&ec_items=&idsite=&revenue=
104
+ body:
105
+ encoding: US-ASCII
106
+ string: ''
107
+ headers: {}
108
+ response:
109
+ status:
110
+ code: 200
111
+ message: !binary |-
112
+ T0s=
113
+ headers:
114
+ !binary "U2VydmVy":
115
+ - !binary |-
116
+ bmdpbngvMS4yLjI=
117
+ !binary "RGF0ZQ==":
118
+ - !binary |-
119
+ VGh1LCAyMCBTZXAgMjAxMiAxNTo1MDo1NCBHTVQ=
120
+ !binary "Q29udGVudC1UeXBl":
121
+ - !binary |-
122
+ aW1hZ2UvZ2lm
123
+ !binary "VHJhbnNmZXItRW5jb2Rpbmc=":
124
+ - !binary |-
125
+ Y2h1bmtlZA==
126
+ !binary "Q29ubmVjdGlvbg==":
127
+ - !binary |-
128
+ a2VlcC1hbGl2ZQ==
129
+ !binary "S2VlcC1BbGl2ZQ==":
130
+ - !binary |-
131
+ dGltZW91dD0xMA==
132
+ !binary "WC1Qb3dlcmVkLUJ5":
133
+ - !binary |-
134
+ UEhQLzUuMy4xNQ==
135
+ !binary "Q2FjaGUtQ29udHJvbA==":
136
+ - !binary |-
137
+ bm8tY2FjaGUsIG11c3QtcmV2YWxpZGF0ZQ==
138
+ !binary "RXhwaXJlcw==":
139
+ - !binary |-
140
+ U2F0LCAyNiBKdWwgMTk5NyAwNTowMDowMCBHTVQ=
141
+ !binary "Q29udGVudC1MZW5naHQ=":
142
+ - !binary |-
143
+ NDM=
144
+ body:
145
+ encoding: ASCII-8BIT
146
+ string: !binary |-
147
+ R0lGODlhAQABAIAAAP///wAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==
148
+ http_version:
149
+ recorded_at: Thu, 20 Sep 2012 15:50:54 GMT
150
+ - request:
151
+ method: get
152
+ uri: http://data.jirafe.dev/piwik.php?cid=&ec_items%5B0%5D=%5B123,%22Widget1%22,%22things%22,%2245.1200%22,2%5D&idsite=1&revenue=45.12
153
+ body:
154
+ encoding: US-ASCII
155
+ string: ''
156
+ headers: {}
157
+ response:
158
+ status:
159
+ code: 200
160
+ message: !binary |-
161
+ T0s=
162
+ headers:
163
+ !binary "U2VydmVy":
164
+ - !binary |-
165
+ bmdpbngvMS4yLjI=
166
+ !binary "RGF0ZQ==":
167
+ - !binary |-
168
+ VGh1LCAyMCBTZXAgMjAxMiAxNjowNDoxNyBHTVQ=
169
+ !binary "Q29udGVudC1UeXBl":
170
+ - !binary |-
171
+ aW1hZ2UvZ2lm
172
+ !binary "VHJhbnNmZXItRW5jb2Rpbmc=":
173
+ - !binary |-
174
+ Y2h1bmtlZA==
175
+ !binary "Q29ubmVjdGlvbg==":
176
+ - !binary |-
177
+ a2VlcC1hbGl2ZQ==
178
+ !binary "S2VlcC1BbGl2ZQ==":
179
+ - !binary |-
180
+ dGltZW91dD0xMA==
181
+ !binary "WC1Qb3dlcmVkLUJ5":
182
+ - !binary |-
183
+ UEhQLzUuMy4xNQ==
184
+ !binary "Q2FjaGUtQ29udHJvbA==":
185
+ - !binary |-
186
+ bm8tY2FjaGUsIG11c3QtcmV2YWxpZGF0ZQ==
187
+ !binary "RXhwaXJlcw==":
188
+ - !binary |-
189
+ U2F0LCAyNiBKdWwgMTk5NyAwNTowMDowMCBHTVQ=
190
+ !binary "Q29udGVudC1MZW5naHQ=":
191
+ - !binary |-
192
+ NDM=
193
+ body:
194
+ encoding: ASCII-8BIT
195
+ string: !binary |-
196
+ PGJyIC8+Cjxmb250IHNpemU9JzEnPjx0YWJsZSBjbGFzcz0neGRlYnVnLWVy
197
+ cm9yIHhlLXdhcm5pbmcnIGRpcj0nbHRyJyBib3JkZXI9JzEnIGNlbGxzcGFj
198
+ aW5nPScwJyBjZWxscGFkZGluZz0nMSc+Cjx0cj48dGggYWxpZ249J2xlZnQn
199
+ IGJnY29sb3I9JyNmNTc5MDAnIGNvbHNwYW49IjUiPjxzcGFuIHN0eWxlPSdi
200
+ YWNrZ3JvdW5kLWNvbG9yOiAjY2MwMDAwOyBjb2xvcjogI2ZjZTk0ZjsgZm9u
201
+ dC1zaXplOiB4LWxhcmdlOyc+KCAhICk8L3NwYW4+IFdhcm5pbmc6IGpzb25f
202
+ ZGVjb2RlKCkgZXhwZWN0cyBwYXJhbWV0ZXIgMSB0byBiZSBzdHJpbmcsIGFy
203
+ cmF5IGdpdmVuIGluIC9Vc2Vycy9zY2h1YmVydC93b3Jrc3BhY2UvamlyYWZl
204
+ L3RyYWNrZXIvc3JjL0ppcmFmZS9UcmFja2VyL01vZGVsL0N1c3RvbUluZm9y
205
+ bWF0aW9ucy5waHAgb24gbGluZSA8aT45MDwvaT48L3RoPjwvdHI+Cjx0cj48
206
+ dGggYWxpZ249J2xlZnQnIGJnY29sb3I9JyNlOWI5NmUnIGNvbHNwYW49JzUn
207
+ PkNhbGwgU3RhY2s8L3RoPjwvdHI+Cjx0cj48dGggYWxpZ249J2NlbnRlcicg
208
+ Ymdjb2xvcj0nI2VlZWVlYyc+IzwvdGg+PHRoIGFsaWduPSdsZWZ0JyBiZ2Nv
209
+ bG9yPScjZWVlZWVjJz5UaW1lPC90aD48dGggYWxpZ249J2xlZnQnIGJnY29s
210
+ b3I9JyNlZWVlZWMnPk1lbW9yeTwvdGg+PHRoIGFsaWduPSdsZWZ0JyBiZ2Nv
211
+ bG9yPScjZWVlZWVjJz5GdW5jdGlvbjwvdGg+PHRoIGFsaWduPSdsZWZ0JyBi
212
+ Z2NvbG9yPScjZWVlZWVjJz5Mb2NhdGlvbjwvdGg+PC90cj4KPHRyPjx0ZCBi
213
+ Z2NvbG9yPScjZWVlZWVjJyBhbGlnbj0nY2VudGVyJz4xPC90ZD48dGQgYmdj
214
+ b2xvcj0nI2VlZWVlYycgYWxpZ249J2NlbnRlcic+MC4wMDExPC90ZD48dGQg
215
+ Ymdjb2xvcj0nI2VlZWVlYycgYWxpZ249J3JpZ2h0Jz42MzQ2NjQ8L3RkPjx0
216
+ ZCBiZ2NvbG9yPScjZWVlZWVjJz57bWFpbn0oICApPC90ZD48dGQgdGl0bGU9
217
+ Jy9Vc2Vycy9zY2h1YmVydC93b3Jrc3BhY2UvamlyYWZlL3RyYWNrZXIvd3d3
218
+ L3Bpd2lrLnBocCcgYmdjb2xvcj0nI2VlZWVlYyc+Li4vcGl3aWsucGhwPGI+
219
+ OjwvYj4wPC90ZD48L3RyPgo8dHI+PHRkIGJnY29sb3I9JyNlZWVlZWMnIGFs
220
+ aWduPSdjZW50ZXInPjI8L3RkPjx0ZCBiZ2NvbG9yPScjZWVlZWVjJyBhbGln
221
+ bj0nY2VudGVyJz4wLjAwNTE8L3RkPjx0ZCBiZ2NvbG9yPScjZWVlZWVjJyBh
222
+ bGlnbj0ncmlnaHQnPjcyMzEwNDwvdGQ+PHRkIGJnY29sb3I9JyNlZWVlZWMn
223
+ PkppcmFmZVxUcmFja2VyXEtlcm5lbC0+aGFuZGxlUmVxdWVzdEZvclJlYXBl
224
+ clF1ZXVlKCAgKTwvdGQ+PHRkIHRpdGxlPScvVXNlcnMvc2NodWJlcnQvd29y
225
+ a3NwYWNlL2ppcmFmZS90cmFja2VyL3d3dy9waXdpay5waHAnIGJnY29sb3I9
226
+ JyNlZWVlZWMnPi4uL3Bpd2lrLnBocDxiPjo8L2I+Mjk8L3RkPjwvdHI+Cjx0
227
+ cj48dGQgYmdjb2xvcj0nI2VlZWVlYycgYWxpZ249J2NlbnRlcic+MzwvdGQ+
228
+ PHRkIGJnY29sb3I9JyNlZWVlZWMnIGFsaWduPSdjZW50ZXInPjAuMDA1Mjwv
229
+ dGQ+PHRkIGJnY29sb3I9JyNlZWVlZWMnIGFsaWduPSdyaWdodCc+NzI0MDk2
230
+ PC90ZD48dGQgYmdjb2xvcj0nI2VlZWVlYyc+SmlyYWZlXFRyYWNrZXJcUGFy
231
+ c2VyXENhcnRBY3Rpb25QYXJzZXItPnBhcnNlKCAgKTwvdGQ+PHRkIHRpdGxl
232
+ PScvVXNlcnMvc2NodWJlcnQvd29ya3NwYWNlL2ppcmFmZS90cmFja2VyL3Ny
233
+ Yy9KaXJhZmUvVHJhY2tlci9LZXJuZWwucGhwJyBiZ2NvbG9yPScjZWVlZWVj
234
+ Jz4uLi9LZXJuZWwucGhwPGI+OjwvYj4yNjwvdGQ+PC90cj4KPHRyPjx0ZCBi
235
+ Z2NvbG9yPScjZWVlZWVjJyBhbGlnbj0nY2VudGVyJz40PC90ZD48dGQgYmdj
236
+ b2xvcj0nI2VlZWVlYycgYWxpZ249J2NlbnRlcic+MC4wMDUyPC90ZD48dGQg
237
+ Ymdjb2xvcj0nI2VlZWVlYycgYWxpZ249J3JpZ2h0Jz43MjQwOTY8L3RkPjx0
238
+ ZCBiZ2NvbG9yPScjZWVlZWVjJz5KaXJhZmVcVHJhY2tlclxQYXJzZXJcQ2Fy
239
+ dEFjdGlvblBhcnNlci0+aGFuZGxlQ2FydEFjdGlvbiggICk8L3RkPjx0ZCB0
240
+ aXRsZT0nL1VzZXJzL3NjaHViZXJ0L3dvcmtzcGFjZS9qaXJhZmUvdHJhY2tl
241
+ ci9zcmMvSmlyYWZlL1RyYWNrZXIvUGFyc2VyL0NhcnRBY3Rpb25QYXJzZXIu
242
+ cGhwJyBiZ2NvbG9yPScjZWVlZWVjJz4uLi9DYXJ0QWN0aW9uUGFyc2VyLnBo
243
+ cDxiPjo8L2I+MjI8L3RkPjwvdHI+Cjx0cj48dGQgYmdjb2xvcj0nI2VlZWVl
244
+ YycgYWxpZ249J2NlbnRlcic+NTwvdGQ+PHRkIGJnY29sb3I9JyNlZWVlZWMn
245
+ IGFsaWduPSdjZW50ZXInPjAuMDA1NDwvdGQ+PHRkIGJnY29sb3I9JyNlZWVl
246
+ ZWMnIGFsaWduPSdyaWdodCc+NzI4NzkyPC90ZD48dGQgYmdjb2xvcj0nI2Vl
247
+ ZWVlYyc+SmlyYWZlXFRyYWNrZXJcTW9kZWxcQ3VzdG9tSW5mb3JtYXRpb25z
248
+ LT5fX2NvbnN0cnVjdCggICk8L3RkPjx0ZCB0aXRsZT0nL1VzZXJzL3NjaHVi
249
+ ZXJ0L3dvcmtzcGFjZS9qaXJhZmUvdHJhY2tlci9zcmMvSmlyYWZlL1RyYWNr
250
+ ZXIvUGFyc2VyL0NhcnRBY3Rpb25QYXJzZXIucGhwJyBiZ2NvbG9yPScjZWVl
251
+ ZWVjJz4uLi9DYXJ0QWN0aW9uUGFyc2VyLnBocDxiPjo8L2I+Njg8L3RkPjwv
252
+ dHI+Cjx0cj48dGQgYmdjb2xvcj0nI2VlZWVlYycgYWxpZ249J2NlbnRlcic+
253
+ NjwvdGQ+PHRkIGJnY29sb3I9JyNlZWVlZWMnIGFsaWduPSdjZW50ZXInPjAu
254
+ MDA1NDwvdGQ+PHRkIGJnY29sb3I9JyNlZWVlZWMnIGFsaWduPSdyaWdodCc+
255
+ NzI5MTA0PC90ZD48dGQgYmdjb2xvcj0nI2VlZWVlYyc+SmlyYWZlXFRyYWNr
256
+ ZXJcTW9kZWxcQ3VzdG9tSW5mb3JtYXRpb25zLT5kZWNvZGVDYXJ0SW5mb3Mo
257
+ ICApPC90ZD48dGQgdGl0bGU9Jy9Vc2Vycy9zY2h1YmVydC93b3Jrc3BhY2Uv
258
+ amlyYWZlL3RyYWNrZXIvc3JjL0ppcmFmZS9UcmFja2VyL01vZGVsL0N1c3Rv
259
+ bUluZm9ybWF0aW9ucy5waHAnIGJnY29sb3I9JyNlZWVlZWMnPi4uL0N1c3Rv
260
+ bUluZm9ybWF0aW9ucy5waHA8Yj46PC9iPjMwPC90ZD48L3RyPgo8dHI+PHRk
261
+ IGJnY29sb3I9JyNlZWVlZWMnIGFsaWduPSdjZW50ZXInPjc8L3RkPjx0ZCBi
262
+ Z2NvbG9yPScjZWVlZWVjJyBhbGlnbj0nY2VudGVyJz4wLjAwNTQ8L3RkPjx0
263
+ ZCBiZ2NvbG9yPScjZWVlZWVjJyBhbGlnbj0ncmlnaHQnPjcyOTIwMDwvdGQ+
264
+ PHRkIGJnY29sb3I9JyNlZWVlZWMnPjxhIGhyZWY9J2h0dHA6Ly93d3cucGhw
265
+ Lm5ldC9qc29uX2RlY29kZScgdGFyZ2V0PSdfbmV3Jz5qc29uX2RlY29kZTwv
266
+ YT4KKCAgKTwvdGQ+PHRkIHRpdGxlPScvVXNlcnMvc2NodWJlcnQvd29ya3Nw
267
+ YWNlL2ppcmFmZS90cmFja2VyL3NyYy9KaXJhZmUvVHJhY2tlci9Nb2RlbC9D
268
+ dXN0b21JbmZvcm1hdGlvbnMucGhwJyBiZ2NvbG9yPScjZWVlZWVjJz4uLi9D
269
+ dXN0b21JbmZvcm1hdGlvbnMucGhwPGI+OjwvYj45MDwvdGQ+PC90cj4KPC90
270
+ YWJsZT48L2ZvbnQ+CkdJRjg5YQEAAQCAAAD///8AAAAh+QQAAAAAACwAAAAA
271
+ AQABAAACAkQBADs=
272
+ http_version:
273
+ recorded_at: Thu, 20 Sep 2012 16:04:17 GMT
274
+ - request:
275
+ method: get
276
+ uri: http://data.jirafe.dev/piwik.php?cid=&ec_items%5B0%5D=%5B123,%22Widget1%22,%22things%22,%2245.1200%22,2%5D&idsite=1&revenue=45.1200
277
+ body:
278
+ encoding: US-ASCII
279
+ string: ''
280
+ headers: {}
281
+ response:
282
+ status:
283
+ code: 200
284
+ message: !binary |-
285
+ T0s=
286
+ headers:
287
+ !binary "U2VydmVy":
288
+ - !binary |-
289
+ bmdpbngvMS4yLjI=
290
+ !binary "RGF0ZQ==":
291
+ - !binary |-
292
+ VGh1LCAyMCBTZXAgMjAxMiAxNjowNToxNCBHTVQ=
293
+ !binary "Q29udGVudC1UeXBl":
294
+ - !binary |-
295
+ aW1hZ2UvZ2lm
296
+ !binary "VHJhbnNmZXItRW5jb2Rpbmc=":
297
+ - !binary |-
298
+ Y2h1bmtlZA==
299
+ !binary "Q29ubmVjdGlvbg==":
300
+ - !binary |-
301
+ a2VlcC1hbGl2ZQ==
302
+ !binary "S2VlcC1BbGl2ZQ==":
303
+ - !binary |-
304
+ dGltZW91dD0xMA==
305
+ !binary "WC1Qb3dlcmVkLUJ5":
306
+ - !binary |-
307
+ UEhQLzUuMy4xNQ==
308
+ !binary "Q2FjaGUtQ29udHJvbA==":
309
+ - !binary |-
310
+ bm8tY2FjaGUsIG11c3QtcmV2YWxpZGF0ZQ==
311
+ !binary "RXhwaXJlcw==":
312
+ - !binary |-
313
+ U2F0LCAyNiBKdWwgMTk5NyAwNTowMDowMCBHTVQ=
314
+ !binary "Q29udGVudC1MZW5naHQ=":
315
+ - !binary |-
316
+ NDM=
317
+ body:
318
+ encoding: ASCII-8BIT
319
+ string: !binary |-
320
+ PGJyIC8+Cjxmb250IHNpemU9JzEnPjx0YWJsZSBjbGFzcz0neGRlYnVnLWVy
321
+ cm9yIHhlLXdhcm5pbmcnIGRpcj0nbHRyJyBib3JkZXI9JzEnIGNlbGxzcGFj
322
+ aW5nPScwJyBjZWxscGFkZGluZz0nMSc+Cjx0cj48dGggYWxpZ249J2xlZnQn
323
+ IGJnY29sb3I9JyNmNTc5MDAnIGNvbHNwYW49IjUiPjxzcGFuIHN0eWxlPSdi
324
+ YWNrZ3JvdW5kLWNvbG9yOiAjY2MwMDAwOyBjb2xvcjogI2ZjZTk0ZjsgZm9u
325
+ dC1zaXplOiB4LWxhcmdlOyc+KCAhICk8L3NwYW4+IFdhcm5pbmc6IGpzb25f
326
+ ZGVjb2RlKCkgZXhwZWN0cyBwYXJhbWV0ZXIgMSB0byBiZSBzdHJpbmcsIGFy
327
+ cmF5IGdpdmVuIGluIC9Vc2Vycy9zY2h1YmVydC93b3Jrc3BhY2UvamlyYWZl
328
+ L3RyYWNrZXIvc3JjL0ppcmFmZS9UcmFja2VyL01vZGVsL0N1c3RvbUluZm9y
329
+ bWF0aW9ucy5waHAgb24gbGluZSA8aT45MDwvaT48L3RoPjwvdHI+Cjx0cj48
330
+ dGggYWxpZ249J2xlZnQnIGJnY29sb3I9JyNlOWI5NmUnIGNvbHNwYW49JzUn
331
+ PkNhbGwgU3RhY2s8L3RoPjwvdHI+Cjx0cj48dGggYWxpZ249J2NlbnRlcicg
332
+ Ymdjb2xvcj0nI2VlZWVlYyc+IzwvdGg+PHRoIGFsaWduPSdsZWZ0JyBiZ2Nv
333
+ bG9yPScjZWVlZWVjJz5UaW1lPC90aD48dGggYWxpZ249J2xlZnQnIGJnY29s
334
+ b3I9JyNlZWVlZWMnPk1lbW9yeTwvdGg+PHRoIGFsaWduPSdsZWZ0JyBiZ2Nv
335
+ bG9yPScjZWVlZWVjJz5GdW5jdGlvbjwvdGg+PHRoIGFsaWduPSdsZWZ0JyBi
336
+ Z2NvbG9yPScjZWVlZWVjJz5Mb2NhdGlvbjwvdGg+PC90cj4KPHRyPjx0ZCBi
337
+ Z2NvbG9yPScjZWVlZWVjJyBhbGlnbj0nY2VudGVyJz4xPC90ZD48dGQgYmdj
338
+ b2xvcj0nI2VlZWVlYycgYWxpZ249J2NlbnRlcic+MC4wMDExPC90ZD48dGQg
339
+ Ymdjb2xvcj0nI2VlZWVlYycgYWxpZ249J3JpZ2h0Jz42MzQ2ODg8L3RkPjx0
340
+ ZCBiZ2NvbG9yPScjZWVlZWVjJz57bWFpbn0oICApPC90ZD48dGQgdGl0bGU9
341
+ Jy9Vc2Vycy9zY2h1YmVydC93b3Jrc3BhY2UvamlyYWZlL3RyYWNrZXIvd3d3
342
+ L3Bpd2lrLnBocCcgYmdjb2xvcj0nI2VlZWVlYyc+Li4vcGl3aWsucGhwPGI+
343
+ OjwvYj4wPC90ZD48L3RyPgo8dHI+PHRkIGJnY29sb3I9JyNlZWVlZWMnIGFs
344
+ aWduPSdjZW50ZXInPjI8L3RkPjx0ZCBiZ2NvbG9yPScjZWVlZWVjJyBhbGln
345
+ bj0nY2VudGVyJz4wLjAwNTk8L3RkPjx0ZCBiZ2NvbG9yPScjZWVlZWVjJyBh
346
+ bGlnbj0ncmlnaHQnPjcyMzEyODwvdGQ+PHRkIGJnY29sb3I9JyNlZWVlZWMn
347
+ PkppcmFmZVxUcmFja2VyXEtlcm5lbC0+aGFuZGxlUmVxdWVzdEZvclJlYXBl
348
+ clF1ZXVlKCAgKTwvdGQ+PHRkIHRpdGxlPScvVXNlcnMvc2NodWJlcnQvd29y
349
+ a3NwYWNlL2ppcmFmZS90cmFja2VyL3d3dy9waXdpay5waHAnIGJnY29sb3I9
350
+ JyNlZWVlZWMnPi4uL3Bpd2lrLnBocDxiPjo8L2I+Mjk8L3RkPjwvdHI+Cjx0
351
+ cj48dGQgYmdjb2xvcj0nI2VlZWVlYycgYWxpZ249J2NlbnRlcic+MzwvdGQ+
352
+ PHRkIGJnY29sb3I9JyNlZWVlZWMnIGFsaWduPSdjZW50ZXInPjAuMDA2MTwv
353
+ dGQ+PHRkIGJnY29sb3I9JyNlZWVlZWMnIGFsaWduPSdyaWdodCc+NzI0MTIw
354
+ PC90ZD48dGQgYmdjb2xvcj0nI2VlZWVlYyc+SmlyYWZlXFRyYWNrZXJcUGFy
355
+ c2VyXENhcnRBY3Rpb25QYXJzZXItPnBhcnNlKCAgKTwvdGQ+PHRkIHRpdGxl
356
+ PScvVXNlcnMvc2NodWJlcnQvd29ya3NwYWNlL2ppcmFmZS90cmFja2VyL3Ny
357
+ Yy9KaXJhZmUvVHJhY2tlci9LZXJuZWwucGhwJyBiZ2NvbG9yPScjZWVlZWVj
358
+ Jz4uLi9LZXJuZWwucGhwPGI+OjwvYj4yNjwvdGQ+PC90cj4KPHRyPjx0ZCBi
359
+ Z2NvbG9yPScjZWVlZWVjJyBhbGlnbj0nY2VudGVyJz40PC90ZD48dGQgYmdj
360
+ b2xvcj0nI2VlZWVlYycgYWxpZ249J2NlbnRlcic+MC4wMDYxPC90ZD48dGQg
361
+ Ymdjb2xvcj0nI2VlZWVlYycgYWxpZ249J3JpZ2h0Jz43MjQxMjA8L3RkPjx0
362
+ ZCBiZ2NvbG9yPScjZWVlZWVjJz5KaXJhZmVcVHJhY2tlclxQYXJzZXJcQ2Fy
363
+ dEFjdGlvblBhcnNlci0+aGFuZGxlQ2FydEFjdGlvbiggICk8L3RkPjx0ZCB0
364
+ aXRsZT0nL1VzZXJzL3NjaHViZXJ0L3dvcmtzcGFjZS9qaXJhZmUvdHJhY2tl
365
+ ci9zcmMvSmlyYWZlL1RyYWNrZXIvUGFyc2VyL0NhcnRBY3Rpb25QYXJzZXIu
366
+ cGhwJyBiZ2NvbG9yPScjZWVlZWVjJz4uLi9DYXJ0QWN0aW9uUGFyc2VyLnBo
367
+ cDxiPjo8L2I+MjI8L3RkPjwvdHI+Cjx0cj48dGQgYmdjb2xvcj0nI2VlZWVl
368
+ YycgYWxpZ249J2NlbnRlcic+NTwvdGQ+PHRkIGJnY29sb3I9JyNlZWVlZWMn
369
+ IGFsaWduPSdjZW50ZXInPjAuMDA2MzwvdGQ+PHRkIGJnY29sb3I9JyNlZWVl
370
+ ZWMnIGFsaWduPSdyaWdodCc+NzI4ODE2PC90ZD48dGQgYmdjb2xvcj0nI2Vl
371
+ ZWVlYyc+SmlyYWZlXFRyYWNrZXJcTW9kZWxcQ3VzdG9tSW5mb3JtYXRpb25z
372
+ LT5fX2NvbnN0cnVjdCggICk8L3RkPjx0ZCB0aXRsZT0nL1VzZXJzL3NjaHVi
373
+ ZXJ0L3dvcmtzcGFjZS9qaXJhZmUvdHJhY2tlci9zcmMvSmlyYWZlL1RyYWNr
374
+ ZXIvUGFyc2VyL0NhcnRBY3Rpb25QYXJzZXIucGhwJyBiZ2NvbG9yPScjZWVl
375
+ ZWVjJz4uLi9DYXJ0QWN0aW9uUGFyc2VyLnBocDxiPjo8L2I+Njg8L3RkPjwv
376
+ dHI+Cjx0cj48dGQgYmdjb2xvcj0nI2VlZWVlYycgYWxpZ249J2NlbnRlcic+
377
+ NjwvdGQ+PHRkIGJnY29sb3I9JyNlZWVlZWMnIGFsaWduPSdjZW50ZXInPjAu
378
+ MDA2MzwvdGQ+PHRkIGJnY29sb3I9JyNlZWVlZWMnIGFsaWduPSdyaWdodCc+
379
+ NzI5MTI4PC90ZD48dGQgYmdjb2xvcj0nI2VlZWVlYyc+SmlyYWZlXFRyYWNr
380
+ ZXJcTW9kZWxcQ3VzdG9tSW5mb3JtYXRpb25zLT5kZWNvZGVDYXJ0SW5mb3Mo
381
+ ICApPC90ZD48dGQgdGl0bGU9Jy9Vc2Vycy9zY2h1YmVydC93b3Jrc3BhY2Uv
382
+ amlyYWZlL3RyYWNrZXIvc3JjL0ppcmFmZS9UcmFja2VyL01vZGVsL0N1c3Rv
383
+ bUluZm9ybWF0aW9ucy5waHAnIGJnY29sb3I9JyNlZWVlZWMnPi4uL0N1c3Rv
384
+ bUluZm9ybWF0aW9ucy5waHA8Yj46PC9iPjMwPC90ZD48L3RyPgo8dHI+PHRk
385
+ IGJnY29sb3I9JyNlZWVlZWMnIGFsaWduPSdjZW50ZXInPjc8L3RkPjx0ZCBi
386
+ Z2NvbG9yPScjZWVlZWVjJyBhbGlnbj0nY2VudGVyJz4wLjAwNjM8L3RkPjx0
387
+ ZCBiZ2NvbG9yPScjZWVlZWVjJyBhbGlnbj0ncmlnaHQnPjcyOTIyNDwvdGQ+
388
+ PHRkIGJnY29sb3I9JyNlZWVlZWMnPjxhIGhyZWY9J2h0dHA6Ly93d3cucGhw
389
+ Lm5ldC9qc29uX2RlY29kZScgdGFyZ2V0PSdfbmV3Jz5qc29uX2RlY29kZTwv
390
+ YT4KKCAgKTwvdGQ+PHRkIHRpdGxlPScvVXNlcnMvc2NodWJlcnQvd29ya3Nw
391
+ YWNlL2ppcmFmZS90cmFja2VyL3NyYy9KaXJhZmUvVHJhY2tlci9Nb2RlbC9D
392
+ dXN0b21JbmZvcm1hdGlvbnMucGhwJyBiZ2NvbG9yPScjZWVlZWVjJz4uLi9D
393
+ dXN0b21JbmZvcm1hdGlvbnMucGhwPGI+OjwvYj45MDwvdGQ+PC90cj4KPC90
394
+ YWJsZT48L2ZvbnQ+CkdJRjg5YQEAAQCAAAD///8AAAAh+QQAAAAAACwAAAAA
395
+ AQABAAACAkQBADs=
396
+ http_version:
397
+ recorded_at: Thu, 20 Sep 2012 16:05:14 GMT
398
+ - request:
399
+ method: get
400
+ uri: http://data.jirafe.dev/piwik.php?cid=&ec_items=%5B%5B123,%22Widget1%22,%22things%22,%2245.1200%22,2%5D%5D&idsite=1&revenue=45.1200
401
+ body:
402
+ encoding: US-ASCII
403
+ string: ''
404
+ headers: {}
405
+ response:
406
+ status:
407
+ code: 200
408
+ message: !binary |-
409
+ T0s=
410
+ headers:
411
+ !binary "U2VydmVy":
412
+ - !binary |-
413
+ bmdpbngvMS4yLjI=
414
+ !binary "RGF0ZQ==":
415
+ - !binary |-
416
+ VGh1LCAyMCBTZXAgMjAxMiAxNjoxNDo1MyBHTVQ=
417
+ !binary "Q29udGVudC1UeXBl":
418
+ - !binary |-
419
+ aW1hZ2UvZ2lm
420
+ !binary "VHJhbnNmZXItRW5jb2Rpbmc=":
421
+ - !binary |-
422
+ Y2h1bmtlZA==
423
+ !binary "Q29ubmVjdGlvbg==":
424
+ - !binary |-
425
+ a2VlcC1hbGl2ZQ==
426
+ !binary "S2VlcC1BbGl2ZQ==":
427
+ - !binary |-
428
+ dGltZW91dD0xMA==
429
+ !binary "WC1Qb3dlcmVkLUJ5":
430
+ - !binary |-
431
+ UEhQLzUuMy4xNQ==
432
+ !binary "Q2FjaGUtQ29udHJvbA==":
433
+ - !binary |-
434
+ bm8tY2FjaGUsIG11c3QtcmV2YWxpZGF0ZQ==
435
+ !binary "RXhwaXJlcw==":
436
+ - !binary |-
437
+ U2F0LCAyNiBKdWwgMTk5NyAwNTowMDowMCBHTVQ=
438
+ !binary "Q29udGVudC1MZW5naHQ=":
439
+ - !binary |-
440
+ NDM=
441
+ body:
442
+ encoding: ASCII-8BIT
443
+ string: !binary |-
444
+ R0lGODlhAQABAIAAAP///wAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==
445
+ http_version:
446
+ recorded_at: Thu, 20 Sep 2012 16:14:53 GMT
447
+ - request:
448
+ method: get
449
+ uri: http://data.jirafe.dev/piwik.php?cid=&ec_items=%5B%5B123,%22Widget1%22,%22things%22,%2245.1200%22,2%5D%5D&idsite=1&revenue=45.1200&visitor=
450
+ body:
451
+ encoding: US-ASCII
452
+ string: ''
453
+ headers: {}
454
+ response:
455
+ status:
456
+ code: 200
457
+ message: !binary |-
458
+ T0s=
459
+ headers:
460
+ !binary "U2VydmVy":
461
+ - !binary |-
462
+ bmdpbngvMS4yLjI=
463
+ !binary "RGF0ZQ==":
464
+ - !binary |-
465
+ VGh1LCAyMCBTZXAgMjAxMiAxNjoxNTo1OSBHTVQ=
466
+ !binary "Q29udGVudC1UeXBl":
467
+ - !binary |-
468
+ aW1hZ2UvZ2lm
469
+ !binary "VHJhbnNmZXItRW5jb2Rpbmc=":
470
+ - !binary |-
471
+ Y2h1bmtlZA==
472
+ !binary "Q29ubmVjdGlvbg==":
473
+ - !binary |-
474
+ a2VlcC1hbGl2ZQ==
475
+ !binary "S2VlcC1BbGl2ZQ==":
476
+ - !binary |-
477
+ dGltZW91dD0xMA==
478
+ !binary "WC1Qb3dlcmVkLUJ5":
479
+ - !binary |-
480
+ UEhQLzUuMy4xNQ==
481
+ !binary "Q2FjaGUtQ29udHJvbA==":
482
+ - !binary |-
483
+ bm8tY2FjaGUsIG11c3QtcmV2YWxpZGF0ZQ==
484
+ !binary "RXhwaXJlcw==":
485
+ - !binary |-
486
+ U2F0LCAyNiBKdWwgMTk5NyAwNTowMDowMCBHTVQ=
487
+ !binary "Q29udGVudC1MZW5naHQ=":
488
+ - !binary |-
489
+ NDM=
490
+ body:
491
+ encoding: ASCII-8BIT
492
+ string: !binary |-
493
+ R0lGODlhAQABAIAAAP///wAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==
494
+ http_version:
495
+ recorded_at: Thu, 20 Sep 2012 16:15:59 GMT
496
+ - request:
497
+ method: post
498
+ uri: http://data.jirafe.dev/piwik.php?cid=&ec_items=%5B%5B123,%22Widget1%22,%22things%22,%2245.1200%22,2%5D%5D&idsite=1&revenue=45.1200&visitor=
499
+ body:
500
+ encoding: US-ASCII
501
+ string: ''
502
+ headers: {}
503
+ response:
504
+ status:
505
+ code: 200
506
+ message: !binary |-
507
+ T0s=
508
+ headers:
509
+ !binary "U2VydmVy":
510
+ - !binary |-
511
+ bmdpbngvMS4yLjI=
512
+ !binary "RGF0ZQ==":
513
+ - !binary |-
514
+ VGh1LCAyMCBTZXAgMjAxMiAxNjoyMTowOCBHTVQ=
515
+ !binary "Q29udGVudC1UeXBl":
516
+ - !binary |-
517
+ aW1hZ2UvZ2lm
518
+ !binary "VHJhbnNmZXItRW5jb2Rpbmc=":
519
+ - !binary |-
520
+ Y2h1bmtlZA==
521
+ !binary "Q29ubmVjdGlvbg==":
522
+ - !binary |-
523
+ a2VlcC1hbGl2ZQ==
524
+ !binary "S2VlcC1BbGl2ZQ==":
525
+ - !binary |-
526
+ dGltZW91dD0xMA==
527
+ !binary "WC1Qb3dlcmVkLUJ5":
528
+ - !binary |-
529
+ UEhQLzUuMy4xNQ==
530
+ !binary "Q2FjaGUtQ29udHJvbA==":
531
+ - !binary |-
532
+ bm8tY2FjaGUsIG11c3QtcmV2YWxpZGF0ZQ==
533
+ !binary "RXhwaXJlcw==":
534
+ - !binary |-
535
+ U2F0LCAyNiBKdWwgMTk5NyAwNTowMDowMCBHTVQ=
536
+ !binary "Q29udGVudC1MZW5naHQ=":
537
+ - !binary |-
538
+ NDM=
539
+ body:
540
+ encoding: ASCII-8BIT
541
+ string: !binary |-
542
+ R0lGODlhAQABAIAAAP///wAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==
543
+ http_version:
544
+ recorded_at: Thu, 20 Sep 2012 16:21:08 GMT
545
+ - request:
546
+ method: post
547
+ uri: http://data.jirafe.dev/piwik.php?cid=2&ec_items=%5B%5B123,%22Widget1%22,%22things%22,%2245.1200%22,2%5D%5D&idsite=1&revenue=45.1200
548
+ body:
549
+ encoding: US-ASCII
550
+ string: ''
551
+ headers: {}
552
+ response:
553
+ status:
554
+ code: 200
555
+ message: !binary |-
556
+ T0s=
557
+ headers:
558
+ !binary "U2VydmVy":
559
+ - !binary |-
560
+ bmdpbngvMS4yLjI=
561
+ !binary "RGF0ZQ==":
562
+ - !binary |-
563
+ VGh1LCAyMCBTZXAgMjAxMiAxNjoyNTowNCBHTVQ=
564
+ !binary "Q29udGVudC1UeXBl":
565
+ - !binary |-
566
+ aW1hZ2UvZ2lm
567
+ !binary "VHJhbnNmZXItRW5jb2Rpbmc=":
568
+ - !binary |-
569
+ Y2h1bmtlZA==
570
+ !binary "Q29ubmVjdGlvbg==":
571
+ - !binary |-
572
+ a2VlcC1hbGl2ZQ==
573
+ !binary "S2VlcC1BbGl2ZQ==":
574
+ - !binary |-
575
+ dGltZW91dD0xMA==
576
+ !binary "WC1Qb3dlcmVkLUJ5":
577
+ - !binary |-
578
+ UEhQLzUuMy4xNQ==
579
+ !binary "Q2FjaGUtQ29udHJvbA==":
580
+ - !binary |-
581
+ bm8tY2FjaGUsIG11c3QtcmV2YWxpZGF0ZQ==
582
+ !binary "RXhwaXJlcw==":
583
+ - !binary |-
584
+ U2F0LCAyNiBKdWwgMTk5NyAwNTowMDowMCBHTVQ=
585
+ !binary "Q29udGVudC1MZW5naHQ=":
586
+ - !binary |-
587
+ NDM=
588
+ body:
589
+ encoding: ASCII-8BIT
590
+ string: !binary |-
591
+ R0lGODlhAQABAIAAAP///wAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==
592
+ http_version:
593
+ recorded_at: Thu, 20 Sep 2012 16:25:04 GMT
594
+ recorded_with: VCR 2.2.4
@@ -708,7 +708,7 @@ http_interactions:
708
708
  uri: http://api.jirafe.dev/v1/applications/1/resources?token=secret_token
709
709
  body:
710
710
  encoding: US-ASCII
711
- string: sites[0][description]=My%20Store&sites[0][url]=http%3A%2F%2Fmynewurl.com&sites[0][currency]=EUR&sites[0][timezone]=Europe%2FParis&sites[0][external_id]=1&sites[0][site_id]=1&users[0][email]=user%40example.com&users[0][first_name]=Test&users[0][last_name]=User
711
+ string: sites[0][description]=My%20Store&sites[0][url]=http%3A%2F%2Fmynewurl.com&sites[0][store_cart_url]=http%3A%2F%2Fmycarturl.com&sites[0][currency]=EUR&sites[0][timezone]=Europe%2FParis&sites[0][external_id]=1&sites[0][site_id]=1&users[0][email]=user%40example.com&users[0][first_name]=Test&users[0][last_name]=User
712
712
  headers: {}
713
713
  response:
714
714
  status:
@@ -730,12 +730,12 @@ http_interactions:
730
730
  Cache-Control:
731
731
  - no-cache
732
732
  Date:
733
- - Wed, 12 Sep 2012 18:55:32 GMT
733
+ - Thu, 20 Sep 2012 14:22:39 GMT
734
734
  X-Debug-Token:
735
- - 5050daa4b85dd
735
+ - 505b26aff1945
736
736
  body:
737
737
  encoding: US-ASCII
738
- string: ! '{"sites":[{"site_id":1,"app_id":1,"description":"My Store","url":"http:\/\/mynewurl.com","timezone":"Europe\/Paris","currency":"EUR","external_id":"1","store_api_url":null,"store_cart_url":null}],"users":[{"email":"user@example.com","username":null,"first_name":"Test","last_name":"User","mobile_phone":null,"token":"c2785280dffad7835195b7a44829a103"}]}'
738
+ string: ! '{"sites":[{"site_id":1,"app_id":1,"description":"My Store","url":"http:\/\/mynewurl.com","timezone":"Europe\/Paris","currency":"EUR","external_id":"1","store_api_url":null,"store_cart_url":"http:\/\/mycarturl.com"}],"users":[{"email":"user@example.com","username":null,"first_name":"Test","last_name":"User","mobile_phone":null,"token":"8b075a2dc1b08cf17d8c120ed85131ac"}]}'
739
739
  http_version:
740
- recorded_at: Wed, 12 Sep 2012 18:55:32 GMT
740
+ recorded_at: Thu, 20 Sep 2012 14:22:39 GMT
741
741
  recorded_with: VCR 2.2.4
@@ -5,7 +5,7 @@ http_interactions:
5
5
  uri: http://api.jirafe.dev/v1/applications/1/resources?token=secret_token
6
6
  body:
7
7
  encoding: US-ASCII
8
- string: sites[0][description]=Test%20Site&sites[0][url]=http%3A%2F%2Fjirafe.com&sites[0][currency]=EUR&sites[0][timezone]=Europe%2FParis&sites[0][external_id]=1&sites[0][site_id]=1&users[0][email]=user%40example.com&users[0][first_name]=Test&users[0][last_name]=User
8
+ string: sites[0][description]=Test%20Site&sites[0][url]=http%3A%2F%2Fjirafe.com&sites[0][store_cart_url]=http%3A%2F%2Fmycarturl.com&sites[0][currency]=EUR&sites[0][timezone]=Europe%2FParis&sites[0][external_id]=1&sites[0][site_id]=1&users[0][email]=user%40example.com&users[0][first_name]=Test&users[0][last_name]=User
9
9
  headers: {}
10
10
  response:
11
11
  status:
@@ -27,12 +27,12 @@ http_interactions:
27
27
  Cache-Control:
28
28
  - no-cache
29
29
  Date:
30
- - Wed, 12 Sep 2012 20:41:37 GMT
30
+ - Thu, 20 Sep 2012 14:22:40 GMT
31
31
  X-Debug-Token:
32
- - 5050f3815203d
32
+ - 505b26b0148c4
33
33
  body:
34
34
  encoding: US-ASCII
35
- string: ! '{"sites":[{"site_id":1,"app_id":1,"description":"Test Site","url":"http:\/\/jirafe.com","timezone":"Europe\/Paris","currency":"EUR","external_id":"1","store_api_url":null,"store_cart_url":null}],"users":[{"email":"user@example.com","username":null,"first_name":"Test","last_name":"User","mobile_phone":null,"token":"c2785280dffad7835195b7a44829a103"}]}'
35
+ string: ! '{"sites":[{"site_id":1,"app_id":1,"description":"Test Site","url":"http:\/\/jirafe.com","timezone":"Europe\/Paris","currency":"EUR","external_id":"1","store_api_url":null,"store_cart_url":"http:\/\/mycarturl.com"}],"users":[{"email":"user@example.com","username":null,"first_name":"Test","last_name":"User","mobile_phone":null,"token":"8b075a2dc1b08cf17d8c120ed85131ac"}]}'
36
36
  http_version:
37
- recorded_at: Wed, 12 Sep 2012 20:41:37 GMT
37
+ recorded_at: Thu, 20 Sep 2012 14:22:40 GMT
38
38
  recorded_with: VCR 2.2.4
@@ -17,6 +17,7 @@ module Jirafe
17
17
  autoload :LOCALES, "jirafe/locales.rb"
18
18
  autoload :Configuration, "jirafe/configuration.rb"
19
19
  autoload :Error, "jirafe/error.rb"
20
+ autoload :DataHelper, "jirafe/data_helper.rb"
20
21
  autoload :ResponseParser, "jirafe/response_parser.rb"
21
22
  autoload :Model, "jirafe/model.rb"
22
23
  autoload :Asset, "jirafe/asset.rb"
@@ -24,12 +25,17 @@ module Jirafe
24
25
  autoload :Dashboard, "jirafe/dashboard.rb"
25
26
  module Resource
26
27
  autoload :JirafeResource, "jirafe/resource/jirafe_resource.rb"
28
+ autoload :LegacyResource, "jirafe/resource/legacy_resource.rb"
27
29
  autoload :Version, "jirafe/resource/version.rb"
28
30
  autoload :Status, "jirafe/resource/status.rb"
29
31
  autoload :Application, "jirafe/resource/application.rb"
30
32
  autoload :TimeSeries, "jirafe/resource/time_series.rb"
31
33
  autoload :Site, "jirafe/resource/site.rb"
32
34
  autoload :Resources, "jirafe/resource/resources.rb"
35
+ autoload :Cart, "jirafe/resource/cart.rb"
36
+ module Carts
37
+ autoload :Item, "jirafe/resource/carts/item.rb"
38
+ end
33
39
  module Sites
34
40
  autoload :AbandonRate, "jirafe/resource/sites/abandon_rate.rb"
35
41
  autoload :AbandonedAverageOrderValue, "jirafe/resource/sites/abandoned_average_order_value.rb"
@@ -62,7 +68,6 @@ module Jirafe
62
68
  autoload :JirafeCallback, "jirafe/callback/jirafe_callback.rb"
63
69
  autoload :Event, "jirafe/callback/event.rb"
64
70
  module Events
65
- autoload :DataHelper, "jirafe/callback/events/data_helper.rb"
66
71
  autoload :Item, "jirafe/callback/events/item.rb"
67
72
  autoload :Order, "jirafe/callback/events/order.rb"
68
73
  autoload :Refund, "jirafe/callback/events/refund.rb"
@@ -3,7 +3,7 @@ module Jirafe
3
3
  module Events
4
4
  class Item
5
5
  include Jirafe::Model
6
- include DataHelper
6
+ include Jirafe::DataHelper
7
7
  attr_accessor :sku, :name, :price, :quantity, :category
8
8
 
9
9
  def data
@@ -3,7 +3,7 @@ module Jirafe
3
3
  module Events
4
4
  class Order < Jirafe::Callback::Event
5
5
  include Jirafe::Model
6
- include DataHelper
6
+ include Jirafe::DataHelper
7
7
  attr_accessor :identifier, :status, :customer, :visitor_identifier, :created_at,
8
8
  :grand_total, :sub_total, :tax_amount, :shipping_amount, :discount_amount, :items
9
9
 
@@ -3,7 +3,7 @@ module Jirafe
3
3
  module Events
4
4
  class Refund < Jirafe::Callback::Event
5
5
  include Jirafe::Model
6
- include DataHelper
6
+ include Jirafe::DataHelper
7
7
  attr_accessor :identifier, :order_identifier, :created_at,
8
8
  :grand_total, :sub_total, :tax_amount, :shipping_amount,
9
9
  :discount_amount, :items
@@ -0,0 +1,16 @@
1
+ module Jirafe
2
+ module DataHelper
3
+ def format_amount(amount)
4
+ return nil if amount.nil?
5
+ "%01.4f" % amount
6
+ end
7
+
8
+ def format_discount_amount(amount)
9
+ return nil if amount.nil?
10
+ format_amount(amount.abs)
11
+ end
12
+ end
13
+ end
14
+
15
+
16
+
@@ -1,5 +1,54 @@
1
1
  module Jirafe
2
2
  module Model
3
+
4
+ def self.included(base)
5
+ base.extend(ClassMethods)
6
+ end
7
+
8
+ module ClassMethods
9
+ def logger
10
+ Jirafe.config.logger
11
+ end
12
+
13
+ def attributes(attrs = {})
14
+ return @attributes if @attributes && attrs === {}
15
+ attrs.each_pair do |attr_name, options|
16
+ attr_accessor attr_name
17
+ define_identifier(attr_name) if options.include?(:identifier)
18
+ end
19
+ @attributes ||= attrs
20
+ end
21
+
22
+ def retrieve(*args)
23
+ raise "Not implemented"
24
+ end
25
+
26
+ def create(*args)
27
+ raise "Not implemented"
28
+ end
29
+
30
+ def update(*args)
31
+ raise "Not implemented"
32
+ end
33
+
34
+ def handle_response(resource, response)
35
+ check_response_for_exception(response)
36
+ resource.reinitialize(response.parsed_response)
37
+ end
38
+
39
+ private
40
+
41
+ def define_identifier(attribute)
42
+ define_method attribute do
43
+ ivar = instance_variable_get("@#{attribute}")
44
+ ivar.nil? ? nil : ivar.to_i
45
+ end
46
+ alias_method :identifier, attribute
47
+ alias_method :identifier=, "#{attribute}="
48
+ end
49
+
50
+ end
51
+
3
52
  def initialize(attributes = {})
4
53
  reinitialize(attributes)
5
54
  end
@@ -10,5 +59,30 @@ module Jirafe
10
59
  end
11
60
  self
12
61
  end
62
+
63
+ def attributes
64
+ self.class.attributes.inject({}) do |hash, attr|
65
+ hash[attr] = self.send(attr)
66
+ hash
67
+ end
68
+ end
69
+
70
+ def attributes_for_change(key)
71
+ attrs = self.class.attributes.keys.select do |attribute|
72
+ self.class.attributes[attribute].include?(key)
73
+ end
74
+ (attrs || []).inject({}) do |hash, attr|
75
+ hash[attr] = self.send(attr)
76
+ hash
77
+ end
78
+ end
79
+
80
+ def create
81
+ self.class.create(self)
82
+ end
83
+
84
+ def update
85
+ self.class.update(self)
86
+ end
13
87
  end
14
88
  end
@@ -0,0 +1,36 @@
1
+ module Jirafe
2
+ module Resource
3
+ class Cart < LegacyResource
4
+ include Jirafe::DataHelper
5
+ path "piwik.php"
6
+ attributes({
7
+ :site_id => [:identifier, :create, :update],
8
+ :visitor_id => [:create, :update],
9
+ :revenue => [:create, :update],
10
+ :items => [:create, :update]
11
+ })
12
+
13
+ def attributes_for_change(key)
14
+ attrs = super
15
+ attrs[:cid] = attrs.delete(:visitor_id)
16
+ attrs[:idsite] = attrs.delete(:site_id)
17
+ items = (attrs[:items] || []).map do |item|
18
+ item.data
19
+ end
20
+ unless attrs[:revenue]
21
+ attrs[:revenue] = attrs[:items].inject(0) do |sum, item|
22
+ sum += item.price
23
+ sum
24
+ end
25
+ end
26
+ attrs[:revenue] = format_amount(attrs[:revenue])
27
+ attrs[:ec_items] = items.to_json
28
+ attrs.delete(:items)
29
+ attrs.reject! {|k, v| v.nil? }
30
+ attrs
31
+ end
32
+ end
33
+ end
34
+ end
35
+
36
+
@@ -0,0 +1,17 @@
1
+ module Jirafe
2
+ module Resource
3
+ module Carts
4
+ class Item
5
+ include Jirafe::Model
6
+ include Jirafe::DataHelper
7
+ attr_accessor :sku, :name, :price, :quantity, :category
8
+
9
+ def data
10
+ [sku, name, category, format_amount(price), quantity]
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
16
+
17
+
@@ -11,19 +11,6 @@ module Jirafe
11
11
  debug_output Jirafe.config.logger if ENV["DEBUG_JIRAFE"]
12
12
 
13
13
  class << self
14
- def logger
15
- Jirafe.config.logger
16
- end
17
-
18
- def attributes(attrs = {})
19
- return @attributes if @attributes && attrs === {}
20
- attrs.each_pair do |attr_name, options|
21
- attr_accessor attr_name
22
- define_identifier(attr_name) if options.include?(:identifier)
23
- end
24
- @attributes ||= attrs
25
- end
26
-
27
14
  def path(path = nil)
28
15
  return Jirafe.config.url unless superclass == JirafeResource
29
16
  @path ||= path
@@ -78,15 +65,6 @@ module Jirafe
78
65
 
79
66
  private
80
67
 
81
- def define_identifier(attribute)
82
- define_method attribute do
83
- ivar = instance_variable_get("@#{attribute}")
84
- ivar.nil? ? nil : ivar.to_i
85
- end
86
- alias_method :identifier, attribute
87
- alias_method :identifier=, "#{attribute}="
88
- end
89
-
90
68
  def handle_response(resource, response)
91
69
  check_response_for_exception(response)
92
70
  resource.reinitialize(response.parsed_response)
@@ -106,21 +84,6 @@ module Jirafe
106
84
  end
107
85
  end
108
86
 
109
- def attributes
110
- self.class.attributes.inject({}) do |hash, attr|
111
- hash[attr] = self.send(attr)
112
- hash
113
- end
114
- end
115
-
116
- def create
117
- self.class.create(self)
118
- end
119
-
120
- def update
121
- self.class.update(self)
122
- end
123
-
124
87
  def parent
125
88
  if self.class.parent == Jirafe::Resource::JirafeResource
126
89
  self.class.parent
@@ -144,16 +107,6 @@ module Jirafe
144
107
  [parent_resource_url, self.class.path, self.identifier].compact.join("/")
145
108
  end
146
109
 
147
- def attributes_for_change(key)
148
- attrs = self.class.attributes.keys.select do |attribute|
149
- self.class.attributes[attribute].include?(key)
150
- end
151
- (attrs || []).inject({}) do |hash, attr|
152
- hash[attr] = self.send(attr)
153
- hash
154
- end
155
- end
156
-
157
110
  end
158
111
  end
159
112
  end
@@ -0,0 +1,30 @@
1
+ module Jirafe
2
+ module Resource
3
+ class LegacyResource
4
+ include HTTParty
5
+ include Jirafe::ResponseParser
6
+ include Jirafe::Model
7
+ base_uri Jirafe.config.callback_url
8
+
9
+ class << self
10
+ def path(path = nil)
11
+ @path ||= path
12
+ @path || raise(Jirafe::Error::MissingResourcePath)
13
+ end
14
+ alias_method :url, :path
15
+
16
+ def resource_url
17
+ [base_uri, path].join("/")
18
+ end
19
+
20
+ def create(resource)
21
+ response = post(resource_url, {:query => resource.attributes_for_change(:create)})
22
+ check_response_for_exception(response)
23
+ resource
24
+ end
25
+ end
26
+
27
+ end
28
+ end
29
+ end
30
+
@@ -12,6 +12,7 @@ module Jirafe
12
12
  :currency => [],
13
13
  :external_id => [],
14
14
  :store_api_url => [:create, :update],
15
+ :store_cart_url => [:create, :update],
15
16
  :timezone_diff => []
16
17
  })
17
18
 
@@ -1,3 +1,3 @@
1
1
  module Jirafe
2
- VERSION = "0.8.1"
2
+ VERSION = "1.0.0"
3
3
  end
@@ -9,7 +9,8 @@ describe Jirafe::Callback::Event do
9
9
 
10
10
  before :all do
11
11
  use_master_token
12
- @server = CallbackServer.run(@query_capture, 3333)
12
+ @query_capture = initialize_query_capture
13
+ @server = CallbackServer.run(@query_capture, server_port = 3333)
13
14
  end
14
15
 
15
16
  after do
@@ -17,8 +18,6 @@ describe Jirafe::Callback::Event do
17
18
  end
18
19
 
19
20
  before do
20
- static_hash = "af5f436b948804627dc5641e309f54dc87a0f1c7"
21
- @query_capture = ENV['CALLTHROUGH'] ? [] : ["confirmToken=#{'a' * 16}&hash=#{static_hash}"]
22
21
  make_request("#{cassette}_fetch_token") do
23
22
  use_master_token
24
23
  app = Jirafe::Resource::Application.new(:name => "test app cmb")
@@ -32,12 +31,9 @@ describe Jirafe::Callback::Event do
32
31
 
33
32
  use_app_token(app)
34
33
  @site.create
34
+
35
35
  Jirafe::Callback::Event.notify(@site.identifier)
36
- while @query_capture.empty?
37
- sleep 0.1
38
- end
39
- @confirm_token = @query_capture.last.split("&").detect {|param| param.match(/confirmToken/) }.split("=").last
40
- @hash = @query_capture.last.split("&").detect {|param| param.match(/hash/) }.split("=").last
36
+ @confirm_token, @hash = capture_token_and_hash_from_server
41
37
  end
42
38
  end
43
39
 
@@ -112,6 +108,24 @@ describe Jirafe::Callback::Event do
112
108
  end
113
109
  end
114
110
  end
111
+
112
+ def initialize_query_capture
113
+ static_hash = "af5f436b948804627dc5641e309f54dc87a0f1c7"
114
+ ENV['CALLTHROUGH'] ? [] : ["confirmToken=#{'a' * 16}&hash=#{static_hash}"]
115
+ end
116
+
117
+ def capture_token_and_hash_from_server
118
+ timeout = 300
119
+ while @query_capture.empty?
120
+ timeout = timeout - 1
121
+ sleep 0.1
122
+ raise "Timeout" if timeout == 0
123
+ end
124
+ confirm_token = @query_capture.last.split("&").detect {|param| param.match(/confirmToken/) }.split("=").last
125
+ hash = @query_capture.last.split("&").detect {|param| param.match(/hash/) }.split("=").last
126
+ [confirm_token, hash]
127
+ end
128
+
115
129
  end
116
130
 
117
131
 
@@ -1,9 +1,9 @@
1
1
  require "spec_helper"
2
2
 
3
- describe Jirafe::Callback::Events::DataHelper do
3
+ describe Jirafe::DataHelper do
4
4
  before do
5
5
  class DataHelperTestClass
6
- include Jirafe::Callback::Events::DataHelper
6
+ include Jirafe::DataHelper
7
7
  end
8
8
  end
9
9
 
@@ -0,0 +1,62 @@
1
+ require "spec_helper"
2
+
3
+ describe Jirafe::Resource::Cart do
4
+ let(:resource_class) { Jirafe::Resource::Cart }
5
+ let(:site_id) { 1 }
6
+
7
+ describe ".retrieve" do
8
+ subject { resource_class.retrieve(nil) }
9
+
10
+ it "is not implemented" do
11
+ expect { subject }.to raise_error
12
+ end
13
+ end
14
+
15
+ let(:item) do
16
+ Jirafe::Resource::Carts::Item.new(:sku => 123,
17
+ :name => "Widget1",
18
+ :category => "things",
19
+ :price => 45.12,
20
+ :quantity => 2)
21
+ end
22
+
23
+ let(:cart) do
24
+ Jirafe::Resource::Cart.new(:site_id => 1,
25
+ :visitor_id => 2,
26
+ :items => [item])
27
+ end
28
+
29
+ describe ".create" do
30
+ let(:cassette) { "cart_state_call" }
31
+ subject { make_request(cassette) { cart.create } }
32
+
33
+ its(:class) { should == Jirafe::Resource::Cart }
34
+
35
+ it "calls through successfully" do
36
+ expect { subject }.to_not raise_error
37
+ end
38
+ end
39
+
40
+ describe "#attributes_for_change" do
41
+ let(:attributes) { cart.attributes_for_change(:create) }
42
+
43
+ it "does not include null values" do
44
+ attributes.has_key?(:url).should be_false
45
+ end
46
+
47
+ it "remaps attributes to piwik format" do
48
+ attributes[:idsite].should == cart.site_id
49
+ attributes[:cid].should == cart.visitor_id
50
+ attributes[:revenue].should == "45.1200"
51
+
52
+ sku, name, category, price, quantity = JSON.parse(attributes[:ec_items]).first
53
+ sku.should == item.sku
54
+ name.should == item.name
55
+ category.should == item.category
56
+ price.should == "45.1200"
57
+ quantity.should == item.quantity
58
+ end
59
+ end
60
+ end
61
+
62
+
@@ -6,6 +6,7 @@ describe Jirafe::Resource::Resources do
6
6
  let(:sites) do
7
7
  [{:description => "My Store",
8
8
  :url => "http://mynewurl.com",
9
+ :store_cart_url => "http://mycarturl.com",
9
10
  :currency => "EUR",
10
11
  :timezone => "Europe/Paris",
11
12
  :external_id => 1,
@@ -45,7 +46,7 @@ describe Jirafe::Resource::Resources do
45
46
  site["description"].should == sites.first[:description]
46
47
  site["url"].should == sites.first[:url]
47
48
  site["store_api_url"].should be_nil
48
- site["store_cart_url"].should be_nil
49
+ site["store_cart_url"].should == "http://mycarturl.com"
49
50
  end
50
51
  end
51
52
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jirafe
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.1
4
+ version: 1.0.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-09-18 00:00:00.000000000 Z
12
+ date: 2012-09-20 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: httparty
@@ -174,6 +174,7 @@ files:
174
174
  - fixtures/responses/application_sites_get_with_master_token.yml
175
175
  - fixtures/responses/callback_event_post_event.yml
176
176
  - fixtures/responses/callback_event_post_event_fetch_token.yml
177
+ - fixtures/responses/cart_state_call.yml
177
178
  - fixtures/responses/jirafe_resource_get_status_url.yml
178
179
  - fixtures/responses/jirafe_resource_get_status_url_with_query_param.yml
179
180
  - fixtures/responses/site_abandon_rate_get_with_master_token.yml
@@ -219,18 +220,21 @@ files:
219
220
  - lib/jirafe.rb
220
221
  - lib/jirafe/asset.rb
221
222
  - lib/jirafe/callback/event.rb
222
- - lib/jirafe/callback/events/data_helper.rb
223
223
  - lib/jirafe/callback/events/item.rb
224
224
  - lib/jirafe/callback/events/order.rb
225
225
  - lib/jirafe/callback/events/refund.rb
226
226
  - lib/jirafe/callback/jirafe_callback.rb
227
227
  - lib/jirafe/configuration.rb
228
228
  - lib/jirafe/dashboard.rb
229
+ - lib/jirafe/data_helper.rb
229
230
  - lib/jirafe/error.rb
230
231
  - lib/jirafe/locales.rb
231
232
  - lib/jirafe/model.rb
232
233
  - lib/jirafe/resource/application.rb
234
+ - lib/jirafe/resource/cart.rb
235
+ - lib/jirafe/resource/carts/item.rb
233
236
  - lib/jirafe/resource/jirafe_resource.rb
237
+ - lib/jirafe/resource/legacy_resource.rb
234
238
  - lib/jirafe/resource/resources.rb
235
239
  - lib/jirafe/resource/site.rb
236
240
  - lib/jirafe/resource/sites/abandon_rate.rb
@@ -267,11 +271,12 @@ files:
267
271
  - lib/jirafe/version.rb
268
272
  - spec/jirafe/asset_spec.rb
269
273
  - spec/jirafe/callback/event_spec.rb
270
- - spec/jirafe/callback/events/data_helper_spec.rb
271
274
  - spec/jirafe/configuration_spec.rb
272
275
  - spec/jirafe/dashboard_spec.rb
276
+ - spec/jirafe/data_helper_spec.rb
273
277
  - spec/jirafe/jirafe_spec.rb
274
278
  - spec/jirafe/resource/application_spec.rb
279
+ - spec/jirafe/resource/cart_spec.rb
275
280
  - spec/jirafe/resource/jirafe_resource_spec.rb
276
281
  - spec/jirafe/resource/resources_spec.rb
277
282
  - spec/jirafe/resource/site_spec.rb
@@ -336,11 +341,12 @@ summary: Client for Jirafe analytics web service
336
341
  test_files:
337
342
  - spec/jirafe/asset_spec.rb
338
343
  - spec/jirafe/callback/event_spec.rb
339
- - spec/jirafe/callback/events/data_helper_spec.rb
340
344
  - spec/jirafe/configuration_spec.rb
341
345
  - spec/jirafe/dashboard_spec.rb
346
+ - spec/jirafe/data_helper_spec.rb
342
347
  - spec/jirafe/jirafe_spec.rb
343
348
  - spec/jirafe/resource/application_spec.rb
349
+ - spec/jirafe/resource/cart_spec.rb
344
350
  - spec/jirafe/resource/jirafe_resource_spec.rb
345
351
  - spec/jirafe/resource/resources_spec.rb
346
352
  - spec/jirafe/resource/site_spec.rb
@@ -1,19 +0,0 @@
1
- module Jirafe
2
- module Callback
3
- module Events
4
- module DataHelper
5
- def format_amount(amount)
6
- return nil if amount.nil?
7
- "%01.4f" % amount
8
- end
9
-
10
- def format_discount_amount(amount)
11
- return nil if amount.nil?
12
- format_amount(amount.abs)
13
- end
14
- end
15
- end
16
- end
17
- end
18
-
19
-