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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ec536fe270b3bceeb188693663e177427f319ae6
4
- data.tar.gz: fcd4b24a0cd54e0eab46c1f0d4d44d30ed5a760e
3
+ metadata.gz: e6f6d5ffc104facfa2fca7f0e2161e4717e72df6
4
+ data.tar.gz: 35bf6ea35b8073cef8a792e2befc9c1455c52fb2
5
5
  SHA512:
6
- metadata.gz: cbb26f12f8e65a4be411a9ad371f60c7ed047522307056f16dc9be36fa252b44c5bcb7d0bad84aca12cb7c5da5e7d449fdc321ce343f11b569e97691cb8b00b8
7
- data.tar.gz: 7d7e24c593612f698c94aba9406d706d5f1fc115c534fb03334a159eaec45fe85331de471b1b637aac507296802fce7e5e1c5d1b398c85f3925ab9ced0380a2d
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
@@ -1,4 +1,4 @@
1
1
  require "alltweets/version"
2
2
  require "alltweets/cli"
3
- require "alltweets/collector"
3
+ require "alltweets/fetcher"
4
4
  require "alltweets/settings"
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
- @collector = Collector.new(
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 = @collector.get_all_tweets(@screen_name, include_retweets: @opts[:retweets]).map(&:to_h)
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 Collector
5
- def initialize(hash)
6
- @client = Twitter::REST::Client.new(hash)
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 get_all_tweets(user, include_retweets: false)
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?
@@ -1,4 +1,3 @@
1
- require "launchy"
2
1
  require "oauth"
3
2
  require "yaml"
4
3
 
@@ -1,3 +1,3 @@
1
1
  module AllTweets
2
- VERSION = "1.0.2"
2
+ VERSION = "1.1.0"
3
3
  end
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.2
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-03-15 00:00:00.000000000 Z
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/collector.rb
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.1
154
+ rubygems_version: 2.6.4
169
155
  signing_key:
170
156
  specification_version: 4
171
157
  summary: Downloads someone's all tweets.