totter 0.2.1 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/lib/totter/client.rb
CHANGED
@@ -83,7 +83,7 @@ module Totter
|
|
83
83
|
request['Content-Type'] = 'application/json'
|
84
84
|
|
85
85
|
# Add params as JSON if they exist
|
86
|
-
request.body = MultiJson.dump(params) if
|
86
|
+
request.body = MultiJson.dump(params) if [:post, :put].include?(method) and params
|
87
87
|
|
88
88
|
# Request
|
89
89
|
response = http.request(request)
|
data/lib/totter/client/users.rb
CHANGED
@@ -24,6 +24,29 @@ module Totter
|
|
24
24
|
get "users/#{user}"
|
25
25
|
end
|
26
26
|
|
27
|
+
# Updates a given user
|
28
|
+
#
|
29
|
+
# @param user_id [Numeric] A Seesaw user ID.
|
30
|
+
# @param options [Hash] Properties to be updated
|
31
|
+
# @option options [String] :given_name The given name of the user
|
32
|
+
# @option options [String] :family_name The Family name of the user
|
33
|
+
# @option options [String] :email The email address of the user
|
34
|
+
# @option options [String] :username The username of the user
|
35
|
+
# @param preferences [Hash] Preferences to be set
|
36
|
+
# @option preferences [Boolean] :notification_friends Notify when friends post a decision
|
37
|
+
# @option preferences [Boolean] :notification_invitee_votes Notify when invitee votes
|
38
|
+
# @option preferences [Boolean] :notification_comments Notify when someone comments on user's decision
|
39
|
+
# @option preferences [Boolean] :notification_following_votes Notify when user is following other_user who votes
|
40
|
+
# @option preferences [Boolean] :notification_other_votes Notify using throttled notifier when non-invited users vote on your post
|
41
|
+
# @option preferences [Boolean] :notification_after_votes Notify when other_user votes after user has already voted on a decision
|
42
|
+
# @option preferences [Boolean] :notification_following Notify when other_user starts follwing user
|
43
|
+
def update_me(options = {}, preferences = {})
|
44
|
+
data = {
|
45
|
+
user: options.merge({preferences: preferences})
|
46
|
+
}
|
47
|
+
put "me", data
|
48
|
+
end
|
49
|
+
|
27
50
|
# Follow a user.
|
28
51
|
#
|
29
52
|
# Requires authenticatied client.
|
data/lib/totter/version.rb
CHANGED
@@ -0,0 +1,47 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: put
|
5
|
+
uri: http://localhost:5000/v1/me
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: ! '{"user":{"given_name":"Aaron","family_name":"Gotwalt","preferences":{"notification_comments":false}}}'
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- ! '*/*'
|
12
|
+
User-Agent:
|
13
|
+
- Ruby
|
14
|
+
Authorization:
|
15
|
+
- Bearer 9774e653f7b3c1de5f21b61adc08ba24
|
16
|
+
Content-Type:
|
17
|
+
- application/json
|
18
|
+
response:
|
19
|
+
status:
|
20
|
+
code: 200
|
21
|
+
message: OK
|
22
|
+
headers:
|
23
|
+
Content-Type:
|
24
|
+
- application/json; charset=utf-8
|
25
|
+
X-Ua-Compatible:
|
26
|
+
- IE=Edge
|
27
|
+
Etag:
|
28
|
+
- ! '"75305ec8cca38ce8d35794580b736c70"'
|
29
|
+
Cache-Control:
|
30
|
+
- max-age=0, private, must-revalidate
|
31
|
+
X-Request-Id:
|
32
|
+
- faa6c0c63d26b22adc17cb44580dfd46
|
33
|
+
X-Runtime:
|
34
|
+
- '0.112755'
|
35
|
+
Connection:
|
36
|
+
- close
|
37
|
+
Server:
|
38
|
+
- thin 1.5.0 codename Knife
|
39
|
+
body:
|
40
|
+
encoding: US-ASCII
|
41
|
+
string: ! '{"biography":null,"created_at":"2013-01-23T03:22:06Z","email":null,"family_name":"Gotwalt","given_name":"Aaron","id":1,"meta":null,"phone_number":"+17174683737","preferences":{"notification_friends":false,"notification_invitee_votes":true,"notification_comments":false,"notification_following_votes":true,"notification_other_votes":true,"notification_after_votes":false,"notification_following":true},"updated_at":"2013-02-03T06:41:56Z","username":null,"website":null,"avatar_url":"https://recess-dev.s3.amazonaws.com/default_avatars/v1/photo_1.png","full_name":"Aaron
|
42
|
+
Gotwalt","short_name":"Aaron G","display_name":"Aaron Gotwalt","short_display_name":"Aaron
|
43
|
+
G","analytics":{"votes":0,"decisions":0,"followers":0,"following":0},"formatted_phone_number":"(717)
|
44
|
+
468-3737","roles":[],"default_timeline":"g"}'
|
45
|
+
http_version:
|
46
|
+
recorded_at: Sun, 03 Feb 2013 06:41:56 GMT
|
47
|
+
recorded_with: VCR 2.4.0
|
@@ -1,7 +1,6 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
3
|
class AvatarsTest < Totter::TestCase
|
4
|
-
|
5
4
|
def test_avatar
|
6
5
|
VCR.use_cassette 'avatars/show' do
|
7
6
|
client = local_client
|
@@ -35,5 +34,4 @@ class AvatarsTest < Totter::TestCase
|
|
35
34
|
assert client.destroy_avatar(avatar.user_id, avatar.id)
|
36
35
|
end
|
37
36
|
end
|
38
|
-
|
39
37
|
end
|
@@ -16,6 +16,25 @@ class UsersTest < Totter::TestCase
|
|
16
16
|
end
|
17
17
|
end
|
18
18
|
|
19
|
+
def test_update_me
|
20
|
+
VCR.use_cassette 'users/update' do
|
21
|
+
client = local_client
|
22
|
+
options = {
|
23
|
+
given_name: "Aaron",
|
24
|
+
family_name: 'Gotwalt'
|
25
|
+
}
|
26
|
+
preferences = {
|
27
|
+
notification_comments: false
|
28
|
+
}
|
29
|
+
|
30
|
+
result = client.update_me(options, preferences)
|
31
|
+
assert_equal 'Aaron', result.given_name
|
32
|
+
assert_equal 'Gotwalt', result.family_name
|
33
|
+
refute result.preferences.notification_comments
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
|
19
38
|
def test_following
|
20
39
|
VCR.use_cassette 'users/following' do
|
21
40
|
assert local_client.follow('gotwalt'), 'follow user'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: totter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2013-02-
|
13
|
+
date: 2013-02-03 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: multi_json
|
@@ -89,6 +89,7 @@ files:
|
|
89
89
|
- test/cassettes/timelines/global.yml
|
90
90
|
- test/cassettes/users/following.yml
|
91
91
|
- test/cassettes/users/me.yml
|
92
|
+
- test/cassettes/users/update.yml
|
92
93
|
- test/cassettes/users/user.yml
|
93
94
|
- test/cassettes/votes/create.yml
|
94
95
|
- test/support/client_macros.rb
|
@@ -148,6 +149,7 @@ test_files:
|
|
148
149
|
- test/cassettes/timelines/global.yml
|
149
150
|
- test/cassettes/users/following.yml
|
150
151
|
- test/cassettes/users/me.yml
|
152
|
+
- test/cassettes/users/update.yml
|
151
153
|
- test/cassettes/users/user.yml
|
152
154
|
- test/cassettes/votes/create.yml
|
153
155
|
- test/support/client_macros.rb
|