alltweets 0.1.3 → 1.0.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: 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.