usaidwat 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/README.textile +51 -0
- data/bin/usaidwat +19 -7
- data/lib/usaidwat/reddit.rb +2 -2
- data/lib/usaidwat/version.rb +1 -1
- data/lib/usaidwat.rb +7 -0
- data/usaidwat.gemspec +2 -2
- metadata +7 -6
data/README.textile
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
h1(#usaidwat). usaidwat
|
2
|
+
|
3
|
+
Are you a Redditor? Do you use Ruby? Do you want to view the subreddits in which a particular user commonly posts? If you answered "yes" to all three of these questions, then *usaidwat* is the gem for you!
|
4
|
+
|
5
|
+
h2(#install). Installation
|
6
|
+
|
7
|
+
*usaidwat* can be installed via RubyGems:
|
8
|
+
|
9
|
+
bc. $ gem install usaidwat
|
10
|
+
|
11
|
+
h2(#usage). Usage
|
12
|
+
|
13
|
+
A @usaidwat@ binary is installed with the gem. @usaidwat@ will analyze a user's last 100 comments and provide statistics.
|
14
|
+
|
15
|
+
To list a count of subreddits in which a user has posted, simply plug in a username:
|
16
|
+
|
17
|
+
bc. # usaidwat jedberg
|
18
|
+
|
19
|
+
You will see output like the following:
|
20
|
+
|
21
|
+
bc. jedberg
|
22
|
+
-------
|
23
|
+
blog 26
|
24
|
+
funny 15
|
25
|
+
unitedkingdom 12
|
26
|
+
Random_Acts_Of_Pizza 11
|
27
|
+
AskReddit 7
|
28
|
+
entertainment 4
|
29
|
+
politics 4
|
30
|
+
TheoryOfReddit 3
|
31
|
+
Frugal 3
|
32
|
+
technology 2
|
33
|
+
fffffffuuuuuuuuuuuu 2
|
34
|
+
wikipedia 2
|
35
|
+
pics 1
|
36
|
+
programming 1
|
37
|
+
sex 1
|
38
|
+
space 1
|
39
|
+
movies 1
|
40
|
+
geek 1
|
41
|
+
comics 1
|
42
|
+
videos 1
|
43
|
+
apple 1
|
44
|
+
|
45
|
+
Which indicates that jedberg has commented in @/r/funny@ 15 times (out of his last 100 comments).
|
46
|
+
|
47
|
+
To see the comments for a specific subreddit, tack on that subreddit:
|
48
|
+
|
49
|
+
bc. $ usaidwat jedberg funny
|
50
|
+
|
51
|
+
All the comments for the given subreddit will be printed.
|
data/bin/usaidwat
CHANGED
@@ -3,24 +3,36 @@
|
|
3
3
|
require 'usaidwat'
|
4
4
|
|
5
5
|
|
6
|
+
VERSION = "usaidwat v#{USaidWat::VERSION}"
|
7
|
+
USAGE = "Usage: #{File.basename $0} <user> [<subreddit>]"
|
8
|
+
|
6
9
|
def die(code=1)
|
7
|
-
$stderr.puts
|
10
|
+
$stderr.puts VERSION
|
11
|
+
$stderr.puts USAGE
|
8
12
|
exit code
|
9
13
|
end
|
10
14
|
|
11
|
-
die if
|
15
|
+
die if ARGV.length < 1 or ARGV.length > 2
|
16
|
+
|
17
|
+
if ARGV.first == '--help' or ARGV.first == '-h'
|
18
|
+
puts USAGE
|
19
|
+
exit 0
|
20
|
+
end
|
21
|
+
|
22
|
+
if ARGV.first == '--version' or ARGV.first == '-V'
|
23
|
+
puts VERSION
|
24
|
+
exit 0
|
25
|
+
end
|
12
26
|
|
13
|
-
|
14
|
-
|
15
|
-
unless subreddit
|
27
|
+
reddit_user = USaidWat::RedditUser.new ARGV.shift
|
28
|
+
if ARGV.length == 0
|
16
29
|
comments = reddit_user.retrieve_comments
|
17
30
|
exit 2 unless comments
|
18
31
|
max_key = 1
|
19
|
-
puts reddit_user.username
|
20
|
-
puts '-' * reddit_user.username.length
|
21
32
|
comments.each { |c| max_key = c.first.length if c.first.length > max_key }
|
22
33
|
comments.each { |c| printf "%-*s %s\n", max_key, c.first, c.last }
|
23
34
|
else
|
35
|
+
subreddit = ARGV.shift
|
24
36
|
comments = reddit_user.comments_for_subreddit subreddit
|
25
37
|
is_first = true
|
26
38
|
width = `tput cols`.to_i rescue 80
|
data/lib/usaidwat/reddit.rb
CHANGED
@@ -82,8 +82,8 @@ module USaidWat
|
|
82
82
|
def fetch_comments(count)
|
83
83
|
comments = Array.new
|
84
84
|
after = nil
|
85
|
-
|
86
|
-
|
85
|
+
pages = count / COMMENTS_PER_PAGE
|
86
|
+
pages.times do |i|
|
87
87
|
query = i == 1 ? '' : {:count => COMMENTS_PER_PAGE, :after => after}.to_query
|
88
88
|
url = "#{self.comments_url}.json?#{query}"
|
89
89
|
resp = Net::HTTP.get_response 'www.reddit.com', url
|
data/lib/usaidwat/version.rb
CHANGED
data/lib/usaidwat.rb
CHANGED
data/usaidwat.gemspec
CHANGED
@@ -8,7 +8,7 @@ Gem::Specification.new do |s|
|
|
8
8
|
s.authors = ["Michael Dippery"]
|
9
9
|
s.email = ["michael@monkey-robot.com"]
|
10
10
|
s.homepage = ""
|
11
|
-
s.summary = %q{
|
11
|
+
s.summary = %q{Answers the age-old question, "Where does a Redditor comment the most?"}
|
12
12
|
s.description = %q{View a user's last 100 Reddit comments, organized by subreddit.}
|
13
13
|
|
14
14
|
s.rubyforge_project = "usaidwat"
|
@@ -18,5 +18,5 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
19
19
|
s.require_paths = ["lib"]
|
20
20
|
|
21
|
-
s.add_runtime_dependency 'json'
|
21
|
+
s.add_runtime_dependency 'json', '>= 1.6.5'
|
22
22
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: usaidwat
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,19 +9,19 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-01-
|
12
|
+
date: 2012-01-30 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: json
|
16
|
-
requirement: &
|
16
|
+
requirement: &70163077554900 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version:
|
21
|
+
version: 1.6.5
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70163077554900
|
25
25
|
description: View a user's last 100 Reddit comments, organized by subreddit.
|
26
26
|
email:
|
27
27
|
- michael@monkey-robot.com
|
@@ -32,6 +32,7 @@ extra_rdoc_files: []
|
|
32
32
|
files:
|
33
33
|
- .gitignore
|
34
34
|
- Gemfile
|
35
|
+
- README.textile
|
35
36
|
- Rakefile
|
36
37
|
- bin/usaidwat
|
37
38
|
- lib/usaidwat.rb
|
@@ -61,5 +62,5 @@ rubyforge_project: usaidwat
|
|
61
62
|
rubygems_version: 1.8.11
|
62
63
|
signing_key:
|
63
64
|
specification_version: 3
|
64
|
-
summary:
|
65
|
+
summary: Answers the age-old question, "Where does a Redditor comment the most?"
|
65
66
|
test_files: []
|