teamsnap_rb 2.0.0.beta7 → 2.0.0.beta10
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/CHANGELOG.md +5 -0
- data/Gemfile +1 -1
- data/README.md +1 -1
- data/lib/teamsnap.rb +5 -1
- data/lib/teamsnap/client.rb +1 -0
- data/lib/teamsnap/item.rb +0 -2
- data/lib/teamsnap/version.rb +1 -1
- data/spec/cassettes/uploading_files/uploads_a_file.yml +69 -0
- data/spec/cassettes/uploading_files/uploads_a_tempfile.yml +69 -0
- data/spec/features/uploading_files_spec.rb +41 -0
- data/spec/teamsnap/item_spec.rb +19 -0
- data/support/teamsnap.png +0 -0
- metadata +54 -27
- checksums.yaml +0 -7
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -14,7 +14,7 @@ _Note: You'll need an OAuth2 Token from TeamSnap. Checkout our API docs
|
|
14
14
|
|
15
15
|
λ gem install teamsnap_rb
|
16
16
|
λ irb
|
17
|
-
TeamSnap.init(:
|
17
|
+
TeamSnap.init(:token => XXXXX)
|
18
18
|
=> true
|
19
19
|
|
20
20
|
# Now you have your base connection to the API under:
|
data/lib/teamsnap.rb
CHANGED
@@ -68,7 +68,11 @@ module TeamSnap
|
|
68
68
|
client.send(via, href, args)
|
69
69
|
when :patch, :post
|
70
70
|
client.send(via, href) do |req|
|
71
|
-
|
71
|
+
if args.values.any? { |a| a.kind_of?(File) || a.kind_of?(Tempfile) }
|
72
|
+
req.body = args
|
73
|
+
else
|
74
|
+
req.body = Oj.dump(args)
|
75
|
+
end
|
72
76
|
end
|
73
77
|
else
|
74
78
|
raise TeamSnap::Error.new("Don't know how to run `#{via}`")
|
data/lib/teamsnap/client.rb
CHANGED
data/lib/teamsnap/item.rb
CHANGED
data/lib/teamsnap/version.rb
CHANGED
@@ -0,0 +1,69 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: http://localhost:3000/members/upload_member_photo
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: member_id=6&file=teamsnap.png=image/png=/Users/dustinmccraw/shared_git/teamsnap_rb/support/teamsnap.png
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Faraday v0.9.2
|
12
|
+
Authorization:
|
13
|
+
- Bearer 7-js_frontend-dont_tell_the_cops
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 200
|
17
|
+
message: OK
|
18
|
+
headers:
|
19
|
+
Content-Type:
|
20
|
+
- application/vnd.collection+json
|
21
|
+
Content-Length:
|
22
|
+
- '12004'
|
23
|
+
X-Content-Type-Options:
|
24
|
+
- nosniff
|
25
|
+
ETag:
|
26
|
+
- '"5b4bde3a2610e78d31459af431f4652a"'
|
27
|
+
Cache-Control:
|
28
|
+
- max-age=0, private, must-revalidate
|
29
|
+
X-Request-Id:
|
30
|
+
- 13f5896b-0c63-4aae-89b4-2bb37a233924
|
31
|
+
X-Runtime:
|
32
|
+
- '8.808891'
|
33
|
+
Connection:
|
34
|
+
- keep-alive
|
35
|
+
Server:
|
36
|
+
- thin
|
37
|
+
body:
|
38
|
+
encoding: UTF-8
|
39
|
+
string: '{"collection":{"version":"3.292.6","href":"http://localhost:3000/members","rel":"members","template":{"data":[{"name":"first_name","value":null},{"name":"last_name","value":null},{"name":"gender","value":null},{"name":"position","value":null},{"name":"is_manager","value":null},{"name":"birthday","value":null},{"name":"hide_age","value":null,"deprecated":true,"prompt":"hide_age
|
40
|
+
is deprecated and will be removed in a future version, use is_age_hidden instead."},{"name":"is_age_hidden","value":null},{"name":"hide_address","value":null,"deprecated":true,"prompt":"hide_address
|
41
|
+
is deprecated and will be removed in a future version, use is_address_hidden
|
42
|
+
instead."},{"name":"is_address_hidden","value":null},{"name":"is_non_player","value":null},{"name":"address_street1","value":null},{"name":"address_street2","value":null},{"name":"address_city","value":null},{"name":"address_state","value":null},{"name":"address_zip","value":null},{"name":"jersey_number","value":null},{"name":"team_id","value":null},{"name":"is_ownership_pending","value":null},{"name":"type","value":"member"}]},"links":[{"rel":"assignments","href":"http://localhost:3000/assignments"},{"rel":"availabilities","href":"http://localhost:3000/availabilities"},{"rel":"broadcast_email_attachments","href":"http://localhost:3000/broadcast_email_attachments"},{"rel":"broadcast_emails","href":"http://localhost:3000/broadcast_emails"},{"rel":"broadcast_alerts","href":"http://localhost:3000/broadcast_alerts"},{"rel":"contact_email_addresses","href":"http://localhost:3000/contact_email_addresses"},{"rel":"contact_phone_numbers","href":"http://localhost:3000/contact_phone_numbers"},{"rel":"contacts","href":"http://localhost:3000/contacts"},{"rel":"custom_data","href":"http://localhost:3000/custom_data"},{"rel":"custom_fields","href":"http://localhost:3000/custom_fields"},{"rel":"league_custom_data","href":"http://localhost:3000/league_custom_data"},{"rel":"league_custom_fields","href":"http://localhost:3000/league_custom_fields"},{"rel":"forum_posts","href":"http://localhost:3000/forum_posts"},{"rel":"forum_subscriptions","href":"http://localhost:3000/forum_subscriptions"},{"rel":"forum_topics","href":"http://localhost:3000/forum_topics"},{"rel":"league_registrant_documents","href":"http://localhost:3000/league_registrant_documents"},{"rel":"member_balances","href":"http://localhost:3000/member_balances"},{"rel":"member_email_addresses","href":"http://localhost:3000/member_email_addresses"},{"rel":"member_files","href":"http://localhost:3000/member_files"},{"rel":"member_links","href":"http://localhost:3000/member_links"},{"rel":"member_payments","href":"http://localhost:3000/member_payments"},{"rel":"member_phone_numbers","href":"http://localhost:3000/member_phone_numbers"},{"rel":"member_preferences","href":"http://localhost:3000/members_preferences"},{"rel":"member_statistics","href":"http://localhost:3000/member_statistics"},{"rel":"message_data","href":"http://localhost:3000/message_data"},{"rel":"messages","href":"http://localhost:3000/messages"},{"rel":"statistic_data","href":"http://localhost:3000/statistic_data"},{"rel":"team","href":"http://localhost:3000/teams"},{"rel":"team_media","href":"http://localhost:3000/team_media"},{"rel":"team_medium_comments","href":"http://localhost:3000/team_medium_comments"},{"rel":"tracked_item_statuses","href":"http://localhost:3000/tracked_item_statuses"},{"rel":"user","href":"http://localhost:3000/users"},{"rel":"root","href":"http://localhost:3000/"},{"rel":"self","href":"http://localhost:3000/members/upload_member_photo"}],"queries":[{"rel":"search","href":"http://localhost:3000/members/search","data":[{"name":"team_id","value":null},{"name":"user_id","value":null},{"name":"id","value":null},{"name":"page_size","value":null,"prompt":"The
|
43
|
+
number of items to return for each page. Sending this parameter with the query
|
44
|
+
will enable paging for the returned collection."},{"name":"page_number","value":null,"prompt":"The
|
45
|
+
number of the page to be returned. This requires that paging be turned on
|
46
|
+
by also providing the page_size parameter."}]},{"rel":"managers","href":"http://localhost:3000/members/managers","data":[{"name":"team_id","value":null}]},{"rel":"personas","href":"http://localhost:3000/members/personas","prompt":"Given
|
47
|
+
a user ID, returns members directly associated with the user as well as members
|
48
|
+
associated with the user via a shared access contact.","data":[{"name":"user_id","value":null}]},{"rel":"owner","href":"http://localhost:3000/members/owner","data":[{"name":"team_id","value":null}]},{"rel":"commissioners","href":"http://localhost:3000/members/commissioners","prompt":"BETA:
|
49
|
+
(this query is subject to change or suddenly disappear) Given a a team_id
|
50
|
+
or division_id, returns all members that are commissioners of the divisions
|
51
|
+
that the team is in.","data":[{"name":"team_id","value":null},{"name":"division_id","value":null}]},{"rel":"importable_members","href":"http://localhost:3000/members/importable_members","prompt":"Given
|
52
|
+
a user ID, returns all members associated with user''s active season teams. If
|
53
|
+
include_archived_teams (boolean) parameter is supplied, members associated
|
54
|
+
with archived teams will be returned as well.","data":[{"name":"user_id","value":null},{"name":"include_archived_teams","value":null}]}],"commands":[{"rel":"disable_member","href":"http://localhost:3000/members/disable_member","data":[{"name":"member_id","value":null}]},{"rel":"upload_member_photo","href":"http://localhost:3000/members/upload_member_photo","data":[{"name":"member_id","value":null},{"name":"file","value":null},{"name":"x","value":null},{"name":"y","value":null},{"name":"width","value":null},{"name":"height","value":null}]},{"rel":"remove_member_photo","href":"http://localhost:3000/members/remove_member_photo","data":[{"name":"member_id","value":null}]},{"rel":"generate_member_thumbnail","href":"http://localhost:3000/members/generate_member_thumbnail","data":[{"name":"member_id","value":null},{"name":"x","value":null},{"name":"y","value":null},{"name":"width","value":null},{"name":"height","value":null}]},{"rel":"import_from_team","href":"http://localhost:3000/members/import_from_team","prompt":"Given
|
55
|
+
source_member_ids (array) and a destination_team_id, source members and related
|
56
|
+
member data will be imported to the destination team. Newly created members
|
57
|
+
will be returned.","data":[{"name":"source_member_ids","value":null},{"name":"destination_team_id","value":null},{"name":"send_invites","value":null,"prompt":"Whether
|
58
|
+
or not to create and send invitations for each imported member. Valid values
|
59
|
+
are either ''true'' or ''false'' and will default to ''false''"}]}],"items":[{"href":"http://localhost:3000/members/6","data":[{"name":"id","value":6},{"name":"type","value":"member"},{"name":"address_city","value":null},{"name":"address_state","value":null},{"name":"address_street1","value":null},{"name":"address_street2","value":null},{"name":"address_zip","value":null},{"name":"birthday","value":""},{"name":"first_name","value":"Plato"},{"name":"gender","value":null},{"name":"has_facebook_post_scores_enabled","value":false},{"name":"hide_address","value":null,"deprecated":true,"prompt":"hide_address
|
60
|
+
is deprecated and will be removed in a future version, use is_address_hidden
|
61
|
+
instead."},{"name":"is_address_hidden","value":null},{"name":"hide_age","value":null,"deprecated":true,"prompt":"hide_age
|
62
|
+
is deprecated and will be removed in a future version, use is_age_hidden instead."},{"name":"is_age_hidden","value":null},{"name":"is_commissioner","value":false},{"name":"invitation_code","value":null},{"name":"invitation_declined","value":null},{"name":"is_activated","value":true},{"name":"is_pushable","value":false},{"name":"is_alertable","value":true},{"name":"is_emailable","value":true},{"name":"is_invitable","value":false},{"name":"is_invited","value":false},{"name":"is_manager","value":false},{"name":"is_non_player","value":false},{"name":"is_owner","value":false},{"name":"is_ownership_pending","value":null},{"name":"jersey_number","value":null},{"name":"last_logged_in_at","value":null,"deprecated":true,"prompt":"%{field}
|
63
|
+
is deprecated and has been removed. Continued use of %{field} is not recommended
|
64
|
+
it will no longer be stored."},{"name":"last_name","value":"Player"},{"name":"position","value":null},{"name":"team_id","value":1},{"name":"user_id","value":9},{"name":"updated_at","value":"2016-07-13T23:25:59Z","type":"DateTime"},{"name":"created_at","value":"2016-07-13T23:22:19Z","type":"DateTime"}],"links":[{"rel":"assignments","href":"http://localhost:3000/assignments/search?member_id=6"},{"rel":"availabilities","href":"http://localhost:3000/availabilities/search?member_id=6"},{"rel":"broadcast_email_attachments","href":"http://localhost:3000/broadcast_email_attachments/search?member_id=6"},{"rel":"broadcast_emails","href":"http://localhost:3000/broadcast_emails/search?member_id=6"},{"rel":"broadcast_alerts","href":"http://localhost:3000/broadcast_alerts/search?member_id=6"},{"rel":"contact_email_addresses","href":"http://localhost:3000/contact_email_addresses/search?member_id=6"},{"rel":"contact_phone_numbers","href":"http://localhost:3000/contact_phone_numbers/search?member_id=6"},{"rel":"contacts","href":"http://localhost:3000/contacts/search?member_id=6"},{"rel":"custom_data","href":"http://localhost:3000/custom_data/search?member_id=6"},{"rel":"custom_fields","href":"http://localhost:3000/custom_fields/search?team_id=1"},{"rel":"league_custom_data","href":"http://localhost:3000/league_custom_data/search?member_id=6"},{"rel":"league_custom_fields","href":"http://localhost:3000/league_custom_fields/search?team_id=1"},{"rel":"forum_posts","href":"http://localhost:3000/forum_posts/search?member_id=6"},{"rel":"forum_subscriptions","href":"http://localhost:3000/forum_subscriptions/search?member_id=6"},{"rel":"forum_topics","href":"http://localhost:3000/forum_topics/search?team_id=1"},{"rel":"league_registrant_documents","href":"http://localhost:3000/league_registrant_documents/search?member_id=6"},{"rel":"member_balances","href":"http://localhost:3000/member_balances/search?member_id=6"},{"rel":"member_email_addresses","href":"http://localhost:3000/member_email_addresses/search?member_id=6"},{"rel":"member_files","href":"http://localhost:3000/member_files/search?member_id=6"},{"rel":"member_links","href":"http://localhost:3000/member_links/search?member_id=6"},{"rel":"member_payments","href":"http://localhost:3000/member_payments/search?member_id=6"},{"rel":"member_phone_numbers","href":"http://localhost:3000/member_phone_numbers/search?member_id=6"},{"rel":"member_photo","href":"http://9720728c11b014fc3f7c-401599d8c2efd31ed32bcf970d759503.r67.cf1.rackcdn.com/roster_full_photos/6/original/84f7e666-5078-4f0c-8826-02f3bbb3c00d.png"},{"rel":"member_photo_file","href":"http://localhost:3000/member_photo_files/6"},{"rel":"member_photos","href":"http://localhost:3000/member_photos/search?member_id=6"},{"rel":"member_preferences","href":"http://localhost:3000/members_preferences/6"},{"rel":"member_statistics","href":"http://localhost:3000/member_statistics/search?member_id=6"},{"rel":"member_thumbnail","href":"http://9720728c11b014fc3f7c-401599d8c2efd31ed32bcf970d759503.r67.cf1.rackcdn.com/roster_thumb_photos/6/thumb/84f7e666-5078-4f0c-8826-02f3bbb3c00d.png"},{"rel":"message_data","href":"http://localhost:3000/message_data/search?member_id=6"},{"rel":"messages","href":"http://localhost:3000/messages/search?member_id=6"},{"rel":"statistic_data","href":"http://localhost:3000/statistic_data/search?member_id=6"},{"rel":"team","href":"http://localhost:3000/teams/1"},{"rel":"team_media","href":"http://localhost:3000/team_media/search?member_id=6"},{"rel":"team_medium_comments","href":"http://localhost:3000/team_medium_comments/search?member_id=6"},{"rel":"tracked_item_statuses","href":"http://localhost:3000/tracked_item_statuses/search?member_id=6"},{"rel":"user","href":"http://localhost:3000/users/9"}],"rel":"member-6"}]}}'
|
65
|
+
http_version: '1.1'
|
66
|
+
adapter_metadata:
|
67
|
+
effective_url: http://localhost:3000/members/upload_member_photo
|
68
|
+
recorded_at: Wed, 13 Jul 2016 23:25:59 GMT
|
69
|
+
recorded_with: VCR 2.9.3
|
@@ -0,0 +1,69 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: http://localhost:3000/members/upload_member_photo
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: member_id=6&file=teamsnap20160713-50680-1ujs61o.png=image/png=/var/folders/0j/9mlhhlrx76n7pb4dl9gw3gm00000gn/T/teamsnap20160713-50680-1ujs61o.png
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Faraday v0.9.2
|
12
|
+
Authorization:
|
13
|
+
- Bearer 7-js_frontend-dont_tell_the_cops
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 200
|
17
|
+
message: OK
|
18
|
+
headers:
|
19
|
+
Content-Type:
|
20
|
+
- application/vnd.collection+json
|
21
|
+
Content-Length:
|
22
|
+
- '12004'
|
23
|
+
X-Content-Type-Options:
|
24
|
+
- nosniff
|
25
|
+
ETag:
|
26
|
+
- '"868df086ded166bbecec45c32d69b23e"'
|
27
|
+
Cache-Control:
|
28
|
+
- max-age=0, private, must-revalidate
|
29
|
+
X-Request-Id:
|
30
|
+
- a8ec1a52-cce3-40c7-b71a-6fd02d135ac7
|
31
|
+
X-Runtime:
|
32
|
+
- '24.489467'
|
33
|
+
Connection:
|
34
|
+
- keep-alive
|
35
|
+
Server:
|
36
|
+
- thin
|
37
|
+
body:
|
38
|
+
encoding: UTF-8
|
39
|
+
string: '{"collection":{"version":"3.292.6","href":"http://localhost:3000/members","rel":"members","template":{"data":[{"name":"first_name","value":null},{"name":"last_name","value":null},{"name":"gender","value":null},{"name":"position","value":null},{"name":"is_manager","value":null},{"name":"birthday","value":null},{"name":"hide_age","value":null,"deprecated":true,"prompt":"hide_age
|
40
|
+
is deprecated and will be removed in a future version, use is_age_hidden instead."},{"name":"is_age_hidden","value":null},{"name":"hide_address","value":null,"deprecated":true,"prompt":"hide_address
|
41
|
+
is deprecated and will be removed in a future version, use is_address_hidden
|
42
|
+
instead."},{"name":"is_address_hidden","value":null},{"name":"is_non_player","value":null},{"name":"address_street1","value":null},{"name":"address_street2","value":null},{"name":"address_city","value":null},{"name":"address_state","value":null},{"name":"address_zip","value":null},{"name":"jersey_number","value":null},{"name":"team_id","value":null},{"name":"is_ownership_pending","value":null},{"name":"type","value":"member"}]},"links":[{"rel":"assignments","href":"http://localhost:3000/assignments"},{"rel":"availabilities","href":"http://localhost:3000/availabilities"},{"rel":"broadcast_email_attachments","href":"http://localhost:3000/broadcast_email_attachments"},{"rel":"broadcast_emails","href":"http://localhost:3000/broadcast_emails"},{"rel":"broadcast_alerts","href":"http://localhost:3000/broadcast_alerts"},{"rel":"contact_email_addresses","href":"http://localhost:3000/contact_email_addresses"},{"rel":"contact_phone_numbers","href":"http://localhost:3000/contact_phone_numbers"},{"rel":"contacts","href":"http://localhost:3000/contacts"},{"rel":"custom_data","href":"http://localhost:3000/custom_data"},{"rel":"custom_fields","href":"http://localhost:3000/custom_fields"},{"rel":"league_custom_data","href":"http://localhost:3000/league_custom_data"},{"rel":"league_custom_fields","href":"http://localhost:3000/league_custom_fields"},{"rel":"forum_posts","href":"http://localhost:3000/forum_posts"},{"rel":"forum_subscriptions","href":"http://localhost:3000/forum_subscriptions"},{"rel":"forum_topics","href":"http://localhost:3000/forum_topics"},{"rel":"league_registrant_documents","href":"http://localhost:3000/league_registrant_documents"},{"rel":"member_balances","href":"http://localhost:3000/member_balances"},{"rel":"member_email_addresses","href":"http://localhost:3000/member_email_addresses"},{"rel":"member_files","href":"http://localhost:3000/member_files"},{"rel":"member_links","href":"http://localhost:3000/member_links"},{"rel":"member_payments","href":"http://localhost:3000/member_payments"},{"rel":"member_phone_numbers","href":"http://localhost:3000/member_phone_numbers"},{"rel":"member_preferences","href":"http://localhost:3000/members_preferences"},{"rel":"member_statistics","href":"http://localhost:3000/member_statistics"},{"rel":"message_data","href":"http://localhost:3000/message_data"},{"rel":"messages","href":"http://localhost:3000/messages"},{"rel":"statistic_data","href":"http://localhost:3000/statistic_data"},{"rel":"team","href":"http://localhost:3000/teams"},{"rel":"team_media","href":"http://localhost:3000/team_media"},{"rel":"team_medium_comments","href":"http://localhost:3000/team_medium_comments"},{"rel":"tracked_item_statuses","href":"http://localhost:3000/tracked_item_statuses"},{"rel":"user","href":"http://localhost:3000/users"},{"rel":"root","href":"http://localhost:3000/"},{"rel":"self","href":"http://localhost:3000/members/upload_member_photo"}],"queries":[{"rel":"search","href":"http://localhost:3000/members/search","data":[{"name":"team_id","value":null},{"name":"user_id","value":null},{"name":"id","value":null},{"name":"page_size","value":null,"prompt":"The
|
43
|
+
number of items to return for each page. Sending this parameter with the query
|
44
|
+
will enable paging for the returned collection."},{"name":"page_number","value":null,"prompt":"The
|
45
|
+
number of the page to be returned. This requires that paging be turned on
|
46
|
+
by also providing the page_size parameter."}]},{"rel":"managers","href":"http://localhost:3000/members/managers","data":[{"name":"team_id","value":null}]},{"rel":"personas","href":"http://localhost:3000/members/personas","prompt":"Given
|
47
|
+
a user ID, returns members directly associated with the user as well as members
|
48
|
+
associated with the user via a shared access contact.","data":[{"name":"user_id","value":null}]},{"rel":"owner","href":"http://localhost:3000/members/owner","data":[{"name":"team_id","value":null}]},{"rel":"commissioners","href":"http://localhost:3000/members/commissioners","prompt":"BETA:
|
49
|
+
(this query is subject to change or suddenly disappear) Given a a team_id
|
50
|
+
or division_id, returns all members that are commissioners of the divisions
|
51
|
+
that the team is in.","data":[{"name":"team_id","value":null},{"name":"division_id","value":null}]},{"rel":"importable_members","href":"http://localhost:3000/members/importable_members","prompt":"Given
|
52
|
+
a user ID, returns all members associated with user''s active season teams. If
|
53
|
+
include_archived_teams (boolean) parameter is supplied, members associated
|
54
|
+
with archived teams will be returned as well.","data":[{"name":"user_id","value":null},{"name":"include_archived_teams","value":null}]}],"commands":[{"rel":"disable_member","href":"http://localhost:3000/members/disable_member","data":[{"name":"member_id","value":null}]},{"rel":"upload_member_photo","href":"http://localhost:3000/members/upload_member_photo","data":[{"name":"member_id","value":null},{"name":"file","value":null},{"name":"x","value":null},{"name":"y","value":null},{"name":"width","value":null},{"name":"height","value":null}]},{"rel":"remove_member_photo","href":"http://localhost:3000/members/remove_member_photo","data":[{"name":"member_id","value":null}]},{"rel":"generate_member_thumbnail","href":"http://localhost:3000/members/generate_member_thumbnail","data":[{"name":"member_id","value":null},{"name":"x","value":null},{"name":"y","value":null},{"name":"width","value":null},{"name":"height","value":null}]},{"rel":"import_from_team","href":"http://localhost:3000/members/import_from_team","prompt":"Given
|
55
|
+
source_member_ids (array) and a destination_team_id, source members and related
|
56
|
+
member data will be imported to the destination team. Newly created members
|
57
|
+
will be returned.","data":[{"name":"source_member_ids","value":null},{"name":"destination_team_id","value":null},{"name":"send_invites","value":null,"prompt":"Whether
|
58
|
+
or not to create and send invitations for each imported member. Valid values
|
59
|
+
are either ''true'' or ''false'' and will default to ''false''"}]}],"items":[{"href":"http://localhost:3000/members/6","data":[{"name":"id","value":6},{"name":"type","value":"member"},{"name":"address_city","value":null},{"name":"address_state","value":null},{"name":"address_street1","value":null},{"name":"address_street2","value":null},{"name":"address_zip","value":null},{"name":"birthday","value":""},{"name":"first_name","value":"Plato"},{"name":"gender","value":null},{"name":"has_facebook_post_scores_enabled","value":false},{"name":"hide_address","value":null,"deprecated":true,"prompt":"hide_address
|
60
|
+
is deprecated and will be removed in a future version, use is_address_hidden
|
61
|
+
instead."},{"name":"is_address_hidden","value":null},{"name":"hide_age","value":null,"deprecated":true,"prompt":"hide_age
|
62
|
+
is deprecated and will be removed in a future version, use is_age_hidden instead."},{"name":"is_age_hidden","value":null},{"name":"is_commissioner","value":false},{"name":"invitation_code","value":null},{"name":"invitation_declined","value":null},{"name":"is_activated","value":true},{"name":"is_pushable","value":false},{"name":"is_alertable","value":true},{"name":"is_emailable","value":true},{"name":"is_invitable","value":false},{"name":"is_invited","value":false},{"name":"is_manager","value":false},{"name":"is_non_player","value":false},{"name":"is_owner","value":false},{"name":"is_ownership_pending","value":null},{"name":"jersey_number","value":null},{"name":"last_logged_in_at","value":null,"deprecated":true,"prompt":"%{field}
|
63
|
+
is deprecated and has been removed. Continued use of %{field} is not recommended
|
64
|
+
it will no longer be stored."},{"name":"last_name","value":"Player"},{"name":"position","value":null},{"name":"team_id","value":1},{"name":"user_id","value":9},{"name":"updated_at","value":"2016-07-13T23:27:13Z","type":"DateTime"},{"name":"created_at","value":"2016-07-13T23:22:19Z","type":"DateTime"}],"links":[{"rel":"assignments","href":"http://localhost:3000/assignments/search?member_id=6"},{"rel":"availabilities","href":"http://localhost:3000/availabilities/search?member_id=6"},{"rel":"broadcast_email_attachments","href":"http://localhost:3000/broadcast_email_attachments/search?member_id=6"},{"rel":"broadcast_emails","href":"http://localhost:3000/broadcast_emails/search?member_id=6"},{"rel":"broadcast_alerts","href":"http://localhost:3000/broadcast_alerts/search?member_id=6"},{"rel":"contact_email_addresses","href":"http://localhost:3000/contact_email_addresses/search?member_id=6"},{"rel":"contact_phone_numbers","href":"http://localhost:3000/contact_phone_numbers/search?member_id=6"},{"rel":"contacts","href":"http://localhost:3000/contacts/search?member_id=6"},{"rel":"custom_data","href":"http://localhost:3000/custom_data/search?member_id=6"},{"rel":"custom_fields","href":"http://localhost:3000/custom_fields/search?team_id=1"},{"rel":"league_custom_data","href":"http://localhost:3000/league_custom_data/search?member_id=6"},{"rel":"league_custom_fields","href":"http://localhost:3000/league_custom_fields/search?team_id=1"},{"rel":"forum_posts","href":"http://localhost:3000/forum_posts/search?member_id=6"},{"rel":"forum_subscriptions","href":"http://localhost:3000/forum_subscriptions/search?member_id=6"},{"rel":"forum_topics","href":"http://localhost:3000/forum_topics/search?team_id=1"},{"rel":"league_registrant_documents","href":"http://localhost:3000/league_registrant_documents/search?member_id=6"},{"rel":"member_balances","href":"http://localhost:3000/member_balances/search?member_id=6"},{"rel":"member_email_addresses","href":"http://localhost:3000/member_email_addresses/search?member_id=6"},{"rel":"member_files","href":"http://localhost:3000/member_files/search?member_id=6"},{"rel":"member_links","href":"http://localhost:3000/member_links/search?member_id=6"},{"rel":"member_payments","href":"http://localhost:3000/member_payments/search?member_id=6"},{"rel":"member_phone_numbers","href":"http://localhost:3000/member_phone_numbers/search?member_id=6"},{"rel":"member_photo","href":"http://9720728c11b014fc3f7c-401599d8c2efd31ed32bcf970d759503.r67.cf1.rackcdn.com/roster_full_photos/6/original/baacbd9f-07ba-4260-bb93-0da0c5533f60.png"},{"rel":"member_photo_file","href":"http://localhost:3000/member_photo_files/6"},{"rel":"member_photos","href":"http://localhost:3000/member_photos/search?member_id=6"},{"rel":"member_preferences","href":"http://localhost:3000/members_preferences/6"},{"rel":"member_statistics","href":"http://localhost:3000/member_statistics/search?member_id=6"},{"rel":"member_thumbnail","href":"http://9720728c11b014fc3f7c-401599d8c2efd31ed32bcf970d759503.r67.cf1.rackcdn.com/roster_thumb_photos/6/thumb/baacbd9f-07ba-4260-bb93-0da0c5533f60.png"},{"rel":"message_data","href":"http://localhost:3000/message_data/search?member_id=6"},{"rel":"messages","href":"http://localhost:3000/messages/search?member_id=6"},{"rel":"statistic_data","href":"http://localhost:3000/statistic_data/search?member_id=6"},{"rel":"team","href":"http://localhost:3000/teams/1"},{"rel":"team_media","href":"http://localhost:3000/team_media/search?member_id=6"},{"rel":"team_medium_comments","href":"http://localhost:3000/team_medium_comments/search?member_id=6"},{"rel":"tracked_item_statuses","href":"http://localhost:3000/tracked_item_statuses/search?member_id=6"},{"rel":"user","href":"http://localhost:3000/users/9"}],"rel":"member-6"}]}}'
|
65
|
+
http_version: '1.1'
|
66
|
+
adapter_metadata:
|
67
|
+
effective_url: http://localhost:3000/members/upload_member_photo
|
68
|
+
recorded_at: Wed, 13 Jul 2016 23:27:13 GMT
|
69
|
+
recorded_with: VCR 2.9.3
|
@@ -0,0 +1,41 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
require "teamsnap"
|
3
|
+
|
4
|
+
RSpec.describe "uploading files", :vcr => true do
|
5
|
+
let(:client_id) { "classic" }
|
6
|
+
let(:client_secret) { "dont_tell_the_cops" }
|
7
|
+
|
8
|
+
let(:client) {
|
9
|
+
TeamSnap::Client.new({
|
10
|
+
:url => ROOT_TEST_URL,
|
11
|
+
:token => "7-js_frontend-dont_tell_the_cops"
|
12
|
+
})
|
13
|
+
}
|
14
|
+
|
15
|
+
before(:all) do
|
16
|
+
VCR.use_cassette("apiv3-init") do
|
17
|
+
TeamSnap.init(
|
18
|
+
:url => ROOT_TEST_URL,
|
19
|
+
:client_id => "classic",
|
20
|
+
:client_secret => "dont_tell_the_cops"
|
21
|
+
)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
it "uploads a file" do
|
26
|
+
file = File.open("support/teamsnap.png", "r")
|
27
|
+
response = TeamSnap::Member
|
28
|
+
.upload_member_photo(client, :member_id => "6", :file => file)
|
29
|
+
expect(response.first).to be_a(TeamSnap::Member)
|
30
|
+
end
|
31
|
+
|
32
|
+
it "uploads a tempfile" do
|
33
|
+
file = File.open("support/teamsnap.png", "r")
|
34
|
+
tempfile = Tempfile.open(["teamsnap",".png"])
|
35
|
+
tempfile.write(file.read)
|
36
|
+
|
37
|
+
response = TeamSnap::Member
|
38
|
+
.upload_member_photo(client, :member_id => "6", :file => tempfile)
|
39
|
+
expect(response.first).to be_a(TeamSnap::Member)
|
40
|
+
end
|
41
|
+
end
|
data/spec/teamsnap/item_spec.rb
CHANGED
@@ -194,5 +194,24 @@ RSpec.describe "teamsnap__item", :vcr => true do
|
|
194
194
|
expect(item.id).to eq(11)
|
195
195
|
expect(item.new_attr).to eq("new_value")
|
196
196
|
end
|
197
|
+
|
198
|
+
it "handles array values" do
|
199
|
+
collection = {
|
200
|
+
:items => [
|
201
|
+
{
|
202
|
+
:href => "http://localhost:3000/teams/10",
|
203
|
+
:data => [
|
204
|
+
{:name => "id", :value => 10},
|
205
|
+
{:name => "type", :value => "team"},
|
206
|
+
{:name => "array", :value => ["value", "value2"]}
|
207
|
+
]
|
208
|
+
}
|
209
|
+
]
|
210
|
+
}
|
211
|
+
|
212
|
+
item = TeamSnap::Item.load_items(TeamSnap.root_client, collection)[0]
|
213
|
+
expect(item.class).to eq(TeamSnap::Team)
|
214
|
+
expect(item.array).to eq(["value", "value2"])
|
215
|
+
end
|
197
216
|
end
|
198
217
|
end
|
Binary file
|
metadata
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: teamsnap_rb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.0.
|
4
|
+
version: 2.0.0.beta10
|
5
|
+
prerelease: 6
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Shane Emmons
|
@@ -9,132 +10,150 @@ authors:
|
|
9
10
|
autorequire:
|
10
11
|
bindir: bin
|
11
12
|
cert_chain: []
|
12
|
-
date: 2016-
|
13
|
+
date: 2016-07-15 00:00:00.000000000 Z
|
13
14
|
dependencies:
|
14
15
|
- !ruby/object:Gem::Dependency
|
15
16
|
name: rake
|
16
17
|
requirement: !ruby/object:Gem::Requirement
|
18
|
+
none: false
|
17
19
|
requirements:
|
18
|
-
- -
|
20
|
+
- - ! '>='
|
19
21
|
- !ruby/object:Gem::Version
|
20
22
|
version: '0'
|
21
23
|
type: :development
|
22
24
|
prerelease: false
|
23
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
none: false
|
24
27
|
requirements:
|
25
|
-
- -
|
28
|
+
- - ! '>='
|
26
29
|
- !ruby/object:Gem::Version
|
27
30
|
version: '0'
|
28
31
|
- !ruby/object:Gem::Dependency
|
29
32
|
name: bundler
|
30
33
|
requirement: !ruby/object:Gem::Requirement
|
34
|
+
none: false
|
31
35
|
requirements:
|
32
|
-
- -
|
36
|
+
- - ~>
|
33
37
|
- !ruby/object:Gem::Version
|
34
38
|
version: 1.10.2
|
35
39
|
type: :development
|
36
40
|
prerelease: false
|
37
41
|
version_requirements: !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
38
43
|
requirements:
|
39
|
-
- -
|
44
|
+
- - ~>
|
40
45
|
- !ruby/object:Gem::Version
|
41
46
|
version: 1.10.2
|
42
47
|
- !ruby/object:Gem::Dependency
|
43
48
|
name: rspec
|
44
49
|
requirement: !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
45
51
|
requirements:
|
46
|
-
- -
|
52
|
+
- - ~>
|
47
53
|
- !ruby/object:Gem::Version
|
48
54
|
version: 3.2.0
|
49
55
|
type: :development
|
50
56
|
prerelease: false
|
51
57
|
version_requirements: !ruby/object:Gem::Requirement
|
58
|
+
none: false
|
52
59
|
requirements:
|
53
|
-
- -
|
60
|
+
- - ~>
|
54
61
|
- !ruby/object:Gem::Version
|
55
62
|
version: 3.2.0
|
56
63
|
- !ruby/object:Gem::Dependency
|
57
64
|
name: vcr
|
58
65
|
requirement: !ruby/object:Gem::Requirement
|
66
|
+
none: false
|
59
67
|
requirements:
|
60
|
-
- -
|
68
|
+
- - ~>
|
61
69
|
- !ruby/object:Gem::Version
|
62
70
|
version: 2.9.3
|
63
71
|
type: :development
|
64
72
|
prerelease: false
|
65
73
|
version_requirements: !ruby/object:Gem::Requirement
|
74
|
+
none: false
|
66
75
|
requirements:
|
67
|
-
- -
|
76
|
+
- - ~>
|
68
77
|
- !ruby/object:Gem::Version
|
69
78
|
version: 2.9.3
|
70
79
|
- !ruby/object:Gem::Dependency
|
71
80
|
name: faraday
|
72
81
|
requirement: !ruby/object:Gem::Requirement
|
82
|
+
none: false
|
73
83
|
requirements:
|
74
|
-
- -
|
84
|
+
- - ~>
|
75
85
|
- !ruby/object:Gem::Version
|
76
86
|
version: 0.9.1
|
77
87
|
type: :runtime
|
78
88
|
prerelease: false
|
79
89
|
version_requirements: !ruby/object:Gem::Requirement
|
90
|
+
none: false
|
80
91
|
requirements:
|
81
|
-
- -
|
92
|
+
- - ~>
|
82
93
|
- !ruby/object:Gem::Version
|
83
94
|
version: 0.9.1
|
84
95
|
- !ruby/object:Gem::Dependency
|
85
96
|
name: typhoeus
|
86
97
|
requirement: !ruby/object:Gem::Requirement
|
98
|
+
none: false
|
87
99
|
requirements:
|
88
|
-
- -
|
100
|
+
- - ~>
|
89
101
|
- !ruby/object:Gem::Version
|
90
102
|
version: 0.7.1
|
91
103
|
type: :runtime
|
92
104
|
prerelease: false
|
93
105
|
version_requirements: !ruby/object:Gem::Requirement
|
106
|
+
none: false
|
94
107
|
requirements:
|
95
|
-
- -
|
108
|
+
- - ~>
|
96
109
|
- !ruby/object:Gem::Version
|
97
110
|
version: 0.7.1
|
98
111
|
- !ruby/object:Gem::Dependency
|
99
112
|
name: oj
|
100
113
|
requirement: !ruby/object:Gem::Requirement
|
114
|
+
none: false
|
101
115
|
requirements:
|
102
|
-
- -
|
116
|
+
- - ~>
|
103
117
|
- !ruby/object:Gem::Version
|
104
118
|
version: 2.11.4
|
105
119
|
type: :runtime
|
106
120
|
prerelease: false
|
107
121
|
version_requirements: !ruby/object:Gem::Requirement
|
122
|
+
none: false
|
108
123
|
requirements:
|
109
|
-
- -
|
124
|
+
- - ~>
|
110
125
|
- !ruby/object:Gem::Version
|
111
126
|
version: 2.11.4
|
112
127
|
- !ruby/object:Gem::Dependency
|
113
128
|
name: inflecto
|
114
129
|
requirement: !ruby/object:Gem::Requirement
|
130
|
+
none: false
|
115
131
|
requirements:
|
116
|
-
- -
|
132
|
+
- - ~>
|
117
133
|
- !ruby/object:Gem::Version
|
118
134
|
version: 0.0.2
|
119
135
|
type: :runtime
|
120
136
|
prerelease: false
|
121
137
|
version_requirements: !ruby/object:Gem::Requirement
|
138
|
+
none: false
|
122
139
|
requirements:
|
123
|
-
- -
|
140
|
+
- - ~>
|
124
141
|
- !ruby/object:Gem::Version
|
125
142
|
version: 0.0.2
|
126
143
|
- !ruby/object:Gem::Dependency
|
127
144
|
name: virtus
|
128
145
|
requirement: !ruby/object:Gem::Requirement
|
146
|
+
none: false
|
129
147
|
requirements:
|
130
|
-
- -
|
148
|
+
- - ~>
|
131
149
|
- !ruby/object:Gem::Version
|
132
150
|
version: 1.0.4
|
133
151
|
type: :runtime
|
134
152
|
prerelease: false
|
135
153
|
version_requirements: !ruby/object:Gem::Requirement
|
154
|
+
none: false
|
136
155
|
requirements:
|
137
|
-
- -
|
156
|
+
- - ~>
|
138
157
|
- !ruby/object:Gem::Version
|
139
158
|
version: 1.0.4
|
140
159
|
description: A gem to interact with TeamSnap's API
|
@@ -144,8 +163,8 @@ executables: []
|
|
144
163
|
extensions: []
|
145
164
|
extra_rdoc_files: []
|
146
165
|
files:
|
147
|
-
-
|
148
|
-
-
|
166
|
+
- .gitignore
|
167
|
+
- .travis.yml
|
149
168
|
- CHANGELOG.md
|
150
169
|
- Gemfile
|
151
170
|
- LICENSE
|
@@ -192,6 +211,9 @@ files:
|
|
192
211
|
- spec/cassettes/teamsnap_rb/_client_send/when_sent_a_known_via_/calls_POST_on_the_given_client.yml
|
193
212
|
- spec/cassettes/teamsnap_rb/_run/processes_the_response.yml
|
194
213
|
- spec/cassettes/teamsnap_rb/_server_error/Specifies_call_and_endpoint_that_was_unsuccessful.yml
|
214
|
+
- spec/cassettes/uploading_files/uploads_a_file.yml
|
215
|
+
- spec/cassettes/uploading_files/uploads_a_tempfile.yml
|
216
|
+
- spec/features/uploading_files_spec.rb
|
195
217
|
- spec/spec_helper.rb
|
196
218
|
- spec/teamsnap/apiv_spec.rb
|
197
219
|
- spec/teamsnap/client_spec.rb
|
@@ -199,31 +221,33 @@ files:
|
|
199
221
|
- spec/teamsnap/item_spec.rb
|
200
222
|
- spec/teamsnap/structure_spec.rb
|
201
223
|
- spec/teamsnap_spec.rb
|
224
|
+
- support/teamsnap.png
|
202
225
|
- teamsnap_rb.gemspec
|
203
226
|
- tmp/.gitignore
|
204
227
|
homepage: http://developer.teamsnap.com/
|
205
228
|
licenses:
|
206
229
|
- MIT
|
207
|
-
metadata: {}
|
208
230
|
post_install_message:
|
209
231
|
rdoc_options: []
|
210
232
|
require_paths:
|
211
233
|
- lib
|
212
234
|
required_ruby_version: !ruby/object:Gem::Requirement
|
235
|
+
none: false
|
213
236
|
requirements:
|
214
|
-
- -
|
237
|
+
- - ! '>='
|
215
238
|
- !ruby/object:Gem::Version
|
216
239
|
version: 1.9.3
|
217
240
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
241
|
+
none: false
|
218
242
|
requirements:
|
219
|
-
- -
|
243
|
+
- - ! '>'
|
220
244
|
- !ruby/object:Gem::Version
|
221
245
|
version: 1.3.1
|
222
246
|
requirements: []
|
223
247
|
rubyforge_project:
|
224
|
-
rubygems_version:
|
248
|
+
rubygems_version: 1.8.25
|
225
249
|
signing_key:
|
226
|
-
specification_version:
|
250
|
+
specification_version: 3
|
227
251
|
summary: A gem to interact with TeamSnap's API
|
228
252
|
test_files:
|
229
253
|
- spec/cassettes/apiv3-error.yml
|
@@ -256,6 +280,9 @@ test_files:
|
|
256
280
|
- spec/cassettes/teamsnap_rb/_client_send/when_sent_a_known_via_/calls_POST_on_the_given_client.yml
|
257
281
|
- spec/cassettes/teamsnap_rb/_run/processes_the_response.yml
|
258
282
|
- spec/cassettes/teamsnap_rb/_server_error/Specifies_call_and_endpoint_that_was_unsuccessful.yml
|
283
|
+
- spec/cassettes/uploading_files/uploads_a_file.yml
|
284
|
+
- spec/cassettes/uploading_files/uploads_a_tempfile.yml
|
285
|
+
- spec/features/uploading_files_spec.rb
|
259
286
|
- spec/spec_helper.rb
|
260
287
|
- spec/teamsnap/apiv_spec.rb
|
261
288
|
- spec/teamsnap/client_spec.rb
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: 6bbbfb0eb985d89e7009bf7956ceaab3147713ea
|
4
|
-
data.tar.gz: 05d0073aee1f78775dcd9ec7e4b529edf2f8b460
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: ce2af9e4cea53fdeb17012de5b81c570161276c26b910990ad6096c9b28166dd2bbafbdecc59c6b45524942bbb40e390e83e11a3f6147c4b542d2e8841d97da7
|
7
|
-
data.tar.gz: e5fc0b16bb19697e977f2f16f5cfda71bc9059e46db8a81bd62d14762b5821ee4888dfba8ae906945b58850060eb3eff6c9d8efabf74a0801505317cbbda854c
|