net 0.0.1 → 0.1.0

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.
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: