alltweets 0.1.3 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b06e66611a8b5eb28a464d70cbd684b142eceff8
4
- data.tar.gz: 9adc6785a4f9e00c3b1833a2e5e28fae098f3dc2
3
+ metadata.gz: e813675287a45c310233a7895317216ed856e80b
4
+ data.tar.gz: a7f110d64e270bb69bcbe1100a91b5a5fb1e6aa7
5
5
  SHA512:
6
- metadata.gz: 29d5ed6fa38e105d07f2e9c801e2b2a18a63365152d955d00e8405d9c8df2885d4abe2ae5a9007392841d4cedb070afe00a7433ded796faf4ebbcde017fba603
7
- data.tar.gz: c25e00d4f9c088a0d0d37683d33845e4adcc44b54f128ea3f5d93ddce9310f6bcd3dcb2d6eb14ecd64485ec570366cba3debc91ffc31dd96018a7f1dfbdf042c
6
+ metadata.gz: 1a84b7f070964d513d9aa6ea60865fa4997d09a06135f06b60c228ec343efa26b01c497ec51a56d23ca6e84056e33d58340505d92275fda2ce8be348964a3634
7
+ data.tar.gz: ecf94b4a8d88ab4b2436b0be2ec4bc08e141e78df2ffb32a5b56e9b82325c5718fe5937260a85c9283a5be951168883ed1fbf441b2201f751c46e893980042f1
data/README.md CHANGED
@@ -16,15 +16,15 @@ $ gem install alltweets
16
16
 
17
17
  ### Options
18
18
 
19
- * `-r`, `--retweets`: Include retweets to output
20
- * `-j`, `--json`: Download as JSON (default: YAML)
19
+ * `-r`, `--retweets`: Include retweets
20
+ * `-y`, `--yaml`: Use YAML instead of JSON
21
21
  * `-h`, `--help`: Show help message
22
22
 
23
23
  ### Example
24
24
 
25
25
  * `alltweets tatzyr`: Download @tatzyr's all tweets.
26
26
  * `alltweets -r tatzyr`: Download @tatzyr's all tweets including retweets.
27
- * `alltweets -j tatzyr`: Download @tatzyr's all tweets as JSON (default: YAML).
27
+ * `alltweets -y tatzyr`: Download @tatzyr's all tweets as YAML instead of JSON.
28
28
 
29
29
  ## Development
30
30
 
data/alltweets.gemspec CHANGED
@@ -22,7 +22,7 @@ Gem::Specification.new do |spec|
22
22
  spec.add_dependency "oauth", "~> 0.4.7"
23
23
  spec.add_dependency "oj", "~> 2.14.1"
24
24
  spec.add_dependency "trollop", '~> 2.1.2'
25
- spec.add_dependency "twitter", "~> 5.15.0"
25
+ spec.add_dependency "twitter", "~> 5.15"
26
26
 
27
27
  spec.add_development_dependency "bundler", "~> 1.10"
28
28
  spec.add_development_dependency "rake", "~> 10.0"
data/lib/alltweets/cli.rb CHANGED
@@ -14,39 +14,38 @@ module AllTweets
14
14
  access_token: @settings.access_token,
15
15
  access_token_secret: @settings.access_token_secret
16
16
  )
17
- @filename = filename
18
17
  end
19
18
 
20
19
  def run
21
- puts "Saving #{@screen_name}'s all tweets to #{@filename}"
20
+ warn "Downloading #{@screen_name}'s all tweets"
22
21
  result = @collector.get_all_tweets(@screen_name, include_retweets: @opts[:retweets]).map(&:to_h)
23
22
 
24
- if @opts[:json]
25
- dump_data = Oj.dump(result, mode: :compat)
26
- else
23
+ if @opts[:yaml]
27
24
  dump_data = YAML.dump(result)
25
+ else
26
+ dump_data = Oj.dump(result, mode: :compat)
28
27
  end
29
28
 
30
- open(filename, "w") do |f|
31
- f.puts dump_data
32
- end
29
+ puts dump_data
33
30
  rescue
34
- puts "Error: #{$!}".colorize(:red)
31
+ warn "Error: #{$!}".colorize(:red)
32
+ exit 1
35
33
  end
36
34
 
37
35
  private
38
36
  def parse_args
39
37
  opts = Trollop::options do
40
38
  opt :retweets, "Include retweets"
41
- opt :json, "Use JSON (default: YAML)"
39
+ opt :yaml, "Use YAML instead of JSON"
42
40
  end
43
- screen_name = ARGV.first
44
41
 
45
- if screen_name.nil?
42
+ unless ARGV.size == 1
46
43
  warn "usage: alltweets <screen name>"
47
44
  exit 1
48
45
  end
49
46
 
47
+ screen_name = ARGV.first
48
+
50
49
  [screen_name, opts]
51
50
  end
52
51
 
@@ -59,22 +58,17 @@ module AllTweets
59
58
  )
60
59
  request_token = consumer.get_request_token
61
60
 
62
- puts "1) Open: #{request_token.authorize_url}".colorize(:cyan)
61
+ warn "1) Open: #{request_token.authorize_url}".colorize(:cyan)
63
62
  Launchy.open(request_token.authorize_url)
64
63
 
65
- print "2) Enter the PIN: ".colorize(:cyan)
64
+ $stderr.print "2) Enter the PIN: ".colorize(:cyan)
66
65
  pin = $stdin.gets.strip
67
66
 
68
67
  access_token = request_token.get_access_token(oauth_verifier: pin)
69
68
 
70
- puts "Saving access token and access token secret to #{@settings.filename}"
69
+ warn "Saving access token and access token secret to #{@settings.filename}"
71
70
  @settings.add_access_tokens(access_token.token, access_token.secret)
72
71
  end
73
72
  end
74
-
75
- def filename
76
- ext = @opts[:json] ? ".json" : ".yml"
77
- "alltweets_#{@screen_name}#{ext}"
78
- end
79
73
  end
80
74
  end
@@ -6,7 +6,7 @@ module AllTweets
6
6
  @client = Twitter::REST::Client.new(hash)
7
7
  end
8
8
 
9
- def get_all_tweets(user, include_retweets:)
9
+ def get_all_tweets(user, include_retweets: false)
10
10
  collect_with_max_id do |max_id|
11
11
  options = { count: 200, include_rts: include_retweets }
12
12
  options[:max_id] = max_id unless max_id.nil?
@@ -1,3 +1,3 @@
1
1
  module AllTweets
2
- VERSION = "0.1.3"
2
+ VERSION = "1.0.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: 0.1.3
4
+ version: 1.0.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: 2015-12-17 00:00:00.000000000 Z
11
+ date: 2016-02-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colorize
@@ -86,14 +86,14 @@ dependencies:
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 5.15.0
89
+ version: '5.15'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: 5.15.0
96
+ version: '5.15'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: bundler
99
99
  requirement: !ruby/object:Gem::Requirement
@@ -179,7 +179,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
179
179
  version: '0'
180
180
  requirements: []
181
181
  rubyforge_project:
182
- rubygems_version: 2.5.1
182
+ rubygems_version: 2.5.2
183
183
  signing_key:
184
184
  specification_version: 4
185
185
  summary: Downloads someone's all tweets.