net 0.0.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (33) hide show
  1. checksums.yaml +4 -4
  2. data/.rspec +3 -0
  3. data/CHANGELOG.md +11 -0
  4. data/{LICENSE.txt → MIT-LICENSE} +2 -4
  5. data/README.md +108 -17
  6. data/lib/net.rb +0 -1
  7. data/lib/net/twitter.rb +11 -0
  8. data/lib/net/twitter/api/configuration.rb +16 -0
  9. data/lib/net/twitter/api/request.rb +121 -0
  10. data/lib/net/twitter/config.rb +15 -0
  11. data/lib/net/twitter/errors.rb +4 -0
  12. data/lib/net/twitter/errors/response_error.rb +14 -0
  13. data/lib/net/twitter/errors/suspended_user.rb +11 -0
  14. data/lib/net/twitter/errors/too_many_users.rb +11 -0
  15. data/lib/net/twitter/errors/unknown_user.rb +11 -0
  16. data/lib/net/twitter/models.rb +1 -0
  17. data/lib/net/twitter/models/user.rb +80 -0
  18. data/lib/net/version.rb +1 -1
  19. data/net.gemspec +14 -7
  20. data/spec/net/twitter/models/user_spec.rb +98 -0
  21. data/spec/spec_helper.rb +21 -0
  22. data/spec/support/cassettes/Net_Twitter_Models_User/_find_by/given_a_suspended_screen_name/.yml +69 -0
  23. data/spec/support/cassettes/Net_Twitter_Models_User/_find_by/given_an_existing_case-insensitive_screen_name/returns_an_object_representing_that_user.yml +136 -0
  24. data/spec/support/cassettes/Net_Twitter_Models_User/_find_by/given_an_unknown_screen_name/.yml +69 -0
  25. data/spec/support/cassettes/Net_Twitter_Models_User/_find_by_/given_a_suspended_screen_name/.yml +69 -0
  26. data/spec/support/cassettes/Net_Twitter_Models_User/_find_by_/given_an_existing_case-insensitive_screen_name/returns_an_object_representing_that_user.yml +80 -0
  27. data/spec/support/cassettes/Net_Twitter_Models_User/_find_by_/given_an_unknown_screen_name/.yml +69 -0
  28. data/spec/support/cassettes/Net_Twitter_Models_User/_where/called_more_times_than_Twitter_s_rate_limit/waits_for_the_rate_limit_to_expire_then_continues.yml +4802 -0
  29. data/spec/support/cassettes/Net_Twitter_Models_User/_where/given_more_screen_names_than_allowed_by_Twitter/.yml +69 -0
  30. data/spec/support/cassettes/Net_Twitter_Models_User/_where/given_multiple_existing_case-insensitive_screen_names/returns_an_array_of_objects_representing_those_users.yml +87 -0
  31. data/spec/support/cassettes/Net_Twitter_Models_User/_where/given_multiple_unknown_or_suspended_screen_names/returns_an_empty_array.yml +69 -0
  32. data/spec/support/vcr.rb +22 -0
  33. metadata +138 -13
@@ -0,0 +1,69 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.twitter.com/1.1/users/lookup.json?screen_name=aa,ab,ac,ad,ae,ba,bb,bc,bd,be,ca,cb,cc,cd,ce,da,db,dc,dd,de,ea,eb,ec,ed,ee,fa,fb,fc,fd,fe,ga,gb,gc,gd,ge,ha,hb,hc,hd,he,ia,ib,ic,id,ie,ja,jb,jc,jd,je,ka,kb,kc,kd,ke,la,lb,lc,ld,le,ma,mb,mc,md,me,na,nb,nc,nd,ne,oa,ob,oc,od,oe,pa,pb,pc,pd,pe,qa,qb,qc,qd,qe,ra,rb,rc,rd,re,sa,sb,sc,sd,se,ta,tb,tc,td,te,ua,ub,uc,ud,ue,va,vb,vc,vd,ve,wa,wb,wc,wd,we,xa,xb,xc,xd,xe,ya,yb,yc,yd,ye,za,zb,zc,zd,ze
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ Authorization:
17
+ - ACCESS_TOKEN
18
+ response:
19
+ status:
20
+ code: 403
21
+ message: Forbidden
22
+ headers:
23
+ Cache-Control:
24
+ - no-cache, no-store, must-revalidate, pre-check=0, post-check=0
25
+ Content-Length:
26
+ - '96'
27
+ Content-Type:
28
+ - application/json;charset=utf-8
29
+ Date:
30
+ - Sat, 11 Oct 2014 01:08:23 UTC
31
+ Expires:
32
+ - Tue, 31 Mar 1981 05:00:00 GMT
33
+ Last-Modified:
34
+ - Sat, 11 Oct 2014 01:08:23 GMT
35
+ Pragma:
36
+ - no-cache
37
+ Server:
38
+ - tsa_a
39
+ Set-Cookie:
40
+ - guest_id=v1%3A141298970306646690; Domain=.twitter.com; Path=/; Expires=Mon,
41
+ 10-Oct-2016 01:08:23 UTC
42
+ Status:
43
+ - 403 Forbidden
44
+ Strict-Transport-Security:
45
+ - max-age=631138519
46
+ X-Access-Level:
47
+ - read
48
+ X-Connection-Hash:
49
+ - 0d8ccb030862cf1cce28b1610c3fa4e7
50
+ X-Content-Type-Options:
51
+ - nosniff
52
+ X-Frame-Options:
53
+ - SAMEORIGIN
54
+ X-Rate-Limit-Limit:
55
+ - '60'
56
+ X-Rate-Limit-Remaining:
57
+ - '57'
58
+ X-Rate-Limit-Reset:
59
+ - '1412990602'
60
+ X-Transaction:
61
+ - d15812f189dc6314
62
+ X-Xss-Protection:
63
+ - 1; mode=block
64
+ body:
65
+ encoding: UTF-8
66
+ string: '{"errors":[{"code":18,"message":"Too many terms specified in query."}]}'
67
+ http_version:
68
+ recorded_at: Sat, 11 Oct 2014 01:08:16 GMT
69
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,87 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.twitter.com/1.1/users/lookup.json?screen_name=brohemian6,fullscreen,CodFatherLucas,09hlQHE29534awe
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ Authorization:
17
+ - ACCESS_TOKEN
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Cache-Control:
24
+ - no-cache, no-store, must-revalidate, pre-check=0, post-check=0
25
+ Content-Length:
26
+ - '1742'
27
+ Content-Type:
28
+ - application/json;charset=utf-8
29
+ Date:
30
+ - Sat, 11 Oct 2014 01:08:22 UTC
31
+ Expires:
32
+ - Tue, 31 Mar 1981 05:00:00 GMT
33
+ Last-Modified:
34
+ - Sat, 11 Oct 2014 01:08:22 GMT
35
+ Pragma:
36
+ - no-cache
37
+ Server:
38
+ - tsa_a
39
+ Set-Cookie:
40
+ - guest_id=v1%3A141298970280288467; Domain=.twitter.com; Path=/; Expires=Mon,
41
+ 10-Oct-2016 01:08:22 UTC
42
+ Status:
43
+ - 200 OK
44
+ Strict-Transport-Security:
45
+ - max-age=631138519
46
+ X-Access-Level:
47
+ - read
48
+ X-Connection-Hash:
49
+ - 7ce0eb46ed311f4157794f16c7f94561
50
+ X-Content-Type-Options:
51
+ - nosniff
52
+ X-Frame-Options:
53
+ - SAMEORIGIN
54
+ X-Rate-Limit-Limit:
55
+ - '60'
56
+ X-Rate-Limit-Remaining:
57
+ - '59'
58
+ X-Rate-Limit-Reset:
59
+ - '1412990602'
60
+ X-Transaction:
61
+ - a830b020ab5ed140
62
+ X-Xss-Protection:
63
+ - 1; mode=block
64
+ body:
65
+ encoding: UTF-8
66
+ string: '[{"id":1004807442,"id_str":"1004807442","name":"Jeremy Cohen hoffing","screen_name":"brohemian6","location":"Los
67
+ Angeles, CA","description":"Web developer & Amphibian","url":"http:\/\/t.co\/bkIDyYNa","entities":{"url":{"urls":[{"url":"http:\/\/t.co\/bkIDyYNa","expanded_url":"http:\/\/www.surfhadaka.com","display_url":"surfhadaka.com","indices":[0,20]}]},"description":{"urls":[]}},"protected":false,"followers_count":20,"friends_count":10,"listed_count":0,"created_at":"Tue
68
+ Dec 11 20:22:30 +0000 2012","favourites_count":5,"utc_offset":null,"time_zone":null,"geo_enabled":false,"verified":false,"statuses_count":6,"lang":"en","status":{"created_at":"Tue
69
+ Jun 24 06:26:58 +0000 2014","id":481322573935181824,"id_str":"481322573935181824","text":"Just
70
+ read @MrJamesNestor''s DEEP from cover to cover. Truly fascinating & inspiring.
71
+ Looks like I''m flipping the master switch this weekend.","source":"\u003ca
72
+ href=\"http:\/\/twitter.com\" rel=\"nofollow\"\u003eTwitter Web Client\u003c\/a\u003e","truncated":false,"in_reply_to_status_id":null,"in_reply_to_status_id_str":null,"in_reply_to_user_id":null,"in_reply_to_user_id_str":null,"in_reply_to_screen_name":null,"geo":null,"coordinates":null,"place":null,"contributors":null,"retweet_count":0,"favorite_count":0,"entities":{"hashtags":[],"symbols":[],"urls":[],"user_mentions":[{"screen_name":"MrJamesNestor","name":"James
73
+ Nestor","id":68263746,"id_str":"68263746","indices":[10,24]}]},"favorited":false,"retweeted":false,"lang":"en"},"contributors_enabled":false,"is_translator":false,"is_translation_enabled":false,"profile_background_color":"C0DEED","profile_background_image_url":"http:\/\/abs.twimg.com\/images\/themes\/theme1\/bg.png","profile_background_image_url_https":"https:\/\/abs.twimg.com\/images\/themes\/theme1\/bg.png","profile_background_tile":false,"profile_image_url":"http:\/\/pbs.twimg.com\/profile_images\/2962729705\/fb8dc900e79586a355b93160171697dd_normal.jpeg","profile_image_url_https":"https:\/\/pbs.twimg.com\/profile_images\/2962729705\/fb8dc900e79586a355b93160171697dd_normal.jpeg","profile_link_color":"0084B4","profile_sidebar_border_color":"C0DEED","profile_sidebar_fill_color":"DDEEF6","profile_text_color":"333333","profile_use_background_image":true,"default_profile":true,"default_profile_image":false,"following":null,"follow_request_sent":null,"notifications":null},{"id":238110322,"id_str":"238110322","name":"Fullscreen","screen_name":"Fullscreen","location":"LA
74
+ \/ Worldwide","description":"The First Media Company for the Connected Generation.\r\n#PowerToTheCreators","url":"http:\/\/t.co\/IuYBnxFitD","entities":{"url":{"urls":[{"url":"http:\/\/t.co\/IuYBnxFitD","expanded_url":"http:\/\/www.fullscreen.com","display_url":"fullscreen.com","indices":[0,22]}]},"description":{"urls":[]}},"protected":false,"followers_count":48138,"friends_count":2713,"listed_count":378,"created_at":"Fri
75
+ Jan 14 11:36:27 +0000 2011","favourites_count":58329,"utc_offset":-25200,"time_zone":"Pacific
76
+ Time (US & Canada)","geo_enabled":true,"verified":true,"statuses_count":19163,"lang":"en","status":{"created_at":"Sat
77
+ Oct 11 00:52:51 +0000 2014","id":520738765266886656,"id_str":"520738765266886656","text":"#ICYMI:
78
+ 15 Secs of Fullscreen with @SourPatchKids @WalkingDead_AMC @AsapSCIENCE @WeeklyChris
79
+ @AndreaRussett + More! http:\/\/t.co\/zoLiS9CZSL","source":"\u003ca href=\"http:\/\/twitter.com\"
80
+ rel=\"nofollow\"\u003eTwitter Web Client\u003c\/a\u003e","truncated":false,"in_reply_to_status_id":null,"in_reply_to_status_id_str":null,"in_reply_to_user_id":null,"in_reply_to_user_id_str":null,"in_reply_to_screen_name":null,"geo":null,"coordinates":null,"place":null,"contributors":null,"retweet_count":4,"favorite_count":9,"entities":{"hashtags":[{"text":"ICYMI","indices":[0,6]}],"symbols":[],"urls":[{"url":"http:\/\/t.co\/zoLiS9CZSL","expanded_url":"http:\/\/instagram.com\/p\/t_iCt4rhXy\/","display_url":"instagram.com\/p\/t_iCt4rhXy\/","indices":[116,138]}],"user_mentions":[{"screen_name":"SourPatchKids","name":"Sour
81
+ Patch Kids","id":122480273,"id_str":"122480273","indices":[35,49]},{"screen_name":"WalkingDead_AMC","name":"The
82
+ Walking Dead AMC","id":65184105,"id_str":"65184105","indices":[50,66]},{"screen_name":"AsapSCIENCE","name":"AsapSCIENCE","id":592912724,"id_str":"592912724","indices":[67,79]},{"screen_name":"WeeklyChris","name":"Christian
83
+ Collins","id":125806240,"id_str":"125806240","indices":[80,92]},{"screen_name":"AndreaRussett","name":"Andrea
84
+ Russett","id":30495613,"id_str":"30495613","indices":[93,107]}]},"favorited":false,"retweeted":false,"possibly_sensitive":false,"lang":"en"},"contributors_enabled":false,"is_translator":false,"is_translation_enabled":false,"profile_background_color":"16121E","profile_background_image_url":"http:\/\/pbs.twimg.com\/profile_background_images\/449347350306111489\/zWlAXsXf.png","profile_background_image_url_https":"https:\/\/pbs.twimg.com\/profile_background_images\/449347350306111489\/zWlAXsXf.png","profile_background_tile":false,"profile_image_url":"http:\/\/pbs.twimg.com\/profile_images\/449344241752227841\/xJeF6VQn_normal.png","profile_image_url_https":"https:\/\/pbs.twimg.com\/profile_images\/449344241752227841\/xJeF6VQn_normal.png","profile_banner_url":"https:\/\/pbs.twimg.com\/profile_banners\/238110322\/1411497387","profile_link_color":"E62E4C","profile_sidebar_border_color":"FFFFFF","profile_sidebar_fill_color":"DDEEF6","profile_text_color":"333333","profile_use_background_image":false,"default_profile":false,"default_profile_image":false,"following":null,"follow_request_sent":null,"notifications":null}]'
85
+ http_version:
86
+ recorded_at: Sat, 11 Oct 2014 01:08:16 GMT
87
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,69 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.twitter.com/1.1/users/lookup.json?screen_name=CodFatherLucas,09hlQHE29534awe
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ Authorization:
17
+ - ACCESS_TOKEN
18
+ response:
19
+ status:
20
+ code: 404
21
+ message: Not Found
22
+ headers:
23
+ Cache-Control:
24
+ - no-cache, no-store, must-revalidate, pre-check=0, post-check=0
25
+ Content-Length:
26
+ - '92'
27
+ Content-Type:
28
+ - application/json;charset=utf-8
29
+ Date:
30
+ - Sat, 11 Oct 2014 01:08:22 UTC
31
+ Expires:
32
+ - Tue, 31 Mar 1981 05:00:00 GMT
33
+ Last-Modified:
34
+ - Sat, 11 Oct 2014 01:08:22 GMT
35
+ Pragma:
36
+ - no-cache
37
+ Server:
38
+ - tsa_a
39
+ Set-Cookie:
40
+ - guest_id=v1%3A141298970293698341; Domain=.twitter.com; Path=/; Expires=Mon,
41
+ 10-Oct-2016 01:08:22 UTC
42
+ Status:
43
+ - 404 Not Found
44
+ Strict-Transport-Security:
45
+ - max-age=631138519
46
+ X-Access-Level:
47
+ - read
48
+ X-Connection-Hash:
49
+ - 9220f1b61b5b0006466792da0b7639cf
50
+ X-Content-Type-Options:
51
+ - nosniff
52
+ X-Frame-Options:
53
+ - SAMEORIGIN
54
+ X-Rate-Limit-Limit:
55
+ - '60'
56
+ X-Rate-Limit-Remaining:
57
+ - '58'
58
+ X-Rate-Limit-Reset:
59
+ - '1412990602'
60
+ X-Transaction:
61
+ - 0605175aa31e707e
62
+ X-Xss-Protection:
63
+ - 1; mode=block
64
+ body:
65
+ encoding: UTF-8
66
+ string: '{"errors":[{"message":"Sorry, that page does not exist","code":34}]}'
67
+ http_version:
68
+ recorded_at: Sat, 11 Oct 2014 01:08:16 GMT
69
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,22 @@
1
+ require 'webmock/rspec'
2
+ require 'vcr'
3
+
4
+ VCR.configure do |c|
5
+ c.configure_rspec_metadata!
6
+ c.cassette_library_dir = 'spec/support/cassettes'
7
+ c.hook_into :webmock
8
+ c.filter_sensitive_data('TWITTER_API_KEY') { Net::Twitter.configuration.apps.first[:key] }
9
+ c.filter_sensitive_data('TWITTER_API_SECRET') { Net::Twitter.configuration.apps.first[:secret] }
10
+ c.filter_sensitive_data('ACCESS_TOKEN') do |interaction|
11
+ if interaction.request.headers['Authorization']
12
+ interaction.request.headers['Authorization'].first
13
+ else
14
+ JSON(interaction.response.body)['access_token']
15
+ end
16
+ end
17
+ c.filter_sensitive_data(12345678) do |interaction|
18
+ if interaction.response.status.code == 429
19
+ interaction.response.headers['X-Rate-Limit-Reset'].first
20
+ end
21
+ end
22
+ end
metadata CHANGED
@@ -1,15 +1,30 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: net
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
- - claudiob
7
+ - Jeremy Cohen Hoffing
8
+ - Claudio Baccigalupo
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2014-10-09 00:00:00.000000000 Z
12
+ date: 2014-10-13 00:00:00.000000000 Z
12
13
  dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: activesupport
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ">="
19
+ - !ruby/object:Gem::Version
20
+ version: '0'
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ version: '0'
13
28
  - !ruby/object:Gem::Dependency
14
29
  name: bundler
15
30
  requirement: !ruby/object:Gem::Requirement
@@ -28,32 +43,129 @@ dependencies:
28
43
  name: rake
29
44
  requirement: !ruby/object:Gem::Requirement
30
45
  requirements:
31
- - - ">="
46
+ - - "~>"
32
47
  - !ruby/object:Gem::Version
33
- version: '0'
48
+ version: '10.3'
34
49
  type: :development
35
50
  prerelease: false
36
51
  version_requirements: !ruby/object:Gem::Requirement
37
52
  requirements:
38
- - - ">="
53
+ - - "~>"
39
54
  - !ruby/object:Gem::Version
40
- version: '0'
41
- description: Write a longer description. Optional.
55
+ version: '10.3'
56
+ - !ruby/object:Gem::Dependency
57
+ name: rspec
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - "~>"
61
+ - !ruby/object:Gem::Version
62
+ version: '3.1'
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '3.1'
70
+ - !ruby/object:Gem::Dependency
71
+ name: yard
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - "~>"
75
+ - !ruby/object:Gem::Version
76
+ version: 0.8.7
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - "~>"
82
+ - !ruby/object:Gem::Version
83
+ version: 0.8.7
84
+ - !ruby/object:Gem::Dependency
85
+ name: coveralls
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - "~>"
89
+ - !ruby/object:Gem::Version
90
+ version: 0.7.1
91
+ type: :development
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - "~>"
96
+ - !ruby/object:Gem::Version
97
+ version: 0.7.1
98
+ - !ruby/object:Gem::Dependency
99
+ name: vcr
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - "~>"
103
+ - !ruby/object:Gem::Version
104
+ version: '2.9'
105
+ type: :development
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - "~>"
110
+ - !ruby/object:Gem::Version
111
+ version: '2.9'
112
+ - !ruby/object:Gem::Dependency
113
+ name: webmock
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - "~>"
117
+ - !ruby/object:Gem::Version
118
+ version: '1.19'
119
+ type: :development
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - "~>"
124
+ - !ruby/object:Gem::Version
125
+ version: '1.19'
126
+ description: Retrieves information for Twitter users
42
127
  email:
43
- - claudiob@gmail.com
128
+ - jcohenhoffing@gmail.com
129
+ - claudio@fullscreen.net
44
130
  executables: []
45
131
  extensions: []
46
132
  extra_rdoc_files: []
47
133
  files:
48
134
  - ".gitignore"
135
+ - ".rspec"
136
+ - CHANGELOG.md
49
137
  - Gemfile
50
- - LICENSE.txt
138
+ - MIT-LICENSE
51
139
  - README.md
52
140
  - Rakefile
53
141
  - lib/net.rb
142
+ - lib/net/twitter.rb
143
+ - lib/net/twitter/api/configuration.rb
144
+ - lib/net/twitter/api/request.rb
145
+ - lib/net/twitter/config.rb
146
+ - lib/net/twitter/errors.rb
147
+ - lib/net/twitter/errors/response_error.rb
148
+ - lib/net/twitter/errors/suspended_user.rb
149
+ - lib/net/twitter/errors/too_many_users.rb
150
+ - lib/net/twitter/errors/unknown_user.rb
151
+ - lib/net/twitter/models.rb
152
+ - lib/net/twitter/models/user.rb
54
153
  - lib/net/version.rb
55
154
  - net.gemspec
56
- homepage: ''
155
+ - spec/net/twitter/models/user_spec.rb
156
+ - spec/spec_helper.rb
157
+ - spec/support/cassettes/Net_Twitter_Models_User/_find_by/given_a_suspended_screen_name/.yml
158
+ - spec/support/cassettes/Net_Twitter_Models_User/_find_by/given_an_existing_case-insensitive_screen_name/returns_an_object_representing_that_user.yml
159
+ - spec/support/cassettes/Net_Twitter_Models_User/_find_by/given_an_unknown_screen_name/.yml
160
+ - spec/support/cassettes/Net_Twitter_Models_User/_find_by_/given_a_suspended_screen_name/.yml
161
+ - spec/support/cassettes/Net_Twitter_Models_User/_find_by_/given_an_existing_case-insensitive_screen_name/returns_an_object_representing_that_user.yml
162
+ - spec/support/cassettes/Net_Twitter_Models_User/_find_by_/given_an_unknown_screen_name/.yml
163
+ - spec/support/cassettes/Net_Twitter_Models_User/_where/called_more_times_than_Twitter_s_rate_limit/waits_for_the_rate_limit_to_expire_then_continues.yml
164
+ - spec/support/cassettes/Net_Twitter_Models_User/_where/given_more_screen_names_than_allowed_by_Twitter/.yml
165
+ - spec/support/cassettes/Net_Twitter_Models_User/_where/given_multiple_existing_case-insensitive_screen_names/returns_an_array_of_objects_representing_those_users.yml
166
+ - spec/support/cassettes/Net_Twitter_Models_User/_where/given_multiple_unknown_or_suspended_screen_names/returns_an_empty_array.yml
167
+ - spec/support/vcr.rb
168
+ homepage: https://github.com/Fullscreen/net
57
169
  licenses:
58
170
  - MIT
59
171
  metadata: {}
@@ -76,6 +188,19 @@ rubyforge_project:
76
188
  rubygems_version: 2.2.2
77
189
  signing_key:
78
190
  specification_version: 4
79
- summary: Write a short summary. Required.
80
- test_files: []
191
+ summary: An API Client for social networks
192
+ test_files:
193
+ - spec/net/twitter/models/user_spec.rb
194
+ - spec/spec_helper.rb
195
+ - spec/support/cassettes/Net_Twitter_Models_User/_find_by/given_a_suspended_screen_name/.yml
196
+ - spec/support/cassettes/Net_Twitter_Models_User/_find_by/given_an_existing_case-insensitive_screen_name/returns_an_object_representing_that_user.yml
197
+ - spec/support/cassettes/Net_Twitter_Models_User/_find_by/given_an_unknown_screen_name/.yml
198
+ - spec/support/cassettes/Net_Twitter_Models_User/_find_by_/given_a_suspended_screen_name/.yml
199
+ - spec/support/cassettes/Net_Twitter_Models_User/_find_by_/given_an_existing_case-insensitive_screen_name/returns_an_object_representing_that_user.yml
200
+ - spec/support/cassettes/Net_Twitter_Models_User/_find_by_/given_an_unknown_screen_name/.yml
201
+ - spec/support/cassettes/Net_Twitter_Models_User/_where/called_more_times_than_Twitter_s_rate_limit/waits_for_the_rate_limit_to_expire_then_continues.yml
202
+ - spec/support/cassettes/Net_Twitter_Models_User/_where/given_more_screen_names_than_allowed_by_Twitter/.yml
203
+ - spec/support/cassettes/Net_Twitter_Models_User/_where/given_multiple_existing_case-insensitive_screen_names/returns_an_array_of_objects_representing_those_users.yml
204
+ - spec/support/cassettes/Net_Twitter_Models_User/_where/given_multiple_unknown_or_suspended_screen_names/returns_an_empty_array.yml
205
+ - spec/support/vcr.rb
81
206
  has_rdoc: