alltweets 1.0.2 → 1.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.
- checksums.yaml +4 -4
- data/README.md +24 -0
- data/alltweets.gemspec +0 -1
- data/lib/alltweets.rb +1 -1
- data/lib/alltweets/cli.rb +2 -8
- data/lib/alltweets/{collector.rb → fetcher.rb} +9 -4
- data/lib/alltweets/settings.rb +0 -1
- data/lib/alltweets/version.rb +1 -1
- metadata +4 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e6f6d5ffc104facfa2fca7f0e2161e4717e72df6
|
4
|
+
data.tar.gz: 35bf6ea35b8073cef8a792e2befc9c1455c52fb2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d46a0e34a2179aab40c5024ca9ade2b0b14284913feafbeb61d459050c56413f1b398d5c6c352329af0e0f7762bccd69782e8f778c09473f562481f02a075440
|
7
|
+
data.tar.gz: 738c4b6bd6114ee874318d305eec7ef5d1829356bae67f0bb1ce7eb13ce4be9a87edd6c19dbf1017964a5d60357ecbfe6e15f1fed7faf3b692c84bb09cc9fb16
|
data/README.md
CHANGED
@@ -27,6 +27,30 @@ $ gem install alltweets
|
|
27
27
|
* `alltweets -r tatzyr`: Download @tatzyr's all tweets including retweets.
|
28
28
|
* `alltweets -y tatzyr`: Download @tatzyr's all tweets as YAML instead of JSON.
|
29
29
|
|
30
|
+
### Using AllTweets from Ruby
|
31
|
+
|
32
|
+
```ruby
|
33
|
+
require "alltweets"
|
34
|
+
|
35
|
+
fetcher = AllTweets::Fetcher.new(
|
36
|
+
consumer_key: "ABCDEFGHIJKLMNOPQRSTUVWXYZ",
|
37
|
+
consumer_secret: "ABCDEFGHIJKLMNOPQRSTUVWXYZ",
|
38
|
+
access_token: "ABCDEFGHIJKLMNOPQRSTUVWXYZ",
|
39
|
+
access_token_secret: "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
40
|
+
)
|
41
|
+
|
42
|
+
# # alternatively
|
43
|
+
# require "twitter"
|
44
|
+
# client = Twitter::REST::Client.new(...)
|
45
|
+
# fetcher = AllTweets::Fetcher.new(client)
|
46
|
+
|
47
|
+
fetcher.fetch_all_tweets("tatzyr")
|
48
|
+
# => [#<Twitter::Tweet id=...>, #<Twitter::Tweet id=...>, ...]
|
49
|
+
|
50
|
+
fetcher.fetch_all_tweets("tatzyr", include_retweets: false)
|
51
|
+
# => [#<Twitter::Tweet id=...>, #<Twitter::Tweet id=...>, ...]
|
52
|
+
```
|
53
|
+
|
30
54
|
## Development
|
31
55
|
|
32
56
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment. Run `bundle exec alltweets` to use the gem in this directory, ignoring other installed copies of this gem.
|
data/alltweets.gemspec
CHANGED
@@ -18,7 +18,6 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.require_paths = ["lib"]
|
19
19
|
|
20
20
|
spec.add_dependency "colorize", "~> 0.7.7"
|
21
|
-
spec.add_dependency "launchy", "~> 2.4.3"
|
22
21
|
spec.add_dependency "oauth", "~> 0.4.7"
|
23
22
|
spec.add_dependency "trollop", '~> 2.1.2'
|
24
23
|
spec.add_dependency "twitter", "~> 5.15"
|
data/lib/alltweets.rb
CHANGED
data/lib/alltweets/cli.rb
CHANGED
@@ -8,7 +8,7 @@ module AllTweets
|
|
8
8
|
@screen_name, @opts = parse_args
|
9
9
|
@settings = Settings.new
|
10
10
|
update_access_token
|
11
|
-
@
|
11
|
+
@fetcher = Fetcher.new(
|
12
12
|
consumer_key: @settings.consumer_key,
|
13
13
|
consumer_secret: @settings.consumer_secret,
|
14
14
|
access_token: @settings.access_token,
|
@@ -18,7 +18,7 @@ module AllTweets
|
|
18
18
|
|
19
19
|
def run
|
20
20
|
warn "Downloading @#{@screen_name}'s all tweets"
|
21
|
-
result = @
|
21
|
+
result = @fetcher.fetch_all_tweets(@screen_name, include_retweets: @opts[:retweets]).map(&:to_h)
|
22
22
|
|
23
23
|
if @opts[:yaml]
|
24
24
|
dump_data = YAML.dump(result)
|
@@ -60,12 +60,6 @@ module AllTweets
|
|
60
60
|
request_token = consumer.get_request_token
|
61
61
|
|
62
62
|
warn "1) Open: #{request_token.authorize_url}".colorize(:cyan)
|
63
|
-
begin
|
64
|
-
Launchy.open(request_token.authorize_url)
|
65
|
-
rescue Launchy::CommandNotFoundError
|
66
|
-
warn "Warning: Clouldn't open web browser".colorize(:yellow)
|
67
|
-
end
|
68
|
-
|
69
63
|
$stderr.print "2) Enter the PIN: ".colorize(:cyan)
|
70
64
|
pin = $stdin.gets.strip
|
71
65
|
|
@@ -1,12 +1,17 @@
|
|
1
1
|
require "twitter"
|
2
2
|
|
3
3
|
module AllTweets
|
4
|
-
class
|
5
|
-
def initialize(
|
6
|
-
|
4
|
+
class Fetcher
|
5
|
+
def initialize(arg)
|
6
|
+
case arg
|
7
|
+
when Hash
|
8
|
+
@client = Twitter::REST::Client.new(arg)
|
9
|
+
else
|
10
|
+
@client = arg
|
11
|
+
end
|
7
12
|
end
|
8
13
|
|
9
|
-
def
|
14
|
+
def fetch_all_tweets(user, include_retweets: true)
|
10
15
|
collect_with_max_id do |max_id|
|
11
16
|
options = { count: 200, include_rts: include_retweets }
|
12
17
|
options[:max_id] = max_id unless max_id.nil?
|
data/lib/alltweets/settings.rb
CHANGED
data/lib/alltweets/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: alltweets
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tatsuya Otsuka
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-05-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colorize
|
@@ -24,20 +24,6 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 0.7.7
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: launchy
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - "~>"
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: 2.4.3
|
34
|
-
type: :runtime
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - "~>"
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: 2.4.3
|
41
27
|
- !ruby/object:Gem::Dependency
|
42
28
|
name: oauth
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -143,7 +129,7 @@ files:
|
|
143
129
|
- exe/alltweets
|
144
130
|
- lib/alltweets.rb
|
145
131
|
- lib/alltweets/cli.rb
|
146
|
-
- lib/alltweets/
|
132
|
+
- lib/alltweets/fetcher.rb
|
147
133
|
- lib/alltweets/settings.rb
|
148
134
|
- lib/alltweets/version.rb
|
149
135
|
homepage: https://github.com/Tatzyr/alltweets
|
@@ -165,7 +151,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
165
151
|
version: '0'
|
166
152
|
requirements: []
|
167
153
|
rubyforge_project:
|
168
|
-
rubygems_version: 2.6.
|
154
|
+
rubygems_version: 2.6.4
|
169
155
|
signing_key:
|
170
156
|
specification_version: 4
|
171
157
|
summary: Downloads someone's all tweets.
|