gratitude 0.0.11 → 0.0.12

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7549b619bcc85a81bc995ca6a09f0363b52548e0
4
- data.tar.gz: 704297b6b8f5f6b69dfed8b40b3ac73a7b8a179d
3
+ metadata.gz: ffc3713c76d9bbaf8b996d658097995633479774
4
+ data.tar.gz: 6eaa284ea1160a9b40828c5c6d5bed069949f192
5
5
  SHA512:
6
- metadata.gz: 9cb95f6be06a1f320b7066e338eb84ac6f2a59fe984100fdaf6a6833bf08931c041bc46678164aa70266ee938e6e1f5f9bd5fa6c4153de3ea812763705af5c5a
7
- data.tar.gz: 8d51cb9fcbf942090fc7299b8de17338e850035853da7ee6c6738c20fd699a1e81442a45eaf13e4eed150064f75cf08e4ca7ab07e46cbdac8d83952a5d1d9808
6
+ metadata.gz: 8acf19c5e719aec6737e74726ef77e60b5c635d5c81906603f8e708db4a04a0e60848547e5c59f6d640a7bd26e061bec81bed112e88109647d4097d5a3aa836e
7
+ data.tar.gz: 5ae98a6fe09778768cfd6d1ff498b71958421e0a842324781ea9f56f4f80146ee61cfcf0f832f2c057cfd7fab08efbd7f1f8ec992df90d7e2a34468d74c6b7e5
data/.travis.yml CHANGED
@@ -1,8 +1,10 @@
1
1
  language: ruby
2
+ cache: bundler
3
+ bundler_args: --without development
2
4
  rvm:
3
5
  - 2.1.1
4
6
  - 2.1.0
5
7
  - 2.0.0
6
8
  - 1.9.3
7
9
  - jruby-19mode
8
- - jruby-head
10
+ - rbx
data/CHANGELOG.md CHANGED
@@ -1,6 +1,10 @@
1
1
  ### 0.1.0 (Upcoming Stable Release)
2
2
  * Implement all aspects of the Gittip API.
3
3
 
4
+ ### 0.0.12 (March 30, 2014)
5
+ * Add support for Chart API endpoint
6
+ * Add support for User Chart API endpoint
7
+
4
8
  ### 0.0.11 (March 29, 2014)
5
9
  * Change to Faraday instead of HTTParty
6
10
  * Update api methods to match current Gittip api implementation
data/Gemfile CHANGED
@@ -3,8 +3,9 @@ source "https://rubygems.org"
3
3
  gemspec
4
4
 
5
5
  group :development do
6
- gem "pry"
7
- gem "awesome_print"
6
+ gem 'jazz_hands', github: 'nixme/jazz_hands', branch: 'bring-your-own-debugger'
7
+ gem 'pry-byebug'
8
+ gem 'pry-coolline'
8
9
  gem "guard-rspec"
9
10
  gem "terminal-notifier-guard", require: false
10
11
  end
data/README.md CHANGED
@@ -6,10 +6,7 @@ gratitude
6
6
  [![Code Climate](https://codeclimate.com/github/JohnKellyFerguson/gratitude.png)](https://codeclimate.com/github/JohnKellyFerguson/gratitude)
7
7
  [![Coverage Status](https://coveralls.io/repos/JohnKellyFerguson/gratitude/badge.png)](https://coveralls.io/r/JohnKellyFerguson/gratitude)
8
8
 
9
-
10
- A simple Ruby wrapper for the [Gittip API](https://github.com/gittip/www.gittip.com#api).
11
-
12
- **Note**: This gem is currently under development. A feature complete version that implements all features of the original Gittip API is planned for v0.1.0. Please follow the [Changelog](CHANGELOG.md) to check the status of the project.
9
+ A simple Ruby wrapper for the [Gittip API](https://github.com/gittip/www.gittip.com#api). Please follow the [Changelog](CHANGELOG.md) to check the status of the project.
13
10
 
14
11
 
15
12
  # Installation
@@ -18,15 +15,56 @@ A simple Ruby wrapper for the [Gittip API](https://github.com/gittip/www.gittip.
18
15
 
19
16
  # Usage
20
17
 
21
- The gratitude gem has four different components that interact with different aspects of the Gittip API. They are as follows:
18
+ The gratitude gem interacts with the six different endpoints of the Gittip API. They are as follows:
22
19
 
20
+ * [Charts](#charts-source-code)
23
21
  * [Paydays](#paydays-source-code)
24
22
  * [Statistics](#statistics-source-code)
23
+ * [User Charts](#user-charts-source-code)
25
24
  * [Profile](#profile-source-code)
26
25
  * [Tips](#tips-client-authentication-source-code-tips-source-code)
27
26
 
28
27
  When using gratitude to retrieve data from the Gittip API, please note that many of the JSON key names have been wrapped in more naturally sounding method names. However, all of the original JSON key names have also been maintained as aliases so as to maitain consistency with the original [Gittip API documentation](https://github.com/gittip/www.gittip.com#api).
29
28
 
29
+ ##Charts ([source code](https://github.com/JohnKellyFerguson/gratitude/blob/master/lib/gratitude/chart.rb))
30
+ The Chart endpoint of the Gittip API provides aggregate statistics over time which are used in Gittip's [chart page](https://www.gittip.com/about/charts.html). To retrieve this information, use the following command:
31
+
32
+ ```ruby
33
+ Gratitude::Chart.all
34
+ ```
35
+
36
+ The above will return an array of Chart objects. Each Chart object responds to the following methods:
37
+
38
+ * `active_users`
39
+ * `charges`
40
+ * `date`
41
+ * `total_gifts`
42
+ * `total_users`
43
+ * `weekly_gifts`
44
+ * `withdrawals`
45
+
46
+ You can then iterate through this array of chart objects to persist them to a database or get whatever information you need.
47
+
48
+ ```ruby
49
+ charts = Gratitude::Chart.all
50
+ charts.each do |chart|
51
+ # get whatever information you want from the chart object
52
+ # using the above mentioned methods.
53
+ end
54
+ ```
55
+
56
+ If you want to get the oldest chart:
57
+ ```ruby
58
+ Gratitude::Chart.oldest
59
+ ```
60
+
61
+ Finally, if you just want to get the most recent chart, you can do so by using:
62
+
63
+ ```ruby
64
+ Gratitude::Chart.newest
65
+ ```
66
+
67
+
30
68
  ##Paydays ([source code](https://github.com/JohnKellyFerguson/gratitude/blob/master/lib/gratitude/payday.rb))
31
69
 
32
70
  The Gittip API provides access to the historical data of all its paydays. To retrieve this information, simply use the following command:
@@ -65,13 +103,13 @@ end
65
103
 
66
104
  If you want to get the oldest payday:
67
105
  ```ruby
68
- Gratitude::Payday.oldest_payday
106
+ Gratitude::Payday.oldest
69
107
  ```
70
108
 
71
109
  Finally, if you just want to get the most recent payday, you can do so by using:
72
110
 
73
111
  ```ruby
74
- Gratitude::Payday.most_recent
112
+ Gratitude::Payday.newest
75
113
  ```
76
114
 
77
115
  ##Statistics ([source code](https://github.com/JohnKellyFerguson/gratitude/blob/master/lib/gratitude/statistics.rb))
@@ -119,12 +157,41 @@ Each of the above will return an object containing all of the current Gittip sta
119
157
  * `value_of_total_backed_tips` (alias: `total_backed_tips`)
120
158
  * `transfer_volume`
121
159
 
160
+ ##User Charts ([source code](https://github.com/JohnKellyFerguson/gratitude/blob/master/lib/gratitude/user_chart.rb))
161
+ The User Chart endpoint of the Gittip API provides aggregate stats over time for a given user.
162
+
163
+ To retrieve this information, do the following:
164
+
165
+ ```ruby
166
+ Gratitude::UserChart.all_for_user("JohnKellyFerguson")
167
+ ```
168
+
169
+ This will return an array of `UserChart` objects for the requested username. Each `UserChart` object provides the following data:
170
+
171
+ * `username`
172
+ * `date`
173
+ * `number_of_patrons` (alias: `npatrons`)
174
+ * `receipts`
175
+
176
+
177
+ If you want to get the oldest chart for a given user:
178
+
179
+ ```ruby
180
+ Gratitude::UserChart.oldest_for("JohnKellyFerguson")
181
+ ```
182
+
183
+ Finally, if you just want to get the most recent chart, you can do so by using:
184
+
185
+ ```ruby
186
+ Gratitude::UserChart.newest_for("JohnKellyFerguson")
187
+ ```
188
+
122
189
  ##Profile ([source code](https://github.com/JohnKellyFerguson/gratitude/blob/master/lib/gratitude/profile.rb))
123
190
 
124
191
  The Profile aspect of the Gittip API allows you to get the public profile information of any Gittip user. To do so, just pass their username as an initialization argument to the `Gratitude::Profile` class.
125
192
 
126
193
  ```ruby
127
- Gratitude::Profile.new("johnkellyferguson")
194
+ Gratitude::Profile.new("JohnKellyFerguson")
128
195
  ```
129
196
 
130
197
  The above will retrieve the public profile of the above user. You can then access all of the different information with the following methods:
@@ -167,7 +234,7 @@ The above will retrieve the public profile of the above user. You can then acces
167
234
  * otherwise, returns `nil`.
168
235
  * `venmo_username`
169
236
  * returns the user's venmo username if they have connected a venmo account.
170
- * otherwise, returns `nil`.
237
+ * otherwise, returns `nil`.
171
238
  * `amount_giving` (alias: `giving`)
172
239
  * returns the amount (as a float) the user has pledged to give this week.
173
240
  * if the user has decided to donately privately then this will return 0.00.
data/Rakefile CHANGED
@@ -19,3 +19,10 @@ task :console do
19
19
  ARGV.clear
20
20
  IRB.start
21
21
  end
22
+
23
+ task :pry do
24
+ require 'pry'
25
+ require 'gratitude'
26
+ ARGV.clear
27
+ Pry.start
28
+ end
data/gratitude.gemspec CHANGED
@@ -18,9 +18,9 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_dependency "faraday", "~> 0.8"
21
+ spec.add_dependency "faraday", "~> 0.8.9"
22
22
  spec.add_dependency "faraday_middleware", "~> 0.9"
23
23
  spec.add_dependency "json"
24
- spec.add_development_dependency "bundler", "~> 1.6"
25
- spec.add_development_dependency "rake"
24
+ spec.add_dependency "rake"
25
+ spec.add_development_dependency "bundler"
26
26
  end
@@ -0,0 +1,49 @@
1
+ module Gratitude
2
+ class Chart
3
+ extend Connection
4
+ CHARTS = []
5
+
6
+ attr_reader :active_users, :charges, :date, :total_gifts, :total_users,
7
+ :weekly_gifts, :withdrawals
8
+
9
+ def initialize(options = {})
10
+ @active_users = options["active_users"]
11
+ @charges = options["charges"]
12
+ @date = Date.parse(options["date"]) if options["date"]
13
+ @total_gifts = options["total_gifts"]
14
+ @total_users = options["total_users"]
15
+ @weekly_gifts = options["weekly_gifts"]
16
+ @withdrawals = options["withdrawals"]
17
+ CHARTS << self
18
+ end
19
+
20
+ def self.all
21
+ collect_charts if CHARTS.empty?
22
+ CHARTS
23
+ end
24
+
25
+ def self.newest
26
+ sort_by_date.first
27
+ end
28
+
29
+ def self.oldest
30
+ sort_by_date.last
31
+ end
32
+
33
+ def self.sort_by_date
34
+ all.sort_by { |chart| chart.date }.reverse
35
+ end
36
+
37
+ private
38
+
39
+ def self.get_charts_from_gittip
40
+ faraday.get('/about/charts.json').body.to_a
41
+ end
42
+
43
+ def self.collect_charts
44
+ get_charts_from_gittip.each do |chart_hash|
45
+ Chart.new(chart_hash)
46
+ end
47
+ end
48
+ end
49
+ end
@@ -39,8 +39,10 @@ module Gratitude
39
39
  @number_of_tippers = options["ntippers"]
40
40
  @number_of_transfers = options["ntransfers"]
41
41
  @transfer_volume = options["transfer_volume"]
42
- @transfer_end_time = DateTime.parse(options["ts_end"])
43
- @transfer_start_time = DateTime.parse(options["ts_start"])
42
+ @transfer_end_time = DateTime.parse(options["ts_end"]) if options["ts_end"]
43
+ if options["ts_start"]
44
+ @transfer_start_time = DateTime.parse(options["ts_start"])
45
+ end
44
46
  PAYDAYS << self
45
47
  end
46
48
 
@@ -50,11 +52,11 @@ module Gratitude
50
52
  PAYDAYS
51
53
  end
52
54
 
53
- def self.most_recent
55
+ def self.newest
54
56
  sort_by_ts_end.first
55
57
  end
56
58
 
57
- def self.oldest_payday
59
+ def self.oldest
58
60
  sort_by_ts_end.last
59
61
  end
60
62
 
@@ -0,0 +1,51 @@
1
+ module Gratitude
2
+ class UserChart
3
+ extend Connection
4
+ USER_CHARTS = []
5
+
6
+ attr_reader :username, :date, :number_of_patrons, :receipts
7
+ alias_method :npatrons, :number_of_patrons
8
+
9
+ def initialize(options = {})
10
+ @username = options["username"]
11
+ @date = Date.parse(options["date"]) if options["date"]
12
+ @number_of_patrons = options["npatrons"]
13
+ @receipts = options["receipts"]
14
+ USER_CHARTS << self
15
+ end
16
+
17
+ def self.all_for_user(username)
18
+ USER_CHARTS.clear if user_charts_contains_other_usernames?(username)
19
+ collect_charts_for(username) if USER_CHARTS.empty?
20
+ USER_CHARTS
21
+ end
22
+
23
+ def self.newest_for(username)
24
+ sort_by_date_for_user(username).first
25
+ end
26
+
27
+ def self.oldest_for(username)
28
+ sort_by_date_for_user(username).last
29
+ end
30
+
31
+ def self.sort_by_date_for_user(username)
32
+ all_for_user(username).sort_by { |chart| chart.date }.reverse
33
+ end
34
+
35
+ private
36
+
37
+ def self.user_charts_contains_other_usernames?(username)
38
+ USER_CHARTS.map { |chart| chart.username }.uniq != [username]
39
+ end
40
+
41
+ def self.get_user_charts_from_gittip(username)
42
+ faraday.get("/#{username}/charts.json").body.to_a
43
+ end
44
+
45
+ def self.collect_charts_for(username)
46
+ get_user_charts_from_gittip(username).each do |chart_hash|
47
+ UserChart.new(chart_hash.merge({ "username" => username }))
48
+ end
49
+ end
50
+ end
51
+ end
@@ -1,3 +1,3 @@
1
1
  module Gratitude
2
- VERSION = "0.0.11"
2
+ VERSION = "0.0.12"
3
3
  end
data/lib/gratitude.rb CHANGED
@@ -3,6 +3,8 @@ require "faraday_middleware"
3
3
 
4
4
  require "gratitude/client"
5
5
  require "gratitude/connection"
6
+ require "gratitude/chart"
7
+ require "gratitude/user_chart"
6
8
  require "gratitude/payday"
7
9
  require "gratitude/profile"
8
10
  require "gratitude/statistics"
@@ -0,0 +1,73 @@
1
+ {
2
+ "http_interactions": [
3
+ {
4
+ "request": {
5
+ "method": "get",
6
+ "uri": "https://www.gittip.com/about/charts.json",
7
+ "body": {
8
+ "encoding": "US-ASCII",
9
+ "string": ""
10
+ },
11
+ "headers": {
12
+ "User-Agent": [
13
+ "Faraday v0.8.9"
14
+ ],
15
+ "Accept-Encoding": [
16
+ "gzip;q=1.0,deflate;q=0.6,identity;q=0.3"
17
+ ],
18
+ "Accept": [
19
+ "*/*"
20
+ ]
21
+ }
22
+ },
23
+ "response": {
24
+ "status": {
25
+ "code": 200,
26
+ "message": "OK"
27
+ },
28
+ "headers": {
29
+ "Access-Control-Allow-Origin": [
30
+ "*"
31
+ ],
32
+ "Content-Language": [
33
+ "en"
34
+ ],
35
+ "Content-Type": [
36
+ "application/json"
37
+ ],
38
+ "Date": [
39
+ "Sun, 30 Mar 2014 06:16:25 GMT"
40
+ ],
41
+ "Server": [
42
+ "Aspen! Cheroot!"
43
+ ],
44
+ "Set-Cookie": [
45
+ "csrf_token=JlL5ak2EMWe5iRhY9Us1C5NNAvXxUP8I; expires=Sun, 29 Mar 2015 06:16:25 GMT; Path=/"
46
+ ],
47
+ "Vary": [
48
+ "Cookie"
49
+ ],
50
+ "X-Frame-Options": [
51
+ "SAMEORIGIN"
52
+ ],
53
+ "X-Gittip-Version": [
54
+ "12.2.2"
55
+ ],
56
+ "Transfer-Encoding": [
57
+ "chunked"
58
+ ],
59
+ "Connection": [
60
+ "keep-alive"
61
+ ]
62
+ },
63
+ "body": {
64
+ "encoding": "UTF-8",
65
+ "string": "[\n {\n \"active_users\": 2696,\n \"charges\": 11254.43,\n \"date\": \"2014-03-27\",\n \"total_gifts\": 406490.81,\n \"total_users\": 27860,\n \"weekly_gifts\": 12747.74,\n \"withdrawals\": 6235.15\n },\n {\n \"active_users\": 2664,\n \"charges\": 11183.69,\n \"date\": \"2014-03-20\",\n \"total_gifts\": 393743.07,\n \"total_users\": 27548,\n \"weekly_gifts\": 12664.49,\n \"withdrawals\": 6012.52\n },\n {\n \"active_users\": 2657,\n \"charges\": 10943.74,\n \"date\": \"2014-03-13\",\n \"total_gifts\": 381078.58,\n \"total_users\": 27294,\n \"weekly_gifts\": 12257.50,\n \"withdrawals\": 5990.10\n },\n {\n \"active_users\": 2655,\n \"charges\": 10475.01,\n \"date\": \"2014-03-06\",\n \"total_gifts\": 368821.08,\n \"total_users\": 27036,\n \"weekly_gifts\": 12185.15,\n \"withdrawals\": 6522.65\n },\n {\n \"active_users\": 2605,\n \"charges\": 10961.88,\n \"date\": \"2014-02-27\",\n \"total_gifts\": 356635.93,\n \"total_users\": 26757,\n \"weekly_gifts\": 12140.45,\n \"withdrawals\": 5685.59\n },\n {\n \"active_users\": 2561,\n \"charges\": 10736.00,\n \"date\": \"2014-02-20\",\n \"total_gifts\": 344495.48,\n \"total_users\": 26375,\n \"weekly_gifts\": 11998.53,\n \"withdrawals\": 5597.80\n },\n {\n \"active_users\": 2486,\n \"charges\": 10228.48,\n \"date\": \"2014-02-13\",\n \"total_gifts\": 332496.95,\n \"total_users\": 25835,\n \"weekly_gifts\": 11683.23,\n \"withdrawals\": 5572.35\n },\n {\n \"active_users\": 2433,\n \"charges\": 9787.89,\n \"date\": \"2014-02-06\",\n \"total_gifts\": 320813.72,\n \"total_users\": 25478,\n \"weekly_gifts\": 10931.53,\n \"withdrawals\": 5067.17\n },\n {\n \"active_users\": 2376,\n \"charges\": 9548.17,\n \"date\": \"2014-01-30\",\n \"total_gifts\": 309882.19,\n \"total_users\": 25168,\n \"weekly_gifts\": 10663.52,\n \"withdrawals\": 5335.69\n },\n {\n \"active_users\": 2351,\n \"charges\": 8894.99,\n \"date\": \"2014-01-23\",\n \"total_gifts\": 299218.67,\n \"total_users\": 24894,\n \"weekly_gifts\": 10303.19,\n \"withdrawals\": 5280.30\n },\n {\n \"active_users\": 2325,\n \"charges\": 8801.85,\n \"date\": \"2014-01-16\",\n \"total_gifts\": 288915.48,\n \"total_users\": 24591,\n \"weekly_gifts\": 10084.65,\n \"withdrawals\": 4635.02\n },\n {\n \"active_users\": 2298,\n \"charges\": 7795.94,\n \"date\": \"2014-01-09\",\n \"total_gifts\": 278830.83,\n \"total_users\": 24239,\n \"weekly_gifts\": 9049.38,\n \"withdrawals\": 5609.08\n },\n {\n \"active_users\": 2289,\n \"charges\": 7236.75,\n \"date\": \"2014-01-02\",\n \"total_gifts\": 269781.45,\n \"total_users\": 23973,\n \"weekly_gifts\": 8685.91,\n \"withdrawals\": 4580.04\n },\n {\n \"active_users\": 2261,\n \"charges\": 7725.38,\n \"date\": \"2013-12-26\",\n \"total_gifts\": 261095.54,\n \"total_users\": 23735,\n \"weekly_gifts\": 8891.30,\n \"withdrawals\": 5760.15\n },\n {\n \"active_users\": 2247,\n \"charges\": 8044.68,\n \"date\": \"2013-12-19\",\n \"total_gifts\": 252204.24,\n \"total_users\": 23552,\n \"weekly_gifts\": 9142.44,\n \"withdrawals\": 6757.06\n },\n {\n \"active_users\": 2228,\n \"charges\": 7494.41,\n \"date\": \"2013-12-12\",\n \"total_gifts\": 243061.80,\n \"total_users\": 23254,\n \"weekly_gifts\": 8696.20,\n \"withdrawals\": 4262.29\n },\n {\n \"active_users\": 2170,\n \"charges\": 7087.26,\n \"date\": \"2013-12-05\",\n \"total_gifts\": 234365.60,\n \"total_users\": 22968,\n \"weekly_gifts\": 8346.01,\n \"withdrawals\": 5216.02\n },\n {\n \"active_users\": 2141,\n \"charges\": 7097.47,\n \"date\": \"2013-11-28\",\n \"total_gifts\": 226019.59,\n \"total_users\": 22664,\n \"weekly_gifts\": 8173.25,\n \"withdrawals\": 3794.60\n },\n {\n \"active_users\": 2094,\n \"charges\": 7234.16,\n \"date\": \"2013-11-21\",\n \"total_gifts\": 217846.34,\n \"total_users\": 22401,\n \"weekly_gifts\": 8135.63,\n \"withdrawals\": 3972.16\n },\n {\n \"active_users\": 1993,\n \"charges\": 6591.48,\n \"date\": \"2013-11-14\",\n \"total_gifts\": 209710.71,\n \"total_users\": 21968,\n \"weekly_gifts\": 7461.77,\n \"withdrawals\": 3546.26\n },\n {\n \"active_users\": 1957,\n \"charges\": 6247.80,\n \"date\": \"2013-11-07\",\n \"total_gifts\": 202248.94,\n \"total_users\": 21638,\n \"weekly_gifts\": 7293.14,\n \"withdrawals\": 4032.30\n },\n {\n \"active_users\": 1909,\n \"charges\": 5565.28,\n \"date\": \"2013-10-31\",\n \"total_gifts\": 194955.80,\n \"total_users\": 21405,\n \"weekly_gifts\": 6619.16,\n \"withdrawals\": 2942.66\n },\n {\n \"active_users\": 1907,\n \"charges\": 6011.21,\n \"date\": \"2013-10-24\",\n \"total_gifts\": 188336.64,\n \"total_users\": 21130,\n \"weekly_gifts\": 6930.32,\n \"withdrawals\": 3585.33\n },\n {\n \"active_users\": 1866,\n \"charges\": 5710.93,\n \"date\": \"2013-10-17\",\n \"total_gifts\": 181406.32,\n \"total_users\": 20828,\n \"weekly_gifts\": 6594.63,\n \"withdrawals\": 2927.00\n },\n {\n \"active_users\": 1851,\n \"charges\": 5625.16,\n \"date\": \"2013-10-10\",\n \"total_gifts\": 174811.69,\n \"total_users\": 20600,\n \"weekly_gifts\": 6630.89,\n \"withdrawals\": 2766.60\n },\n {\n \"active_users\": 1825,\n \"charges\": 5475.93,\n \"date\": \"2013-10-03\",\n \"total_gifts\": 168180.80,\n \"total_users\": 20386,\n \"weekly_gifts\": 6401.60,\n \"withdrawals\": 2737.75\n },\n {\n \"active_users\": 1780,\n \"charges\": 5000.01,\n \"date\": \"2013-09-26\",\n \"total_gifts\": 161779.20,\n \"total_users\": 20149,\n \"weekly_gifts\": 5907.34,\n \"withdrawals\": 3440.16\n },\n {\n \"active_users\": 1761,\n \"charges\": 5373.74,\n \"date\": \"2013-09-19\",\n \"total_gifts\": 155871.86,\n \"total_users\": 19866,\n \"weekly_gifts\": 6052.72,\n \"withdrawals\": 2596.04\n },\n {\n \"active_users\": 1719,\n \"charges\": 4583.22,\n \"date\": \"2013-09-12\",\n \"total_gifts\": 149819.14,\n \"total_users\": 19596,\n \"weekly_gifts\": 5464.38,\n \"withdrawals\": 2246.96\n },\n {\n \"active_users\": 1709,\n \"charges\": 4972.77,\n \"date\": \"2013-09-05\",\n \"total_gifts\": 144354.76,\n \"total_users\": 19253,\n \"weekly_gifts\": 5768.64,\n \"withdrawals\": 2176.68\n },\n {\n \"active_users\": 1668,\n \"charges\": 4580.12,\n \"date\": \"2013-08-29\",\n \"total_gifts\": 138586.12,\n \"total_users\": 18882,\n \"weekly_gifts\": 5197.81,\n \"withdrawals\": 2909.46\n },\n {\n \"active_users\": 1608,\n \"charges\": 4818.22,\n \"date\": \"2013-08-22\",\n \"total_gifts\": 133388.31,\n \"total_users\": 18495,\n \"weekly_gifts\": 5322.65,\n \"withdrawals\": 2152.78\n },\n {\n \"active_users\": 1564,\n \"charges\": 4885.14,\n \"date\": \"2013-08-15\",\n \"total_gifts\": 128065.66,\n \"total_users\": 18247,\n \"weekly_gifts\": 5225.07,\n \"withdrawals\": 2083.57\n },\n {\n \"active_users\": 1465,\n \"charges\": 3910.39,\n \"date\": \"2013-08-08\",\n \"total_gifts\": 122840.59,\n \"total_users\": 17707,\n \"weekly_gifts\": 4358.61,\n \"withdrawals\": 1825.88\n },\n {\n \"active_users\": 1404,\n \"charges\": 3690.53,\n \"date\": \"2013-08-01\",\n \"total_gifts\": 118481.98,\n \"total_users\": 17324,\n \"weekly_gifts\": 4425.03,\n \"withdrawals\": 1928.64\n },\n {\n \"active_users\": 1347,\n \"charges\": 3591.77,\n \"date\": \"2013-07-25\",\n \"total_gifts\": 114056.95,\n \"total_users\": 17052,\n \"weekly_gifts\": 4427.93,\n \"withdrawals\": 1885.84\n },\n {\n \"active_users\": 1331,\n \"charges\": 3733.98,\n \"date\": \"2013-07-18\",\n \"total_gifts\": 109629.02,\n \"total_users\": 16707,\n \"weekly_gifts\": 4219.47,\n \"withdrawals\": 2095.21\n },\n {\n \"active_users\": 1281,\n \"charges\": 3404.34,\n \"date\": \"2013-07-11\",\n \"total_gifts\": 105409.55,\n \"total_users\": 15856,\n \"weekly_gifts\": 4213.72,\n \"withdrawals\": 1809.39\n },\n {\n \"active_users\": 1273,\n \"charges\": 3119.29,\n \"date\": \"2013-07-04\",\n \"total_gifts\": 101195.83,\n \"total_users\": 15456,\n \"weekly_gifts\": 4127.63,\n \"withdrawals\": 1849.21\n },\n {\n \"active_users\": 1254,\n \"charges\": 3298.75,\n \"date\": \"2013-06-27\",\n \"total_gifts\": 97068.20,\n \"total_users\": 15214,\n \"weekly_gifts\": 4110.90,\n \"withdrawals\": 1944.99\n },\n {\n \"active_users\": 1211,\n \"charges\": 3516.74,\n \"date\": \"2013-06-20\",\n \"total_gifts\": 92957.30,\n \"total_users\": 14886,\n \"weekly_gifts\": 4148.37,\n \"withdrawals\": 2024.73\n },\n {\n \"active_users\": 1200,\n \"charges\": 2829.78,\n \"date\": \"2013-06-13\",\n \"total_gifts\": 88808.93,\n \"total_users\": 14618,\n \"weekly_gifts\": 3584.21,\n \"withdrawals\": 1451.13\n },\n {\n \"active_users\": 1181,\n \"charges\": 2677.06,\n \"date\": \"2013-06-06\",\n \"total_gifts\": 85224.72,\n \"total_users\": 14254,\n \"weekly_gifts\": 3659.21,\n \"withdrawals\": 1673.18\n },\n {\n \"active_users\": 1146,\n \"charges\": 2931.48,\n \"date\": \"2013-05-30\",\n \"total_gifts\": 81565.51,\n \"total_users\": 13906,\n \"weekly_gifts\": 3391.71,\n \"withdrawals\": 1332.61\n },\n {\n \"active_users\": 1118,\n \"charges\": 2844.15,\n \"date\": \"2013-05-23\",\n \"total_gifts\": 78173.80,\n \"total_users\": 13527,\n \"weekly_gifts\": 3449.21,\n \"withdrawals\": 1471.32\n },\n {\n \"active_users\": 1092,\n \"charges\": 3258.74,\n \"date\": \"2013-05-16\",\n \"total_gifts\": 74724.59,\n \"total_users\": 12988,\n \"weekly_gifts\": 3371.13,\n \"withdrawals\": 2002.82\n },\n {\n \"active_users\": 1000,\n \"charges\": 2515.20,\n \"date\": \"2013-05-09\",\n \"total_gifts\": 71353.46,\n \"total_users\": 11742,\n \"weekly_gifts\": 2881.62,\n \"withdrawals\": 1295.46\n },\n {\n \"active_users\": 955,\n \"charges\": 2224.54,\n \"date\": \"2013-05-02\",\n \"total_gifts\": 68471.84,\n \"total_users\": 11324,\n \"weekly_gifts\": 2731.37,\n \"withdrawals\": 1418.33\n },\n {\n \"active_users\": 923,\n \"charges\": 2457.44,\n \"date\": \"2013-04-25\",\n \"total_gifts\": 65740.47,\n \"total_users\": 11004,\n \"weekly_gifts\": 2896.12,\n \"withdrawals\": 1311.13\n },\n {\n \"active_users\": 873,\n \"charges\": 2649.20,\n \"date\": \"2013-04-18\",\n \"total_gifts\": 62844.35,\n \"total_users\": 10666,\n \"weekly_gifts\": 2716.05,\n \"withdrawals\": 1315.96\n },\n {\n \"active_users\": 762,\n \"charges\": 2084.76,\n \"date\": \"2013-04-11\",\n \"total_gifts\": 60128.30,\n \"total_users\": 9739,\n \"weekly_gifts\": 2234.39,\n \"withdrawals\": 1083.94\n },\n {\n \"active_users\": 740,\n \"charges\": 1884.47,\n \"date\": \"2013-04-04\",\n \"total_gifts\": 57893.91,\n \"total_users\": 9531,\n \"weekly_gifts\": 2342.39,\n \"withdrawals\": 1160.06\n },\n {\n \"active_users\": 695,\n \"charges\": 2271.08,\n \"date\": \"2013-03-28\",\n \"total_gifts\": 55551.52,\n \"total_users\": 9314,\n \"weekly_gifts\": 2393.89,\n \"withdrawals\": 1365.47\n },\n {\n \"active_users\": 640,\n \"charges\": 2032.42,\n \"date\": \"2013-03-22\",\n \"total_gifts\": 53157.63,\n \"total_users\": 9076,\n \"weekly_gifts\": 2212.39,\n \"withdrawals\": 1359.50\n },\n {\n \"active_users\": 602,\n \"charges\": 1728.46,\n \"date\": \"2013-03-14\",\n \"total_gifts\": 50945.24,\n \"total_users\": 8846,\n \"weekly_gifts\": 2021.14,\n \"withdrawals\": 990.24\n },\n {\n \"active_users\": 583,\n \"charges\": 1711.26,\n \"date\": \"2013-03-07\",\n \"total_gifts\": 48924.10,\n \"total_users\": 8649,\n \"weekly_gifts\": 1933.14,\n \"withdrawals\": 896.71\n },\n {\n \"active_users\": 558,\n \"charges\": 1538.96,\n \"date\": \"2013-02-28\",\n \"total_gifts\": 46990.96,\n \"total_users\": 8482,\n \"weekly_gifts\": 1843.98,\n \"withdrawals\": 2975.45\n },\n {\n \"active_users\": 533,\n \"charges\": 1360.48,\n \"date\": \"2013-02-21\",\n \"total_gifts\": 45146.98,\n \"total_users\": 8288,\n \"weekly_gifts\": 1678.48,\n \"withdrawals\": 562.23\n },\n {\n \"active_users\": 515,\n \"charges\": 1493.25,\n \"date\": \"2013-02-14\",\n \"total_gifts\": 43468.50,\n \"total_users\": 8156,\n \"weekly_gifts\": 1730.06,\n \"withdrawals\": 2004.37\n },\n {\n \"active_users\": 457,\n \"charges\": 1483.76,\n \"date\": \"2013-02-07\",\n \"total_gifts\": 41738.44,\n \"total_users\": 7836,\n \"weekly_gifts\": 1623.88,\n \"withdrawals\": 1021.08\n },\n {\n \"active_users\": 455,\n \"charges\": 1320.61,\n \"date\": \"2013-01-31\",\n \"total_gifts\": 40114.56,\n \"total_users\": 7734,\n \"weekly_gifts\": 1542.88,\n \"withdrawals\": 590.64\n },\n {\n \"active_users\": 458,\n \"charges\": 1238.02,\n \"date\": \"2013-01-24\",\n \"total_gifts\": 38571.68,\n \"total_users\": 7641,\n \"weekly_gifts\": 1551.95,\n \"withdrawals\": 562.50\n },\n {\n \"active_users\": 456,\n \"charges\": 1477.38,\n \"date\": \"2013-01-17\",\n \"total_gifts\": 37019.73,\n \"total_users\": 7517,\n \"weekly_gifts\": 1506.70,\n \"withdrawals\": 602.69\n },\n {\n \"active_users\": 443,\n \"charges\": 1298.85,\n \"date\": \"2013-01-10\",\n \"total_gifts\": 35513.03,\n \"total_users\": 7336,\n \"weekly_gifts\": 1471.19,\n \"withdrawals\": 563.51\n },\n {\n \"active_users\": 432,\n \"charges\": 1241.60,\n \"date\": \"2013-01-03\",\n \"total_gifts\": 34041.84,\n \"total_users\": 7173,\n \"weekly_gifts\": 1425.24,\n \"withdrawals\": 526.02\n },\n {\n \"active_users\": 423,\n \"charges\": 1282.19,\n \"date\": \"2012-12-27\",\n \"total_gifts\": 32616.60,\n \"total_users\": 7088,\n \"weekly_gifts\": 1447.74,\n \"withdrawals\": 559.07\n },\n {\n \"active_users\": 429,\n \"charges\": 1350.72,\n \"date\": \"2012-12-20\",\n \"total_gifts\": 31168.86,\n \"total_users\": 7016,\n \"weekly_gifts\": 1457.02,\n \"withdrawals\": 529.42\n },\n {\n \"active_users\": 423,\n \"charges\": 1219.30,\n \"date\": \"2012-12-13\",\n \"total_gifts\": 29711.84,\n \"total_users\": 6882,\n \"weekly_gifts\": 1426.53,\n \"withdrawals\": 496.60\n },\n {\n \"active_users\": 419,\n \"charges\": 1272.94,\n \"date\": \"2012-12-06\",\n \"total_gifts\": 28285.31,\n \"total_users\": 6785,\n \"weekly_gifts\": 1372.61,\n \"withdrawals\": 305.03\n },\n {\n \"active_users\": 424,\n \"charges\": 1576.84,\n \"date\": \"2012-11-29\",\n \"total_gifts\": 26912.70,\n \"total_users\": 6660,\n \"weekly_gifts\": 1464.39,\n \"withdrawals\": 641.62\n },\n {\n \"active_users\": 431,\n \"charges\": 1207.69,\n \"date\": \"2012-11-22\",\n \"total_gifts\": 25448.31,\n \"total_users\": 6519,\n \"weekly_gifts\": 1491.89,\n \"withdrawals\": 606.30\n },\n {\n \"active_users\": 427,\n \"charges\": 1255.17,\n \"date\": \"2012-11-15\",\n \"total_gifts\": 23956.42,\n \"total_users\": 6427,\n \"weekly_gifts\": 1512.89,\n \"withdrawals\": 456.67\n },\n {\n \"active_users\": 429,\n \"charges\": 1385.79,\n \"date\": \"2012-11-08\",\n \"total_gifts\": 22443.53,\n \"total_users\": 6303,\n \"weekly_gifts\": 1529.61,\n \"withdrawals\": 429.02\n },\n {\n \"active_users\": 426,\n \"charges\": 1216.72,\n \"date\": \"2012-11-01\",\n \"total_gifts\": 20913.92,\n \"total_users\": 6099,\n \"weekly_gifts\": 1407.14,\n \"withdrawals\": 665.16\n },\n {\n \"active_users\": 433,\n \"charges\": 1405.33,\n \"date\": \"2012-10-25\",\n \"total_gifts\": 19506.78,\n \"total_users\": 6004,\n \"weekly_gifts\": 1602.72,\n \"withdrawals\": 567.02\n },\n {\n \"active_users\": 431,\n \"charges\": 1451.11,\n \"date\": \"2012-10-18\",\n \"total_gifts\": 17904.06,\n \"total_users\": 5879,\n \"weekly_gifts\": 1663.72,\n \"withdrawals\": 674.47\n },\n {\n \"active_users\": 432,\n \"charges\": 1390.08,\n \"date\": \"2012-10-11\",\n \"total_gifts\": 16240.34,\n \"total_users\": 5775,\n \"weekly_gifts\": 1667.59,\n \"withdrawals\": 631.64\n },\n {\n \"active_users\": 428,\n \"charges\": 1546.83,\n \"date\": \"2012-10-04\",\n \"total_gifts\": 14572.75,\n \"total_users\": 5654,\n \"weekly_gifts\": 1542.36,\n \"withdrawals\": 1236.98\n },\n {\n \"active_users\": 402,\n \"charges\": 1404.85,\n \"date\": \"2012-09-27\",\n \"total_gifts\": 13030.39,\n \"total_users\": 5308,\n \"weekly_gifts\": 1358.92,\n \"withdrawals\": 370.14\n },\n {\n \"active_users\": 370,\n \"charges\": 1109.73,\n \"date\": \"2012-09-20\",\n \"total_gifts\": 11671.47,\n \"total_users\": 4741,\n \"weekly_gifts\": 1261.82,\n \"withdrawals\": 307.90\n },\n {\n \"active_users\": 361,\n \"charges\": 1208.16,\n \"date\": \"2012-09-13\",\n \"total_gifts\": 10409.65,\n \"total_users\": 4639,\n \"weekly_gifts\": 1225.52,\n \"withdrawals\": 491.81\n },\n {\n \"active_users\": 343,\n \"charges\": 1084.32,\n \"date\": \"2012-09-06\",\n \"total_gifts\": 9184.13,\n \"total_users\": 4512,\n \"weekly_gifts\": 1174.43,\n \"withdrawals\": 309.34\n },\n {\n \"active_users\": 337,\n \"charges\": 914.85,\n \"date\": \"2012-08-31\",\n \"total_gifts\": 8009.70,\n \"total_users\": 4414,\n \"weekly_gifts\": 1127.43,\n \"withdrawals\": 931.37\n },\n {\n \"active_users\": 322,\n \"charges\": 1054.66,\n \"date\": \"2012-08-24\",\n \"total_gifts\": 6882.27,\n \"total_users\": 4176,\n \"weekly_gifts\": 1070.07,\n \"withdrawals\": 1147.50\n },\n {\n \"active_users\": 313,\n \"charges\": 964.40,\n \"date\": \"2012-08-17\",\n \"total_gifts\": 5812.20,\n \"total_users\": 4067,\n \"weekly_gifts\": 1052.09,\n \"withdrawals\": 0.00\n },\n {\n \"active_users\": 298,\n \"charges\": 857.89,\n \"date\": \"2012-08-10\",\n \"total_gifts\": 4760.11,\n \"total_users\": 3971,\n \"weekly_gifts\": 1038.38,\n \"withdrawals\": 0.00\n },\n {\n \"active_users\": 286,\n \"charges\": 986.37,\n \"date\": \"2012-08-03\",\n \"total_gifts\": 3721.73,\n \"total_users\": 3799,\n \"weekly_gifts\": 997.27,\n \"withdrawals\": 0.00\n },\n {\n \"active_users\": 261,\n \"charges\": 1623.21,\n \"date\": \"2012-07-27\",\n \"total_gifts\": 2724.46,\n \"total_users\": 3536,\n \"weekly_gifts\": 955.53,\n \"withdrawals\": 0.00\n },\n {\n \"active_users\": 191,\n \"charges\": 509.51,\n \"date\": \"2012-07-20\",\n \"total_gifts\": 1768.93,\n \"total_users\": 1894,\n \"weekly_gifts\": 600.99,\n \"withdrawals\": 0.00\n },\n {\n \"active_users\": 176,\n \"charges\": 555.27,\n \"date\": \"2012-07-13\",\n \"total_gifts\": 1167.94,\n \"total_users\": 1695,\n \"weekly_gifts\": 615.66,\n \"withdrawals\": 0.00\n },\n {\n \"active_users\": 130,\n \"charges\": 375.24,\n \"date\": \"2012-07-06\",\n \"total_gifts\": 552.28,\n \"total_users\": 1239,\n \"weekly_gifts\": 379.56,\n \"withdrawals\": 0.00\n },\n {\n \"active_users\": 95,\n \"charges\": 111.00,\n \"date\": \"2012-06-29\",\n \"total_gifts\": 172.72,\n \"total_users\": 831,\n \"weekly_gifts\": 110.64,\n \"withdrawals\": 0.00\n },\n {\n \"active_users\": 50,\n \"charges\": 25.29,\n \"date\": \"2012-06-22\",\n \"total_gifts\": 62.08,\n \"total_users\": 621,\n \"weekly_gifts\": 30.08,\n \"withdrawals\": 0.00\n },\n {\n \"active_users\": 25,\n \"charges\": 2.05,\n \"date\": \"2012-06-15\",\n \"total_gifts\": 32.00,\n \"total_users\": 477,\n \"weekly_gifts\": 4.24,\n \"withdrawals\": 0.00\n },\n {\n \"active_users\": 25,\n \"charges\": 25.28,\n \"date\": \"2012-06-08\",\n \"total_gifts\": 27.76,\n \"total_users\": 175,\n \"weekly_gifts\": 24.80,\n \"withdrawals\": 0.00\n }\n]"
66
+ },
67
+ "http_version": null
68
+ },
69
+ "recorded_at": "Sun, 30 Mar 2014 06:16:25 GMT"
70
+ }
71
+ ],
72
+ "recorded_with": "VCR 2.9.0"
73
+ }
@@ -0,0 +1 @@
1
+ {"http_interactions":[{"request":{"method":"get","uri":"https://www.gittip.com/about/Gittip/charts.json","body":{"encoding":"US-ASCII","string":""},"headers":{"User-Agent":["Faraday v0.8.9"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":404,"message":"Not Found"},"headers":{"Content-Language":["en"],"Content-Type":["text/html; charset=UTF-8"],"Date":["Sun, 30 Mar 2014 15:49:44 GMT"],"Server":["Aspen! Cheroot!"],"Set-Cookie":["csrf_token=HA17vMK7acaww8qVMQJPKkFQi3WI4Jd2; expires=Sun, 29 Mar 2015 15:49:44 GMT; Path=/"],"Vary":["Cookie"],"X-Frame-Options":["SAMEORIGIN"],"X-Gittip-Version":["12.2.2"],"Transfer-Encoding":["chunked"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","string":"<!DOCTYPE html>\n<html lang=\"en\">\n<head prefix=\"og: http://ogp.me/ns# fb: http://ogp.me/ns/fb#\">\n <title>Gittip</title>\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n <link rel=\"stylesheet\" href=\"https://assets-gittipllc.netdna-ssl.com/reset.css\" type=\"text/css\">\n <link rel=\"stylesheet\" href=\"https://assets-gittipllc.netdna-ssl.com/12.2.2/gittip.css\" type=\"text/css\">\n <link rel=\"stylesheet\" href=\"https://assets-gittipllc.netdna-ssl.com/chosen/chosen.css\" type=\"text/css\">\n\n \n</head>\n<body>\n <div class=\"container\">\n <div id=\"header\">\n <table><tr><td class=\"logo\">\n <h1>\n <a href=\"/\">\n <img src=\"/assets/12.2.2/logo.png\"\n alt=\"Gittip\" />\n </a>\n </h1>\n </td><td class=\"motto luxury\">\n <a href='/about/charts.html'>2,700 users exchanging $12,700 per week</a>\n </td></tr></table>\n \n \n\n<div class=\"sign-in\">\n <div class=\"dropdown\">\n <button class=\"dropdown-toggle\" data-toggle=\"dropdown\">Sign in <b class=\"caret\"></b></button>\n <ul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"dLabel\">\n \n <li class=\"twitter\">\n \n <form action=\"/on/twitter/redirect\" method=\"post\" class=\"auth-button\">\n <input type=\"hidden\" name=\"action\" value=\"opt-in\" />\n <input type=\"hidden\" name=\"then\" value=\"/about/Gittip/charts.json\" />\n <input type=\"hidden\" name=\"user_name\" value=\"\" />\n <input type=\"hidden\" name=\"csrf_token\" value=\"HA17vMK7acaww8qVMQJPKkFQi3WI4Jd2\" />\n <button type=\"submit\">\n Twitter\n </button>\n </form>\n\n </li>\n \n <li class=\"github\">\n \n <form action=\"/on/github/redirect\" method=\"post\" class=\"auth-button\">\n <input type=\"hidden\" name=\"action\" value=\"opt-in\" />\n <input type=\"hidden\" name=\"then\" value=\"/about/Gittip/charts.json\" />\n <input type=\"hidden\" name=\"user_name\" value=\"\" />\n <input type=\"hidden\" name=\"csrf_token\" value=\"HA17vMK7acaww8qVMQJPKkFQi3WI4Jd2\" />\n <button type=\"submit\">\n GitHub\n </button>\n </form>\n\n </li>\n \n <li class=\"bitbucket\">\n \n <form action=\"/on/bitbucket/redirect\" method=\"post\" class=\"auth-button\">\n <input type=\"hidden\" name=\"action\" value=\"opt-in\" />\n <input type=\"hidden\" name=\"then\" value=\"/about/Gittip/charts.json\" />\n <input type=\"hidden\" name=\"user_name\" value=\"\" />\n <input type=\"hidden\" name=\"csrf_token\" value=\"HA17vMK7acaww8qVMQJPKkFQi3WI4Jd2\" />\n <button type=\"submit\">\n Bitbucket\n </button>\n </form>\n\n </li>\n \n <li class=\"openstreetmap\">\n \n <form action=\"/on/openstreetmap/redirect\" method=\"post\" class=\"auth-button\">\n <input type=\"hidden\" name=\"action\" value=\"opt-in\" />\n <input type=\"hidden\" name=\"then\" value=\"/about/Gittip/charts.json\" />\n <input type=\"hidden\" name=\"user_name\" value=\"\" />\n <input type=\"hidden\" name=\"csrf_token\" value=\"HA17vMK7acaww8qVMQJPKkFQi3WI4Jd2\" />\n <button type=\"submit\">\n OpenStreetMap\n </button>\n </form>\n\n </li>\n \n </ul>\n </div>\n</div>\n \n </div>\n </div>\n\n <div id=\"hero\">\n <div class=\"container\">\n \n <h2 class=\"top\">\n <span>Page Not Found</span>\n </h2>\n\n </div>\n </div>\n\n <div class=\"container\">\n \n <div class=\"box\">\n \n\n<p class=\"as-content\">\n Sorry, we can't find the page that you are searching for.\n</p>\n\n<div class=\"nav level-1\"><a href=\"/\"><button>Home</button></a></div>\n\n\n </div>\n \n <div id=\"page\" class=\"group\">\n \n </div>\n\n <div id=\"footer\">\n <div class=\"social\">\n <a href=\"https://twitter.com/gittip\"><img src=\"/assets/icons/twitter.16.png\" /></a>\n </div>\n <ul>\n <li><a href='http://blog.gittip.com/'>Blog</a></li>\n <li><a href=\"/about/\">About</a></li>\n <li><a href=\"https://github.com/gittip/www.gittip.com\">Source</a></li>\n <li><a href='/about/faq.html'>FAQ</a></li>\n <li><a href='/about/stats.html'>Stats</a></li>\n <li><a href='/about/charts.html'>Charts</a></li>\n <li><a href=\"/about/terms/\">Terms</a></li>\n <li><a href=\"/about/privacy/\">Privacy</a></li>\n <li><a href='/about/fraud/'>Fraud</a></li>\n <li><a href='/security.txt'>Security</a></li>\n </ul>\n </div>\n </div>\n\n \n <script type=\"text/javascript\">\n\n var _gaq = _gaq || [];\n _gaq.push(['_setAccount', 'UA-247427-33']);\n _gaq.push(['_setDomainName', '.gittip.com']);\n _gaq.push(['_trackPageview']);\n\n (function() {\n var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\n ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n })();\n\n </script>\n \n\n <script src=\"https://assets-gittipllc.netdna-ssl.com/jquery-1.10.2.min.js\"></script>\n\n <!-- Used on the profile edit page for the community chooser. -->\n <script src=\"https://assets-gittipllc.netdna-ssl.com/chosen/chosen.jquery.min.js\"></script>\n\n <script src=\"https://assets-gittipllc.netdna-ssl.com/tipr.min.js\"></script>\n\n <script src=\"https://assets-gittipllc.netdna-ssl.com/12.2.2/vendor/bootstrap-dropdown.js\"></script>\n\n <script src=\"https://assets-gittipllc.netdna-ssl.com/12.2.2/utils.js\"></script>\n <script src=\"https://assets-gittipllc.netdna-ssl.com/12.2.2/gittip.js\"></script>\n <script>$(document).ready(Gittip.init);</script>\n \n\n \n</body>\n</html>"},"http_version":null},"recorded_at":"Sun, 30 Mar 2014 15:49:44 GMT"},{"request":{"method":"get","uri":"https://www.gittip.com/about/whit537/charts.json","body":{"encoding":"US-ASCII","string":""},"headers":{"User-Agent":["Faraday v0.8.9"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":404,"message":"Not Found"},"headers":{"Content-Language":["en"],"Content-Type":["text/html; charset=UTF-8"],"Date":["Sun, 30 Mar 2014 15:49:44 GMT"],"Server":["Aspen! Cheroot!"],"Set-Cookie":["csrf_token=6vpcwNFuoqzcRn4d3ZmWxG4u9Ac5OyWz; expires=Sun, 29 Mar 2015 15:49:44 GMT; Path=/"],"Vary":["Cookie"],"X-Frame-Options":["SAMEORIGIN"],"X-Gittip-Version":["12.2.2"],"Content-Length":["5964"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","string":"<!DOCTYPE html>\n<html lang=\"en\">\n<head prefix=\"og: http://ogp.me/ns# fb: http://ogp.me/ns/fb#\">\n <title>Gittip</title>\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n <link rel=\"stylesheet\" href=\"https://assets-gittipllc.netdna-ssl.com/reset.css\" type=\"text/css\">\n <link rel=\"stylesheet\" href=\"https://assets-gittipllc.netdna-ssl.com/12.2.2/gittip.css\" type=\"text/css\">\n <link rel=\"stylesheet\" href=\"https://assets-gittipllc.netdna-ssl.com/chosen/chosen.css\" type=\"text/css\">\n\n \n</head>\n<body>\n <div class=\"container\">\n <div id=\"header\">\n <table><tr><td class=\"logo\">\n <h1>\n <a href=\"/\">\n <img src=\"/assets/12.2.2/logo.png\"\n alt=\"Gittip\" />\n </a>\n </h1>\n </td><td class=\"motto luxury\">\n <a href='/about/charts.html'>2,700 users exchanging $12,700 per week</a>\n </td></tr></table>\n \n \n\n<div class=\"sign-in\">\n <div class=\"dropdown\">\n <button class=\"dropdown-toggle\" data-toggle=\"dropdown\">Sign in <b class=\"caret\"></b></button>\n <ul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"dLabel\">\n \n <li class=\"twitter\">\n \n <form action=\"/on/twitter/redirect\" method=\"post\" class=\"auth-button\">\n <input type=\"hidden\" name=\"action\" value=\"opt-in\" />\n <input type=\"hidden\" name=\"then\" value=\"/about/whit537/charts.json\" />\n <input type=\"hidden\" name=\"user_name\" value=\"\" />\n <input type=\"hidden\" name=\"csrf_token\" value=\"6vpcwNFuoqzcRn4d3ZmWxG4u9Ac5OyWz\" />\n <button type=\"submit\">\n Twitter\n </button>\n </form>\n\n </li>\n \n <li class=\"github\">\n \n <form action=\"/on/github/redirect\" method=\"post\" class=\"auth-button\">\n <input type=\"hidden\" name=\"action\" value=\"opt-in\" />\n <input type=\"hidden\" name=\"then\" value=\"/about/whit537/charts.json\" />\n <input type=\"hidden\" name=\"user_name\" value=\"\" />\n <input type=\"hidden\" name=\"csrf_token\" value=\"6vpcwNFuoqzcRn4d3ZmWxG4u9Ac5OyWz\" />\n <button type=\"submit\">\n GitHub\n </button>\n </form>\n\n </li>\n \n <li class=\"bitbucket\">\n \n <form action=\"/on/bitbucket/redirect\" method=\"post\" class=\"auth-button\">\n <input type=\"hidden\" name=\"action\" value=\"opt-in\" />\n <input type=\"hidden\" name=\"then\" value=\"/about/whit537/charts.json\" />\n <input type=\"hidden\" name=\"user_name\" value=\"\" />\n <input type=\"hidden\" name=\"csrf_token\" value=\"6vpcwNFuoqzcRn4d3ZmWxG4u9Ac5OyWz\" />\n <button type=\"submit\">\n Bitbucket\n </button>\n </form>\n\n </li>\n \n <li class=\"openstreetmap\">\n \n <form action=\"/on/openstreetmap/redirect\" method=\"post\" class=\"auth-button\">\n <input type=\"hidden\" name=\"action\" value=\"opt-in\" />\n <input type=\"hidden\" name=\"then\" value=\"/about/whit537/charts.json\" />\n <input type=\"hidden\" name=\"user_name\" value=\"\" />\n <input type=\"hidden\" name=\"csrf_token\" value=\"6vpcwNFuoqzcRn4d3ZmWxG4u9Ac5OyWz\" />\n <button type=\"submit\">\n OpenStreetMap\n </button>\n </form>\n\n </li>\n \n </ul>\n </div>\n</div>\n \n </div>\n </div>\n\n <div id=\"hero\">\n <div class=\"container\">\n \n <h2 class=\"top\">\n <span>Page Not Found</span>\n </h2>\n\n </div>\n </div>\n\n <div class=\"container\">\n \n <div class=\"box\">\n \n\n<p class=\"as-content\">\n Sorry, we can't find the page that you are searching for.\n</p>\n\n<div class=\"nav level-1\"><a href=\"/\"><button>Home</button></a></div>\n\n\n </div>\n \n <div id=\"page\" class=\"group\">\n \n </div>\n\n <div id=\"footer\">\n <div class=\"social\">\n <a href=\"https://twitter.com/gittip\"><img src=\"/assets/icons/twitter.16.png\" /></a>\n </div>\n <ul>\n <li><a href='http://blog.gittip.com/'>Blog</a></li>\n <li><a href=\"/about/\">About</a></li>\n <li><a href=\"https://github.com/gittip/www.gittip.com\">Source</a></li>\n <li><a href='/about/faq.html'>FAQ</a></li>\n <li><a href='/about/stats.html'>Stats</a></li>\n <li><a href='/about/charts.html'>Charts</a></li>\n <li><a href=\"/about/terms/\">Terms</a></li>\n <li><a href=\"/about/privacy/\">Privacy</a></li>\n <li><a href='/about/fraud/'>Fraud</a></li>\n <li><a href='/security.txt'>Security</a></li>\n </ul>\n </div>\n </div>\n\n \n <script type=\"text/javascript\">\n\n var _gaq = _gaq || [];\n _gaq.push(['_setAccount', 'UA-247427-33']);\n _gaq.push(['_setDomainName', '.gittip.com']);\n _gaq.push(['_trackPageview']);\n\n (function() {\n var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\n ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n })();\n\n </script>\n \n\n <script src=\"https://assets-gittipllc.netdna-ssl.com/jquery-1.10.2.min.js\"></script>\n\n <!-- Used on the profile edit page for the community chooser. -->\n <script src=\"https://assets-gittipllc.netdna-ssl.com/chosen/chosen.jquery.min.js\"></script>\n\n <script src=\"https://assets-gittipllc.netdna-ssl.com/tipr.min.js\"></script>\n\n <script src=\"https://assets-gittipllc.netdna-ssl.com/12.2.2/vendor/bootstrap-dropdown.js\"></script>\n\n <script src=\"https://assets-gittipllc.netdna-ssl.com/12.2.2/utils.js\"></script>\n <script src=\"https://assets-gittipllc.netdna-ssl.com/12.2.2/gittip.js\"></script>\n <script>$(document).ready(Gittip.init);</script>\n \n\n \n</body>\n</html>"},"http_version":null},"recorded_at":"Sun, 30 Mar 2014 15:49:44 GMT"},{"request":{"method":"get","uri":"https://www.gittip.com/Gittip/charts.json","body":{"encoding":"US-ASCII","string":""},"headers":{"User-Agent":["Faraday v0.8.9"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Language":["en"],"Content-Type":["application/json"],"Date":["Sun, 30 Mar 2014 15:51:11 GMT"],"Server":["Aspen! Cheroot!"],"Set-Cookie":["csrf_token=pnQZWKEdOxizVxmlHYXDMjP5A8tvkbNg; expires=Sun, 29 Mar 2015 15:51:11 GMT; Path=/"],"Vary":["Cookie"],"X-Frame-Options":["SAMEORIGIN"],"X-Gittip-Version":["12.2.2"],"Transfer-Encoding":["chunked"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","string":"[\n {\n \"date\": \"2014-03-27\",\n \"npatrons\": 137,\n \"receipts\": 416.94\n },\n {\n \"date\": \"2014-03-20\",\n \"npatrons\": 137,\n \"receipts\": 422.59\n },\n {\n \"date\": \"2014-03-13\",\n \"npatrons\": 138,\n \"receipts\": 391.71\n },\n {\n \"date\": \"2014-03-06\",\n \"npatrons\": 134,\n \"receipts\": 373.00\n },\n {\n \"date\": \"2014-02-27\",\n \"npatrons\": 134,\n \"receipts\": 345.76\n },\n {\n \"date\": \"2014-02-20\",\n \"npatrons\": 130,\n \"receipts\": 342.50\n },\n {\n \"date\": \"2014-02-13\",\n \"npatrons\": 130,\n \"receipts\": 359.25\n },\n {\n \"date\": \"2014-02-06\",\n \"npatrons\": 125,\n \"receipts\": 325.95\n },\n {\n \"date\": \"2014-01-30\",\n \"npatrons\": 125,\n \"receipts\": 315.20\n },\n {\n \"date\": \"2014-01-23\",\n \"npatrons\": 128,\n \"receipts\": 316.81\n },\n {\n \"date\": \"2014-01-16\",\n \"npatrons\": 126,\n \"receipts\": 285.41\n },\n {\n \"date\": \"2014-01-09\",\n \"npatrons\": 118,\n \"receipts\": 256.23\n },\n {\n \"date\": \"2014-01-02\",\n \"npatrons\": 111,\n \"receipts\": 230.75\n },\n {\n \"date\": \"2013-12-26\",\n \"npatrons\": 107,\n \"receipts\": 258.25\n },\n {\n \"date\": \"2013-12-19\",\n \"npatrons\": 108,\n \"receipts\": 258.00\n },\n {\n \"date\": \"2013-12-12\",\n \"npatrons\": 107,\n \"receipts\": 254.02\n },\n {\n \"date\": \"2013-12-05\",\n \"npatrons\": 106,\n \"receipts\": 247.82\n },\n {\n \"date\": \"2013-11-28\",\n \"npatrons\": 102,\n \"receipts\": 226.57\n },\n {\n \"date\": \"2013-11-21\",\n \"npatrons\": 104,\n \"receipts\": 246.82\n },\n {\n \"date\": \"2013-11-14\",\n \"npatrons\": 100,\n \"receipts\": 245.89\n },\n {\n \"date\": \"2013-11-07\",\n \"npatrons\": 101,\n \"receipts\": 239.75\n },\n {\n \"date\": \"2013-10-31\",\n \"npatrons\": 99,\n \"receipts\": 191.25\n },\n {\n \"date\": \"2013-10-24\",\n \"npatrons\": 96,\n \"receipts\": 203.48\n },\n {\n \"date\": \"2013-10-17\",\n \"npatrons\": 91,\n \"receipts\": 222.48\n },\n {\n \"date\": \"2013-10-10\",\n \"npatrons\": 92,\n \"receipts\": 224.23\n },\n {\n \"date\": \"2013-10-03\",\n \"npatrons\": 91,\n \"receipts\": 220.73\n },\n {\n \"date\": \"2013-09-26\",\n \"npatrons\": 85,\n \"receipts\": 217.98\n },\n {\n \"date\": \"2013-09-19\",\n \"npatrons\": 84,\n \"receipts\": 211.48\n },\n {\n \"date\": \"2013-09-12\",\n \"npatrons\": 81,\n \"receipts\": 206.88\n },\n {\n \"date\": \"2013-09-05\",\n \"npatrons\": 83,\n \"receipts\": 213.63\n },\n {\n \"date\": \"2013-08-29\",\n \"npatrons\": 81,\n \"receipts\": 222.67\n },\n {\n \"date\": \"2013-08-22\",\n \"npatrons\": 75,\n \"receipts\": 213.81\n },\n {\n \"date\": \"2013-08-15\",\n \"npatrons\": 72,\n \"receipts\": 210.81\n },\n {\n \"date\": \"2013-08-08\",\n \"npatrons\": 66,\n \"receipts\": 110.05\n },\n {\n \"date\": \"2013-08-01\",\n \"npatrons\": 63,\n \"receipts\": 113.35\n },\n {\n \"date\": \"2013-07-25\",\n \"npatrons\": 60,\n \"receipts\": 112.36\n },\n {\n \"date\": \"2013-07-18\",\n \"npatrons\": 53,\n \"receipts\": 118.75\n },\n {\n \"date\": \"2013-07-11\",\n \"npatrons\": 44,\n \"receipts\": 109.50\n },\n {\n \"date\": \"2013-07-04\",\n \"npatrons\": 38,\n \"receipts\": 121.25\n },\n {\n \"date\": \"2013-06-27\",\n \"npatrons\": 33,\n \"receipts\": 114.50\n },\n {\n \"date\": \"2013-06-20\",\n \"npatrons\": 31,\n \"receipts\": 113.25\n },\n {\n \"date\": \"2013-06-13\",\n \"npatrons\": 25,\n \"receipts\": 73.75\n },\n {\n \"date\": \"2013-06-06\",\n \"npatrons\": 22,\n \"receipts\": 48.50\n },\n {\n \"date\": \"2013-05-30\",\n \"npatrons\": 18,\n \"receipts\": 43.75\n },\n {\n \"date\": \"2013-05-23\",\n \"npatrons\": 18,\n \"receipts\": 43.75\n },\n {\n \"date\": \"2013-05-16\",\n \"npatrons\": 16,\n \"receipts\": 39.75\n },\n {\n \"date\": \"2013-05-09\",\n \"npatrons\": 13,\n \"receipts\": 15.25\n },\n {\n \"date\": \"2013-05-02\",\n \"npatrons\": 11,\n \"receipts\": 12.00\n },\n {\n \"date\": \"2013-04-25\",\n \"npatrons\": 11,\n \"receipts\": 12.00\n },\n {\n \"date\": \"2013-04-18\",\n \"npatrons\": 9,\n \"receipts\": 10.75,\n \"ts_start\": \"2013-04-18T14:11:24.158947+00:00\"\n },\n {\n \"date\": \"2013-04-11\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2013-04-11T11:47:12.931720+00:00\"\n },\n {\n \"date\": \"2013-04-04\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2013-04-04T11:39:18.681291+00:00\"\n },\n {\n \"date\": \"2013-03-28\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2013-03-28T13:05:23.740132+00:00\"\n },\n {\n \"date\": \"2013-03-22\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2013-03-22T12:11:45.041410+00:00\"\n },\n {\n \"date\": \"2013-03-14\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2013-03-14T19:44:55.774744+00:00\"\n },\n {\n \"date\": \"2013-03-07\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2013-03-07T13:00:08.405623+00:00\"\n },\n {\n \"date\": \"2013-02-28\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2013-02-28T17:11:06.449708+00:00\"\n },\n {\n \"date\": \"2013-02-21\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2013-02-21T17:08:55.242202+00:00\"\n },\n {\n \"date\": \"2013-02-14\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2013-02-14T13:38:08.967383+00:00\"\n },\n {\n \"date\": \"2013-02-07\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2013-02-07T12:00:20.239147+00:00\"\n },\n {\n \"date\": \"2013-01-31\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2013-01-31T14:21:29.964045+00:00\"\n },\n {\n \"date\": \"2013-01-24\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2013-01-24T14:15:23.073011+00:00\"\n },\n {\n \"date\": \"2013-01-17\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2013-01-17T14:05:01.620168+00:00\"\n },\n {\n \"date\": \"2013-01-10\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2013-01-10T12:32:05.299853+00:00\"\n },\n {\n \"date\": \"2013-01-03\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2013-01-03T13:41:18.062207+00:00\"\n },\n {\n \"date\": \"2012-12-27\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-12-27T12:32:21.391256+00:00\"\n },\n {\n \"date\": \"2012-12-20\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-12-20T12:51:36.881051+00:00\"\n },\n {\n \"date\": \"2012-12-13\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-12-13T13:09:06.330355+00:00\"\n },\n {\n \"date\": \"2012-12-06\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-12-06T13:27:27.158125+00:00\"\n },\n {\n \"date\": \"2012-11-29\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-11-29T12:45:18.180298+00:00\"\n },\n {\n \"date\": \"2012-11-22\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-11-22T15:37:59.390225+00:00\"\n },\n {\n \"date\": \"2012-11-15\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-11-15T14:37:56.650669+00:00\"\n },\n {\n \"date\": \"2012-11-08\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-11-08T20:47:52.767141+00:00\"\n },\n {\n \"date\": \"2012-11-01\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-11-01T23:07:31.044081+00:00\"\n },\n {\n \"date\": \"2012-10-25\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-10-25T12:02:52.010809+00:00\"\n },\n {\n \"date\": \"2012-10-18\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-10-18T13:45:51.045152+00:00\"\n },\n {\n \"date\": \"2012-10-11\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-10-11T16:00:55.171435+00:00\"\n },\n {\n \"date\": \"2012-10-04\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-10-04T13:09:59.575767+00:00\"\n },\n {\n \"date\": \"2012-09-27\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-09-27T13:59:13.358022+00:00\"\n },\n {\n \"date\": \"2012-09-20\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-09-20T12:42:03.698033+00:00\"\n },\n {\n \"date\": \"2012-09-13\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-09-13T06:38:51.300291+00:00\"\n },\n {\n \"date\": \"2012-09-06\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-09-06T22:29:53.060895+00:00\"\n },\n {\n \"date\": \"2012-08-31\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-08-31T12:53:04.080298+00:00\"\n },\n {\n \"date\": \"2012-08-24\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-08-24T13:25:40.605212+00:00\"\n },\n {\n \"date\": \"2012-08-17\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-08-17T18:39:59.835695+00:00\"\n },\n {\n \"date\": \"2012-08-10\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-08-10T19:05:05.938610+00:00\"\n },\n {\n \"date\": \"2012-08-03\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-08-03T14:57:42.935184+00:00\"\n },\n {\n \"date\": \"2012-07-27\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-07-27T20:51:21.754544+00:00\"\n },\n {\n \"date\": \"2012-07-20\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-07-20T19:28:19.952586+00:00\"\n },\n {\n \"date\": \"2012-07-13\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-07-13T17:49:02.299015+00:00\"\n },\n {\n \"date\": \"2012-07-06\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-07-06T18:37:13.603400+00:00\"\n },\n {\n \"date\": \"2012-06-29\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-06-29T17:05:03.867698+00:00\"\n },\n {\n \"date\": \"2012-06-22\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-06-22T15:30:42.882306+00:00\"\n },\n {\n \"date\": \"2012-06-15\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-06-15T11:09:54.298416+00:00\"\n },\n {\n \"date\": \"2012-06-08\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-06-08T12:02:45.182409+00:00\"\n }\n]"},"http_version":null},"recorded_at":"Sun, 30 Mar 2014 15:51:12 GMT"},{"request":{"method":"get","uri":"https://www.gittip.com/whit537/charts.json","body":{"encoding":"US-ASCII","string":""},"headers":{"User-Agent":["Faraday v0.8.9"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Language":["en"],"Content-Type":["application/json"],"Date":["Sun, 30 Mar 2014 15:51:19 GMT"],"Server":["Aspen! Cheroot!"],"Set-Cookie":["csrf_token=PhEzDzPaszuT3kwIKrvm1UzSFEfX2rt3; expires=Sun, 29 Mar 2015 15:51:19 GMT; Path=/"],"Vary":["Cookie"],"X-Frame-Options":["SAMEORIGIN"],"X-Gittip-Version":["12.2.2"],"Transfer-Encoding":["chunked"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","string":"[\n {\n \"date\": \"2014-03-27\",\n \"npatrons\": 223,\n \"receipts\": 562.02\n },\n {\n \"date\": \"2014-03-20\",\n \"npatrons\": 223,\n \"receipts\": 601.37\n },\n {\n \"date\": \"2014-03-13\",\n \"npatrons\": 221,\n \"receipts\": 588.81\n },\n {\n \"date\": \"2014-03-06\",\n \"npatrons\": 223,\n \"receipts\": 566.87\n },\n {\n \"date\": \"2014-02-27\",\n \"npatrons\": 228,\n \"receipts\": 577.12\n },\n {\n \"date\": \"2014-02-20\",\n \"npatrons\": 229,\n \"receipts\": 582.67\n },\n {\n \"date\": \"2014-02-13\",\n \"npatrons\": 225,\n \"receipts\": 577.32\n },\n {\n \"date\": \"2014-02-06\",\n \"npatrons\": 219,\n \"receipts\": 556.77\n },\n {\n \"date\": \"2014-01-30\",\n \"npatrons\": 218,\n \"receipts\": 545.77\n },\n {\n \"date\": \"2014-01-23\",\n \"npatrons\": 218,\n \"receipts\": 543.52\n },\n {\n \"date\": \"2014-01-16\",\n \"npatrons\": 214,\n \"receipts\": 529.22\n },\n {\n \"date\": \"2014-01-09\",\n \"npatrons\": 220,\n \"receipts\": 543.72\n },\n {\n \"date\": \"2014-01-02\",\n \"npatrons\": 218,\n \"receipts\": 523.78\n },\n {\n \"date\": \"2013-12-26\",\n \"npatrons\": 218,\n \"receipts\": 555.06\n },\n {\n \"date\": \"2013-12-19\",\n \"npatrons\": 215,\n \"receipts\": 565.81\n },\n {\n \"date\": \"2013-12-12\",\n \"npatrons\": 215,\n \"receipts\": 563.56\n },\n {\n \"date\": \"2013-12-05\",\n \"npatrons\": 208,\n \"receipts\": 553.51\n },\n {\n \"date\": \"2013-11-28\",\n \"npatrons\": 206,\n \"receipts\": 529.51\n },\n {\n \"date\": \"2013-11-21\",\n \"npatrons\": 207,\n \"receipts\": 549.26\n },\n {\n \"date\": \"2013-11-14\",\n \"npatrons\": 207,\n \"receipts\": 548.51\n },\n {\n \"date\": \"2013-11-07\",\n \"npatrons\": 205,\n \"receipts\": 538.51\n },\n {\n \"date\": \"2013-10-31\",\n \"npatrons\": 198,\n \"receipts\": 489.26\n },\n {\n \"date\": \"2013-10-24\",\n \"npatrons\": 196,\n \"receipts\": 502.01\n },\n {\n \"date\": \"2013-10-17\",\n \"npatrons\": 195,\n \"receipts\": 515.00\n },\n {\n \"date\": \"2013-10-10\",\n \"npatrons\": 200,\n \"receipts\": 523.00\n },\n {\n \"date\": \"2013-10-03\",\n \"npatrons\": 197,\n \"receipts\": 513.85\n },\n {\n \"date\": \"2013-09-26\",\n \"npatrons\": 191,\n \"receipts\": 500.36\n },\n {\n \"date\": \"2013-09-19\",\n \"npatrons\": 196,\n \"receipts\": 520.81\n },\n {\n \"date\": \"2013-09-12\",\n \"npatrons\": 193,\n \"receipts\": 485.00\n },\n {\n \"date\": \"2013-09-05\",\n \"npatrons\": 190,\n \"receipts\": 505.50\n },\n {\n \"date\": \"2013-08-29\",\n \"npatrons\": 185,\n \"receipts\": 483.15\n },\n {\n \"date\": \"2013-08-22\",\n \"npatrons\": 180,\n \"receipts\": 496.41\n },\n {\n \"date\": \"2013-08-15\",\n \"npatrons\": 178,\n \"receipts\": 459.12\n },\n {\n \"date\": \"2013-08-08\",\n \"npatrons\": 171,\n \"receipts\": 327.89\n },\n {\n \"date\": \"2013-08-01\",\n \"npatrons\": 170,\n \"receipts\": 356.54\n },\n {\n \"date\": \"2013-07-25\",\n \"npatrons\": 168,\n \"receipts\": 346.83\n },\n {\n \"date\": \"2013-07-18\",\n \"npatrons\": 164,\n \"receipts\": 346.07\n },\n {\n \"date\": \"2013-07-11\",\n \"npatrons\": 164,\n \"receipts\": 347.57\n },\n {\n \"date\": \"2013-07-04\",\n \"npatrons\": 164,\n \"receipts\": 342.32\n },\n {\n \"date\": \"2013-06-27\",\n \"npatrons\": 161,\n \"receipts\": 319.83\n },\n {\n \"date\": \"2013-06-20\",\n \"npatrons\": 161,\n \"receipts\": 336.90\n },\n {\n \"date\": \"2013-06-13\",\n \"npatrons\": 156,\n \"receipts\": 311.93\n },\n {\n \"date\": \"2013-06-06\",\n \"npatrons\": 157,\n \"receipts\": 327.71\n },\n {\n \"date\": \"2013-05-30\",\n \"npatrons\": 155,\n \"receipts\": 303.83\n },\n {\n \"date\": \"2013-05-23\",\n \"npatrons\": 155,\n \"receipts\": 332.99\n },\n {\n \"date\": \"2013-05-16\",\n \"npatrons\": 153,\n \"receipts\": 313.49\n },\n {\n \"date\": \"2013-05-09\",\n \"npatrons\": 139,\n \"receipts\": 279.87\n },\n {\n \"date\": \"2013-05-02\",\n \"npatrons\": 138,\n \"receipts\": 249.59\n },\n {\n \"date\": \"2013-04-25\",\n \"npatrons\": 139,\n \"receipts\": 297.39\n },\n {\n \"date\": \"2013-04-18\",\n \"npatrons\": 129,\n \"receipts\": 285.49\n },\n {\n \"date\": \"2013-04-11\",\n \"npatrons\": 110,\n \"receipts\": 222.23\n },\n {\n \"date\": \"2013-04-04\",\n \"npatrons\": 110,\n \"receipts\": 225.73\n },\n {\n \"date\": \"2013-03-28\",\n \"npatrons\": 104,\n \"receipts\": 240.98\n },\n {\n \"date\": \"2013-03-22\",\n \"npatrons\": 98,\n \"receipts\": 233.73\n },\n {\n \"date\": \"2013-03-14\",\n \"npatrons\": 90,\n \"receipts\": 227.48\n },\n {\n \"date\": \"2013-03-07\",\n \"npatrons\": 87,\n \"receipts\": 211.98\n },\n {\n \"date\": \"2013-02-28\",\n \"npatrons\": 82,\n \"receipts\": 206.48\n },\n {\n \"date\": \"2013-02-21\",\n \"npatrons\": 78,\n \"receipts\": 180.98\n },\n {\n \"date\": \"2013-02-14\",\n \"npatrons\": 79,\n \"receipts\": 194.23\n },\n {\n \"date\": \"2013-02-07\",\n \"npatrons\": 69,\n \"receipts\": 182.73\n },\n {\n \"date\": \"2013-01-31\",\n \"npatrons\": 65,\n \"receipts\": 162.48\n },\n {\n \"date\": \"2013-01-24\",\n \"npatrons\": 65,\n \"receipts\": 169.48\n },\n {\n \"date\": \"2013-01-17\",\n \"npatrons\": 64,\n \"receipts\": 166.23\n },\n {\n \"date\": \"2013-01-10\",\n \"npatrons\": 66,\n \"receipts\": 171.05\n },\n {\n \"date\": \"2013-01-03\",\n \"npatrons\": 63,\n \"receipts\": 163.30\n },\n {\n \"date\": \"2012-12-27\",\n \"npatrons\": 60,\n \"receipts\": 159.05\n },\n {\n \"date\": \"2012-12-20\",\n \"npatrons\": 62,\n \"receipts\": 160.05\n },\n {\n \"date\": \"2012-12-13\",\n \"npatrons\": 61,\n \"receipts\": 149.05\n },\n {\n \"date\": \"2012-12-06\",\n \"npatrons\": 61,\n \"receipts\": 149.05\n },\n {\n \"date\": \"2012-11-29\",\n \"npatrons\": 61,\n \"receipts\": 144.30\n },\n {\n \"date\": \"2012-11-22\",\n \"npatrons\": 62,\n \"receipts\": 146.55\n },\n {\n \"date\": \"2012-11-15\",\n \"npatrons\": 62,\n \"receipts\": 146.55\n },\n {\n \"date\": \"2012-11-08\",\n \"npatrons\": 63,\n \"receipts\": 147.55\n },\n {\n \"date\": \"2012-11-01\",\n \"npatrons\": 63,\n \"receipts\": 125.05\n },\n {\n \"date\": \"2012-10-25\",\n \"npatrons\": 68,\n \"receipts\": 162.05\n },\n {\n \"date\": \"2012-10-18\",\n \"npatrons\": 72,\n \"receipts\": 171.05\n },\n {\n \"date\": \"2012-10-11\",\n \"npatrons\": 70,\n \"receipts\": 169.05\n },\n {\n \"date\": \"2012-10-04\",\n \"npatrons\": 72,\n \"receipts\": 166.30\n },\n {\n \"date\": \"2012-09-27\",\n \"npatrons\": 67,\n \"receipts\": 163.55\n },\n {\n \"date\": \"2012-09-20\",\n \"npatrons\": 70,\n \"receipts\": 163.80\n },\n {\n \"date\": \"2012-09-13\",\n \"npatrons\": 70,\n \"receipts\": 163.80\n },\n {\n \"date\": \"2012-09-06\",\n \"npatrons\": 67,\n \"receipts\": 174.80\n },\n {\n \"date\": \"2012-08-31\",\n \"npatrons\": 70,\n \"receipts\": 192.05\n },\n {\n \"date\": \"2012-08-24\",\n \"npatrons\": 71,\n \"receipts\": 191.08\n },\n {\n \"date\": \"2012-08-17\",\n \"npatrons\": 71,\n \"receipts\": 183.33\n },\n {\n \"date\": \"2012-08-10\",\n \"npatrons\": 69,\n \"receipts\": 182.33\n },\n {\n \"date\": \"2012-08-03\",\n \"npatrons\": 67,\n \"receipts\": 181.33\n },\n {\n \"date\": \"2012-07-27\",\n \"npatrons\": 64,\n \"receipts\": 189.16\n },\n {\n \"date\": \"2012-07-20\",\n \"npatrons\": 46,\n \"receipts\": 145.48\n },\n {\n \"date\": \"2012-07-13\",\n \"npatrons\": 38,\n \"receipts\": 140.73\n },\n {\n \"date\": \"2012-07-06\",\n \"npatrons\": 21,\n \"receipts\": 62.33\n },\n {\n \"date\": \"2012-06-29\",\n \"npatrons\": 12,\n \"receipts\": 7.92\n },\n {\n \"date\": \"2012-06-22\",\n \"npatrons\": 7,\n \"receipts\": 4.96\n },\n {\n \"date\": \"2012-06-15\",\n \"npatrons\": 1,\n \"receipts\": 0.32\n },\n {\n \"date\": \"2012-06-08\",\n \"npatrons\": 8,\n \"receipts\": 5.44\n }\n]"},"http_version":null},"recorded_at":"Sun, 30 Mar 2014 15:51:19 GMT"},{"request":{"method":"get","uri":"https://www.gittip.com/Gittip/charts.json","body":{"encoding":"US-ASCII","string":""},"headers":{"User-Agent":["Faraday v0.8.9"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Language":["en"],"Content-Type":["application/json"],"Date":["Sun, 30 Mar 2014 16:10:10 GMT"],"Server":["Aspen! Cheroot!"],"Set-Cookie":["csrf_token=yUe1TNqCkuMMTD1dsi2x6nHqkLEmgzmZ; expires=Sun, 29 Mar 2015 16:10:10 GMT; Path=/"],"Vary":["Cookie"],"X-Frame-Options":["SAMEORIGIN"],"X-Gittip-Version":["12.2.2"],"Transfer-Encoding":["chunked"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","string":"[\n {\n \"date\": \"2014-03-27\",\n \"npatrons\": 137,\n \"receipts\": 416.94\n },\n {\n \"date\": \"2014-03-20\",\n \"npatrons\": 137,\n \"receipts\": 422.59\n },\n {\n \"date\": \"2014-03-13\",\n \"npatrons\": 138,\n \"receipts\": 391.71\n },\n {\n \"date\": \"2014-03-06\",\n \"npatrons\": 134,\n \"receipts\": 373.00\n },\n {\n \"date\": \"2014-02-27\",\n \"npatrons\": 134,\n \"receipts\": 345.76\n },\n {\n \"date\": \"2014-02-20\",\n \"npatrons\": 130,\n \"receipts\": 342.50\n },\n {\n \"date\": \"2014-02-13\",\n \"npatrons\": 130,\n \"receipts\": 359.25\n },\n {\n \"date\": \"2014-02-06\",\n \"npatrons\": 125,\n \"receipts\": 325.95\n },\n {\n \"date\": \"2014-01-30\",\n \"npatrons\": 125,\n \"receipts\": 315.20\n },\n {\n \"date\": \"2014-01-23\",\n \"npatrons\": 128,\n \"receipts\": 316.81\n },\n {\n \"date\": \"2014-01-16\",\n \"npatrons\": 126,\n \"receipts\": 285.41\n },\n {\n \"date\": \"2014-01-09\",\n \"npatrons\": 118,\n \"receipts\": 256.23\n },\n {\n \"date\": \"2014-01-02\",\n \"npatrons\": 111,\n \"receipts\": 230.75\n },\n {\n \"date\": \"2013-12-26\",\n \"npatrons\": 107,\n \"receipts\": 258.25\n },\n {\n \"date\": \"2013-12-19\",\n \"npatrons\": 108,\n \"receipts\": 258.00\n },\n {\n \"date\": \"2013-12-12\",\n \"npatrons\": 107,\n \"receipts\": 254.02\n },\n {\n \"date\": \"2013-12-05\",\n \"npatrons\": 106,\n \"receipts\": 247.82\n },\n {\n \"date\": \"2013-11-28\",\n \"npatrons\": 102,\n \"receipts\": 226.57\n },\n {\n \"date\": \"2013-11-21\",\n \"npatrons\": 104,\n \"receipts\": 246.82\n },\n {\n \"date\": \"2013-11-14\",\n \"npatrons\": 100,\n \"receipts\": 245.89\n },\n {\n \"date\": \"2013-11-07\",\n \"npatrons\": 101,\n \"receipts\": 239.75\n },\n {\n \"date\": \"2013-10-31\",\n \"npatrons\": 99,\n \"receipts\": 191.25\n },\n {\n \"date\": \"2013-10-24\",\n \"npatrons\": 96,\n \"receipts\": 203.48\n },\n {\n \"date\": \"2013-10-17\",\n \"npatrons\": 91,\n \"receipts\": 222.48\n },\n {\n \"date\": \"2013-10-10\",\n \"npatrons\": 92,\n \"receipts\": 224.23\n },\n {\n \"date\": \"2013-10-03\",\n \"npatrons\": 91,\n \"receipts\": 220.73\n },\n {\n \"date\": \"2013-09-26\",\n \"npatrons\": 85,\n \"receipts\": 217.98\n },\n {\n \"date\": \"2013-09-19\",\n \"npatrons\": 84,\n \"receipts\": 211.48\n },\n {\n \"date\": \"2013-09-12\",\n \"npatrons\": 81,\n \"receipts\": 206.88\n },\n {\n \"date\": \"2013-09-05\",\n \"npatrons\": 83,\n \"receipts\": 213.63\n },\n {\n \"date\": \"2013-08-29\",\n \"npatrons\": 81,\n \"receipts\": 222.67\n },\n {\n \"date\": \"2013-08-22\",\n \"npatrons\": 75,\n \"receipts\": 213.81\n },\n {\n \"date\": \"2013-08-15\",\n \"npatrons\": 72,\n \"receipts\": 210.81\n },\n {\n \"date\": \"2013-08-08\",\n \"npatrons\": 66,\n \"receipts\": 110.05\n },\n {\n \"date\": \"2013-08-01\",\n \"npatrons\": 63,\n \"receipts\": 113.35\n },\n {\n \"date\": \"2013-07-25\",\n \"npatrons\": 60,\n \"receipts\": 112.36\n },\n {\n \"date\": \"2013-07-18\",\n \"npatrons\": 53,\n \"receipts\": 118.75\n },\n {\n \"date\": \"2013-07-11\",\n \"npatrons\": 44,\n \"receipts\": 109.50\n },\n {\n \"date\": \"2013-07-04\",\n \"npatrons\": 38,\n \"receipts\": 121.25\n },\n {\n \"date\": \"2013-06-27\",\n \"npatrons\": 33,\n \"receipts\": 114.50\n },\n {\n \"date\": \"2013-06-20\",\n \"npatrons\": 31,\n \"receipts\": 113.25\n },\n {\n \"date\": \"2013-06-13\",\n \"npatrons\": 25,\n \"receipts\": 73.75\n },\n {\n \"date\": \"2013-06-06\",\n \"npatrons\": 22,\n \"receipts\": 48.50\n },\n {\n \"date\": \"2013-05-30\",\n \"npatrons\": 18,\n \"receipts\": 43.75\n },\n {\n \"date\": \"2013-05-23\",\n \"npatrons\": 18,\n \"receipts\": 43.75\n },\n {\n \"date\": \"2013-05-16\",\n \"npatrons\": 16,\n \"receipts\": 39.75\n },\n {\n \"date\": \"2013-05-09\",\n \"npatrons\": 13,\n \"receipts\": 15.25\n },\n {\n \"date\": \"2013-05-02\",\n \"npatrons\": 11,\n \"receipts\": 12.00\n },\n {\n \"date\": \"2013-04-25\",\n \"npatrons\": 11,\n \"receipts\": 12.00\n },\n {\n \"date\": \"2013-04-18\",\n \"npatrons\": 9,\n \"receipts\": 10.75,\n \"ts_start\": \"2013-04-18T14:11:24.158947+00:00\"\n },\n {\n \"date\": \"2013-04-11\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2013-04-11T11:47:12.931720+00:00\"\n },\n {\n \"date\": \"2013-04-04\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2013-04-04T11:39:18.681291+00:00\"\n },\n {\n \"date\": \"2013-03-28\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2013-03-28T13:05:23.740132+00:00\"\n },\n {\n \"date\": \"2013-03-22\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2013-03-22T12:11:45.041410+00:00\"\n },\n {\n \"date\": \"2013-03-14\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2013-03-14T19:44:55.774744+00:00\"\n },\n {\n \"date\": \"2013-03-07\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2013-03-07T13:00:08.405623+00:00\"\n },\n {\n \"date\": \"2013-02-28\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2013-02-28T17:11:06.449708+00:00\"\n },\n {\n \"date\": \"2013-02-21\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2013-02-21T17:08:55.242202+00:00\"\n },\n {\n \"date\": \"2013-02-14\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2013-02-14T13:38:08.967383+00:00\"\n },\n {\n \"date\": \"2013-02-07\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2013-02-07T12:00:20.239147+00:00\"\n },\n {\n \"date\": \"2013-01-31\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2013-01-31T14:21:29.964045+00:00\"\n },\n {\n \"date\": \"2013-01-24\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2013-01-24T14:15:23.073011+00:00\"\n },\n {\n \"date\": \"2013-01-17\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2013-01-17T14:05:01.620168+00:00\"\n },\n {\n \"date\": \"2013-01-10\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2013-01-10T12:32:05.299853+00:00\"\n },\n {\n \"date\": \"2013-01-03\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2013-01-03T13:41:18.062207+00:00\"\n },\n {\n \"date\": \"2012-12-27\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-12-27T12:32:21.391256+00:00\"\n },\n {\n \"date\": \"2012-12-20\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-12-20T12:51:36.881051+00:00\"\n },\n {\n \"date\": \"2012-12-13\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-12-13T13:09:06.330355+00:00\"\n },\n {\n \"date\": \"2012-12-06\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-12-06T13:27:27.158125+00:00\"\n },\n {\n \"date\": \"2012-11-29\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-11-29T12:45:18.180298+00:00\"\n },\n {\n \"date\": \"2012-11-22\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-11-22T15:37:59.390225+00:00\"\n },\n {\n \"date\": \"2012-11-15\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-11-15T14:37:56.650669+00:00\"\n },\n {\n \"date\": \"2012-11-08\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-11-08T20:47:52.767141+00:00\"\n },\n {\n \"date\": \"2012-11-01\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-11-01T23:07:31.044081+00:00\"\n },\n {\n \"date\": \"2012-10-25\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-10-25T12:02:52.010809+00:00\"\n },\n {\n \"date\": \"2012-10-18\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-10-18T13:45:51.045152+00:00\"\n },\n {\n \"date\": \"2012-10-11\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-10-11T16:00:55.171435+00:00\"\n },\n {\n \"date\": \"2012-10-04\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-10-04T13:09:59.575767+00:00\"\n },\n {\n \"date\": \"2012-09-27\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-09-27T13:59:13.358022+00:00\"\n },\n {\n \"date\": \"2012-09-20\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-09-20T12:42:03.698033+00:00\"\n },\n {\n \"date\": \"2012-09-13\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-09-13T06:38:51.300291+00:00\"\n },\n {\n \"date\": \"2012-09-06\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-09-06T22:29:53.060895+00:00\"\n },\n {\n \"date\": \"2012-08-31\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-08-31T12:53:04.080298+00:00\"\n },\n {\n \"date\": \"2012-08-24\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-08-24T13:25:40.605212+00:00\"\n },\n {\n \"date\": \"2012-08-17\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-08-17T18:39:59.835695+00:00\"\n },\n {\n \"date\": \"2012-08-10\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-08-10T19:05:05.938610+00:00\"\n },\n {\n \"date\": \"2012-08-03\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-08-03T14:57:42.935184+00:00\"\n },\n {\n \"date\": \"2012-07-27\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-07-27T20:51:21.754544+00:00\"\n },\n {\n \"date\": \"2012-07-20\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-07-20T19:28:19.952586+00:00\"\n },\n {\n \"date\": \"2012-07-13\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-07-13T17:49:02.299015+00:00\"\n },\n {\n \"date\": \"2012-07-06\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-07-06T18:37:13.603400+00:00\"\n },\n {\n \"date\": \"2012-06-29\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-06-29T17:05:03.867698+00:00\"\n },\n {\n \"date\": \"2012-06-22\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-06-22T15:30:42.882306+00:00\"\n },\n {\n \"date\": \"2012-06-15\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-06-15T11:09:54.298416+00:00\"\n },\n {\n \"date\": \"2012-06-08\",\n \"npatrons\": 0,\n \"receipts\": 0.00,\n \"ts_start\": \"2012-06-08T12:02:45.182409+00:00\"\n }\n]"},"http_version":null},"recorded_at":"Sun, 30 Mar 2014 16:10:11 GMT"}],"recorded_with":"VCR 2.9.0"}
@@ -0,0 +1,135 @@
1
+ require "spec_helper"
2
+
3
+ describe Gratitude::Chart do
4
+ before { VCR.insert_cassette "charts" }
5
+ after { VCR.eject_cassette }
6
+
7
+ describe "default attributes" do
8
+ it "extends Gratitude::Connection" do
9
+ expect(Gratitude::Chart.is_a?(Gratitude::Connection)).to eq(true)
10
+ end
11
+
12
+ it "initially sets the CHARTS constant to an empty array" do
13
+ expect(Gratitude::Chart::CHARTS).to eq([])
14
+ end
15
+ end
16
+
17
+ describe "class methods" do
18
+ describe "#all" do
19
+ before { Gratitude::Chart::CHARTS = [] }
20
+
21
+ it "returns an array" do
22
+ expect(Gratitude::Chart.all.class).to be(Array)
23
+ end
24
+
25
+ it "updates the CHARTS constant when it is empty" do
26
+ expect { Gratitude::Chart.all }
27
+ .to change { Gratitude::Chart::CHARTS.size }.from(0)
28
+ end
29
+
30
+ it "its array should be comprised of Chart objects" do
31
+ Gratitude::Chart.all.each do |chart|
32
+ expect(chart.class).to eq(Gratitude::Chart)
33
+ end
34
+ end
35
+ end
36
+
37
+ describe "#sort_by_date" do
38
+ it "places the newest chart before the oldest chart" do
39
+ expect(Gratitude::Chart.sort_by_date.first.date)
40
+ .to be > (Gratitude::Chart.sort_by_date.last.date)
41
+ end
42
+ end
43
+
44
+ describe "#newest" do
45
+ it "returns the most recent payday" do
46
+ expect(Gratitude::Chart.newest)
47
+ .to eq(Gratitude::Chart.sort_by_date.first)
48
+ end
49
+ end
50
+
51
+ describe "#oldest" do
52
+ it "returns the oldest chart" do
53
+ expect(Gratitude::Chart.oldest)
54
+ .to eq(Gratitude::Chart.sort_by_date.last)
55
+ end
56
+ end
57
+ end
58
+
59
+ describe "initialization and instance methods" do
60
+
61
+ it "adds the initialized object to the CHARTS constant" do
62
+ expect { Gratitude::Chart.new() }
63
+ .to change{ Gratitude::Chart::CHARTS.size }.by(1)
64
+ end
65
+
66
+ let(:chart) do
67
+ Gratitude::Chart.new(
68
+ {
69
+ "active_users" => 25,
70
+ "charges" => 25.28,
71
+ "date" => "2012-06-08",
72
+ "total_gifts" => 27.76,
73
+ "total_users" => 175,
74
+ "weekly_gifts" => 24.80,
75
+ "withdrawals" => 0.00
76
+ }
77
+ )
78
+ end
79
+
80
+ describe "#active_users" do
81
+ it "returns the correct number of active users" do
82
+ expect(chart.active_users).to eq(25)
83
+ end
84
+ end
85
+
86
+ describe "#charges" do
87
+ it "returns the correct number of charges" do
88
+ expect(chart.charges).to eq(25.28)
89
+ end
90
+ end
91
+
92
+ describe "#date" do
93
+ it "returns a Date object" do
94
+ expect(chart.date.class).to eq(Date)
95
+ end
96
+
97
+ it "has the correct year" do
98
+ expect(chart.date.year).to eq(2012)
99
+ end
100
+
101
+ it "has the correct month" do
102
+ expect(chart.date.month).to eq(6)
103
+ end
104
+
105
+ it "has the correct date" do
106
+ expect(chart.date.day).to eq(8)
107
+ end
108
+ end
109
+
110
+ describe "#total_gifts" do
111
+ it "returns the correct number of total gifts" do
112
+ expect(chart.total_gifts).to eq(27.76)
113
+ end
114
+ end
115
+
116
+ describe "#total_users" do
117
+ it "returns the correct number of total users" do
118
+ expect(chart.total_users).to eq(175)
119
+ end
120
+ end
121
+
122
+ describe "#weekly_gifts" do
123
+ it "returns the correct number of weekly gifts" do
124
+ expect(chart.weekly_gifts).to eq(24.80)
125
+ end
126
+ end
127
+
128
+ describe "#withdrawals" do
129
+ it "returns the correct number of withdrawals" do
130
+ expect(chart.withdrawals).to eq(0)
131
+ end
132
+ end
133
+ end
134
+
135
+ end
@@ -41,16 +41,16 @@ describe Gratitude::Payday do
41
41
  end
42
42
  end
43
43
 
44
- describe "#most_recent" do
44
+ describe "#newest" do
45
45
  it "returns the most recent payday" do
46
- expect(Gratitude::Payday.most_recent)
46
+ expect(Gratitude::Payday.newest)
47
47
  .to eq(Gratitude::Payday.sort_by_ts_end.first)
48
48
  end
49
49
  end
50
50
 
51
- describe "#oldest_payday" do
51
+ describe "#oldest" do
52
52
  it "returns the oldest payday" do
53
- expect(Gratitude::Payday.oldest_payday)
53
+ expect(Gratitude::Payday.oldest)
54
54
  .to eq(Gratitude::Payday.sort_by_ts_end.last)
55
55
  end
56
56
  end
@@ -67,7 +67,8 @@ describe Gratitude::Payday do
67
67
  }.to change{ Gratitude::Payday::PAYDAYS.size }.by(1)
68
68
  end
69
69
 
70
- let(:payday) { Gratitude::Payday.oldest_payday }
70
+ let(:payday) { Gratitude::Payday.oldest }
71
+
71
72
  # Actual Oldest Payday response
72
73
  # ach_fees_volume: 0,
73
74
  # ach_volume: 0,
@@ -0,0 +1,125 @@
1
+ require "spec_helper"
2
+
3
+ describe Gratitude::UserChart do
4
+ before { VCR.insert_cassette "user_charts" }
5
+ after { VCR.eject_cassette }
6
+
7
+ describe "default attributes" do
8
+ it "extends Gratitude::Connection" do
9
+ expect(Gratitude::UserChart.is_a?(Gratitude::Connection)).to eq(true)
10
+ end
11
+
12
+ it "initially sets the UserChartS constant to an empty array" do
13
+ expect(Gratitude::UserChart::USER_CHARTS).to eq([])
14
+ end
15
+ end
16
+
17
+ describe "class methods" do
18
+ before(:each) { Gratitude::UserChart::USER_CHARTS = [] }
19
+ describe "#all_for_user" do
20
+ it "returns an array" do
21
+ expect(Gratitude::UserChart.all_for_user("Gittip").class)
22
+ .to be(Array)
23
+ end
24
+
25
+ it "updates the USER_CHARTS constant when it is empty" do
26
+ expect { Gratitude::UserChart.all_for_user("Gittip") }
27
+ .to change { Gratitude::UserChart::USER_CHARTS.size }.from(0)
28
+ end
29
+
30
+ it "its array should be comprised of User_Chart objects" do
31
+ Gratitude::UserChart.all_for_user("Gittip").each do |user_chart|
32
+ expect(user_chart.class).to eq(Gratitude::UserChart)
33
+ end
34
+ end
35
+
36
+ it "only includes charts for a given username" do
37
+ Gratitude::UserChart.all_for_user("whit537")
38
+ Gratitude::UserChart.all_for_user("Gittip").each do |user_chart|
39
+ expect(user_chart.username).to eq("Gittip")
40
+ end
41
+ end
42
+ end
43
+
44
+
45
+ describe "#sort_by_date_for_user" do
46
+ it "places the newest user chart before the oldest user chart" do
47
+ expect(Gratitude::UserChart.sort_by_date_for_user("Gittip").first.date)
48
+ .to be > (Gratitude::UserChart.sort_by_date_for_user("Gittip").last.date)
49
+ end
50
+ end
51
+
52
+ describe "#newest_for" do
53
+ it "returns the most recent payday" do
54
+ expect(Gratitude::UserChart.newest_for("Gittip"))
55
+ .to eq(Gratitude::UserChart.sort_by_date_for_user("Gittip").first)
56
+ end
57
+ end
58
+
59
+ describe "#oldest" do
60
+ it "returns the oldest payday" do
61
+ expect(Gratitude::UserChart.oldest_for("Gittip"))
62
+ .to eq(Gratitude::UserChart.sort_by_date_for_user("Gittip").last)
63
+ end
64
+ end
65
+ end
66
+ describe "initialization and instance methods" do
67
+
68
+ it "adds the initialized object to the CHARTS constant" do
69
+ expect { Gratitude::UserChart.new() }
70
+ .to change{ Gratitude::UserChart::USER_CHARTS.size }.by(1)
71
+ end
72
+
73
+ let(:user_chart) do
74
+ Gratitude::UserChart.new(
75
+ {
76
+ "username" => "Gittip",
77
+ "date" => "2014-03-27",
78
+ "npatrons" => 137,
79
+ "receipts" => 416.94
80
+ }
81
+ )
82
+ end
83
+
84
+ describe "#username" do
85
+ it "sets the correct username" do
86
+ expect(user_chart.username).to eq("Gittip")
87
+ end
88
+ end
89
+
90
+ describe "#date" do
91
+ it "returns a Date object" do
92
+ expect(user_chart.date.class).to eq(Date)
93
+ end
94
+
95
+ it "has the correct year" do
96
+ expect(user_chart.date.year).to eq(2014)
97
+ end
98
+
99
+ it "has the correct month" do
100
+ expect(user_chart.date.month).to eq(3)
101
+ end
102
+
103
+ it "has the correct date" do
104
+ expect(user_chart.date.day).to eq(27)
105
+ end
106
+ end
107
+
108
+ describe "#number_of_patrons" do
109
+ it "returns the correct number of patrons" do
110
+ expect(user_chart.number_of_patrons).to eq(137)
111
+ end
112
+
113
+ it "returns the same value as its alias: npatrons" do
114
+ expect(user_chart.number_of_patrons).to eq(user_chart.npatrons)
115
+ end
116
+ end
117
+
118
+ describe "#receipts" do
119
+ it "returns the correct number of patrons" do
120
+ expect(user_chart.receipts).to eq(416.94)
121
+ end
122
+ end
123
+ end
124
+
125
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gratitude
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.11
4
+ version: 0.0.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Kelly Ferguson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-30 00:00:00.000000000 Z
11
+ date: 2014-03-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.8'
19
+ version: 0.8.9
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0.8'
26
+ version: 0.8.9
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: faraday_middleware
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -53,21 +53,21 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: bundler
56
+ name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: '1.6'
62
- type: :development
61
+ version: '0'
62
+ type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
- version: '1.6'
68
+ version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: rake
70
+ name: bundler
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - ">="
@@ -99,25 +99,31 @@ files:
99
99
  - api_key.png
100
100
  - gratitude.gemspec
101
101
  - lib/gratitude.rb
102
+ - lib/gratitude/chart.rb
102
103
  - lib/gratitude/client.rb
103
104
  - lib/gratitude/connection.rb
104
105
  - lib/gratitude/payday.rb
105
106
  - lib/gratitude/profile.rb
106
107
  - lib/gratitude/statistics.rb
107
108
  - lib/gratitude/tips.rb
109
+ - lib/gratitude/user_chart.rb
108
110
  - lib/gratitude/version.rb
111
+ - spec/cassettes/charts.json
109
112
  - spec/cassettes/current_tips.json
110
113
  - spec/cassettes/paydays.json
111
114
  - spec/cassettes/profiles.json
112
115
  - spec/cassettes/statistics.json
113
116
  - spec/cassettes/update_and_prune.json
114
117
  - spec/cassettes/update_tips.json
118
+ - spec/cassettes/user_charts.json
119
+ - spec/gratitude/chart_spec.rb
115
120
  - spec/gratitude/client_spec.rb
116
121
  - spec/gratitude/connection_spec.rb
117
122
  - spec/gratitude/payday_spec.rb
118
123
  - spec/gratitude/profile_spec.rb
119
124
  - spec/gratitude/statistics_spec.rb
120
125
  - spec/gratitude/tips_spec.rb
126
+ - spec/gratitude/user_chart_spec.rb
121
127
  - spec/gratitude/version_spec.rb
122
128
  - spec/spec_helper.rb
123
129
  homepage: https://github.com/JohnKellyFerguson/gratitude
@@ -145,17 +151,22 @@ signing_key:
145
151
  specification_version: 4
146
152
  summary: A simple Ruby wrapper for the Gittip API.
147
153
  test_files:
154
+ - spec/cassettes/charts.json
148
155
  - spec/cassettes/current_tips.json
149
156
  - spec/cassettes/paydays.json
150
157
  - spec/cassettes/profiles.json
151
158
  - spec/cassettes/statistics.json
152
159
  - spec/cassettes/update_and_prune.json
153
160
  - spec/cassettes/update_tips.json
161
+ - spec/cassettes/user_charts.json
162
+ - spec/gratitude/chart_spec.rb
154
163
  - spec/gratitude/client_spec.rb
155
164
  - spec/gratitude/connection_spec.rb
156
165
  - spec/gratitude/payday_spec.rb
157
166
  - spec/gratitude/profile_spec.rb
158
167
  - spec/gratitude/statistics_spec.rb
159
168
  - spec/gratitude/tips_spec.rb
169
+ - spec/gratitude/user_chart_spec.rb
160
170
  - spec/gratitude/version_spec.rb
161
171
  - spec/spec_helper.rb
172
+ has_rdoc: