gratitude 0.0.7 → 0.0.8

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: 702501d8e5569021fd461621963fe358ebd1f884
4
- data.tar.gz: bce5748bcf60e3008309a34a43b11519291cdda9
3
+ metadata.gz: f98788dbd6abb9015c3714caf00069350d02015f
4
+ data.tar.gz: 321b4733b5987a3f46fe0f51b9efee0a0f242d79
5
5
  SHA512:
6
- metadata.gz: 352f4798d33fccc21c119602c1b9f473592e0965e71a26cf47c36de38e62bc8033b2ae603eabfc664e4e970782f59a6c4e45870b0b0fa2f05c7e3a5117becbd3
7
- data.tar.gz: 6d05accd6e7cfe014842a1b8e80c04b999dd6a477fbf7a20e150bafc10b59410fb92f2ae58fcf74bccc5b6e9c6d027e421ab48b85aae27f9c7d787212599afd2
6
+ metadata.gz: ba9b54097f32bcd2e898a19e97d7a2ddd3d5c576b8842777d42efbdd48dd62567d8043757ddeb5d31ac321f7533777736d4a75397c5e3f290d2ba93a9bee5a21
7
+ data.tar.gz: 175a691394abc0682d316ffd86e1aaab09c7ce12cf4fcf3aec96311963c781f684bf951fdb62bf1d8c6f1393bdc088e86a6791551cb79e6d87893dcb3a3df0fb
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.7 (10/13/2013)
5
+ * Update documentation.
6
+ * Alias new to current in Statistics class.
7
+
4
8
  ### 0.0.6 (9/19/2013)
5
9
  * Complete Gittip's Statistics API integration.
6
10
  * Add more aliases and improve method clarity to signify method intent.
data/README.md CHANGED
@@ -149,11 +149,38 @@ The above will retrieve the public profile of the above user. You can then acces
149
149
 
150
150
  **TODO:** Implement the `my_tip` method into the Profile section once client authentication is finished.
151
151
 
152
- ##Tips
153
- * **TODO:** Implement Gittip's Tips API into gratitude.
152
+ ##Tips ([client authentication source code](https://github.com/JohnKellyFerguson/gratitude/blob/master/lib/gratitude/client.rb), [tips source code](https://github.com/JohnKellyFerguson/gratitude/blob/master/lib/gratitude/tips.rb))
153
+ The Tips aspect of the Gittip API allows you to retrieve the current tips of a user. In order to get this information, you will need your username and API_KEY. To find out your API Key, log into your Gittip account, go to your profile and at the bottom of the page you will find your API_KEY.
154
154
 
155
+ ![Gittip API Key](api_key.png)
155
156
 
156
- #### Copyright and License
157
+ Now that you have your API_KEY, you can find out your current tips using Gratitude.
158
+
159
+ ```
160
+ # First establish a connection to the Gittip API by passing in your credentials to Gratitude::Client.new
161
+ # You will need to pass in your username and api key like so.
162
+ client = Gratitude::Client.new(:username => "my_username", :api_key => "my_api_key")
163
+ # Then, to find out your current tips, simply call the current_tips method.
164
+ client.current_tips
165
+ ```
166
+ This will will return an array of hashes that represent your current tips and will look similar to the following.
167
+
168
+
169
+ [
170
+ {"amount"=>"1.00", "platform"=>"gittip", "username"=>"whit537"},
171
+ {"amount"=>"0.25", "platform"=>"gittip", "username"=>"JohnKellyFerguson"},
172
+
173
+ ]
174
+
175
+ Please be aware that all of the amounts in the hash are strings and not floats.
176
+
177
+
178
+
179
+ * **TODO:** Add the ability to post and update tips to Gittip's API.
180
+
181
+
182
+
183
+ ### Copyright and License
157
184
 
158
185
  Copyright John Kelly Ferguson and Contributors, 2013
159
186
 
data/api_key.png ADDED
Binary file
@@ -0,0 +1,16 @@
1
+ require "gratitude/tips"
2
+
3
+ module Gratitude
4
+ class Client
5
+ include HTTParty
6
+ include Gratitude::Client::Tips
7
+
8
+ attr_reader :username, :api_key
9
+
10
+ def initialize(options = {})
11
+ @username = options[:username]
12
+ @api_key = options[:api_key]
13
+ end
14
+
15
+ end # Payday
16
+ end # Gratitude
@@ -0,0 +1,19 @@
1
+ module Gratitude
2
+ class Client
3
+ module Tips
4
+
5
+ def tips_url
6
+ "https://www.gittip.com/#{username}/tips.json"
7
+ end
8
+
9
+ def authorization
10
+ { :basic_auth => { :username => api_key } }
11
+ end
12
+
13
+ def current_tips
14
+ self.class.get(tips_url, authorization).parsed_response
15
+ end
16
+
17
+ end # Tips
18
+ end # Client
19
+ end # Gratitude
@@ -1,3 +1,3 @@
1
1
  module Gratitude
2
- VERSION = "0.0.7"
2
+ VERSION = "0.0.8"
3
3
  end
data/lib/gratitude.rb CHANGED
@@ -1,11 +1,12 @@
1
1
  require "httparty"
2
2
 
3
-
3
+ require "gratitude/client"
4
4
  require "gratitude/payday"
5
5
  require "gratitude/profile"
6
6
  require "gratitude/statistics"
7
+ require "gratitude/tips"
7
8
  require "gratitude/version"
8
9
 
10
+
9
11
  module Gratitude
10
- # Your code goes here...
11
12
  end
@@ -0,0 +1 @@
1
+ {"http_interactions":[{"request":{"method":"get","uri":"https://5962b93a-5bf7-4cb6-ae6f-aa4114c5e4f2:@www.gittip.com/gratitude_test/tips.json","body":{"encoding":"US-ASCII","string":""},"headers":{}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Content-Type":["application/json"],"Date":["Tue, 15 Oct 2013 19:26:37 GMT"],"Expires":["Thu, 01 Jan 1970 00:00:00 GMT"],"Server":["Aspen! Cheroot!"],"Set-Cookie":["csrf_token=nuo6OY6TglUcv9JyVD316bT5VDsTywEL; expires=Tue, 14 Oct 2014 19:26:37 GMT; Path=/","session=c08eaad1dae3407c9d31f5ca904364bd; expires=Tue, 22 Oct 2013 19:26:36 GMT; httponly; Path=/; secure"],"Vary":["Cookie"],"X-Frame-Options":["SAMEORIGIN"],"X-Gittip-Version":["10.1.33"],"Transfer-Encoding":["chunked"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","string":"[\n {\n \"amount\": \"1.00\",\n \"platform\": \"gittip\",\n \"username\": \"whit537\"\n },\n {\n \"amount\": \"0.25\",\n \"platform\": \"gittip\",\n \"username\": \"JohnKellyFerguson\"\n }\n]"},"http_version":null},"recorded_at":"Tue, 15 Oct 2013 19:26:37 GMT"}],"recorded_with":"VCR 2.5.0"}
@@ -0,0 +1,29 @@
1
+ require "spec_helper"
2
+
3
+ describe Gratitude::Client do
4
+
5
+ describe "default attributes" do
6
+
7
+ it "should include httparty methods" do
8
+ Gratitude::Client.should include(HTTParty)
9
+ end
10
+
11
+ it "should include tips methods" do
12
+ Gratitude::Client.should include(Gratitude::Client::Tips)
13
+ end
14
+
15
+ end # default attributes
16
+
17
+ describe "initialization" do
18
+ let(:username) { "JohnKellyFerguson"}
19
+ let(:api_key) { "this_is_an_api_key"}
20
+
21
+ subject { Gratitude::Client.new(:username => username, :api_key => api_key) }
22
+
23
+ its(:username) { should == username }
24
+ its(:api_key) { should == api_key }
25
+
26
+ end
27
+
28
+
29
+ end
@@ -0,0 +1,53 @@
1
+ require "spec_helper"
2
+
3
+ describe Gratitude::Client::Tips do
4
+
5
+ let(:username) { "gratitude_test" }
6
+ let(:api_key) { "5962b93a-5bf7-4cb6-ae6f-aa4114c5e4f2" }
7
+
8
+ let(:client) { Gratitude::Client.new(:username => username, :api_key => api_key) }
9
+
10
+ describe "#tips_url" do
11
+ it "returns the correct tips_url" do
12
+ expect(client.tips_url).to eq("https://www.gittip.com/gratitude_test/tips.json")
13
+ end
14
+ end
15
+
16
+ describe "#authorization" do
17
+ it "returns the correct authorization hash" do
18
+ expect(client.authorization).to eq({ :basic_auth => { :username => api_key } })
19
+ end
20
+ end
21
+
22
+
23
+ describe "authentication and api requests" do
24
+
25
+ let(:current_tips) { [{"amount"=>"1.00", "platform"=>"gittip", "username"=>"whit537"},
26
+ {"amount"=>"0.25", "platform"=>"gittip", "username"=>"JohnKellyFerguson"}] }
27
+
28
+ before do
29
+ VCR.insert_cassette "tips"
30
+ end
31
+
32
+ after do
33
+ VCR.eject_cassette
34
+ end
35
+
36
+ describe "#current_tips" do
37
+ it "returns the correct array of current tips" do
38
+ expect(client.current_tips).to eq (current_tips)
39
+ end
40
+ end
41
+
42
+ describe "#update_tip" do
43
+ end
44
+
45
+ describe "#update_tips" do
46
+ end
47
+
48
+ describe "#update_tips_and_prune" do
49
+ end
50
+
51
+
52
+ end # authentication and api requests
53
+ 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.7
4
+ version: 0.0.8
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: 2013-10-13 00:00:00.000000000 Z
11
+ date: 2013-10-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -67,20 +67,26 @@ files:
67
67
  - LICENSE.txt
68
68
  - README.md
69
69
  - Rakefile
70
+ - api_key.png
70
71
  - gratitude.gemspec
71
72
  - lib/gratitude.rb
73
+ - lib/gratitude/client.rb
72
74
  - lib/gratitude/payday.rb
73
75
  - lib/gratitude/profile.rb
74
76
  - lib/gratitude/statistics.rb
77
+ - lib/gratitude/tips.rb
75
78
  - lib/gratitude/version.rb
76
79
  - spec/cassettes/complete_profile.json
77
80
  - spec/cassettes/goal_profile.json
78
81
  - spec/cassettes/incomplete_profile.json
79
82
  - spec/cassettes/paydays.json
80
83
  - spec/cassettes/statistics.json
84
+ - spec/cassettes/tips.json
85
+ - spec/gratitude/client_spec.rb
81
86
  - spec/gratitude/payday_spec.rb
82
87
  - spec/gratitude/profile_spec.rb
83
88
  - spec/gratitude/statistics_spec.rb
89
+ - spec/gratitude/tips_spec.rb
84
90
  - spec/gratitude/version_spec.rb
85
91
  - spec/spec_helper.rb
86
92
  homepage: https://github.com/JohnKellyFerguson/gratitude
@@ -113,8 +119,11 @@ test_files:
113
119
  - spec/cassettes/incomplete_profile.json
114
120
  - spec/cassettes/paydays.json
115
121
  - spec/cassettes/statistics.json
122
+ - spec/cassettes/tips.json
123
+ - spec/gratitude/client_spec.rb
116
124
  - spec/gratitude/payday_spec.rb
117
125
  - spec/gratitude/profile_spec.rb
118
126
  - spec/gratitude/statistics_spec.rb
127
+ - spec/gratitude/tips_spec.rb
119
128
  - spec/gratitude/version_spec.rb
120
129
  - spec/spec_helper.rb