pry-send_tweet.rb 0.5.3 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +17 -0
- data/Dockerfile +1 -0
- data/README.md +6 -1
- data/lib/pry/send_tweet/base_command.rb +3 -0
- data/lib/pry/send_tweet/mixins/tweet_renderer.rb +6 -3
- data/lib/pry/send_tweet/twitter_action_command.rb +38 -20
- data/lib/pry/send_tweet/version.rb +5 -0
- data/pry-send_tweet.gemspec +3 -2
- metadata +3 -7
- data/.gitignore +0 -5
- data/Rakefile.rb +0 -7
- data/dockerize.sh +0 -3
- data/spec/pry_send_tweet_spec.rb +0 -6
- data/spec/setup.rb +0 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ae88328b20378917474eec4a9b41346938f04b0a4ebcb3708bf9d937ea1c5691
|
4
|
+
data.tar.gz: 5223319e205eef81dfad63169be032aac646c9eafd8efca518ebe38f58929c51
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 45fdfbbf1334c97f04e554226ecb8263a65e62f9521efe89cd77a440096db235f0ee4e3327e68583077f74534df874d9f4124e58b5b9dabf71f44311b8e39e0f
|
7
|
+
data.tar.gz: 983ff67471fe84c19dd5d88ed378628bcd3f30c4b0279098ff7f2490db5f09cdec72c8128cb8c37e1df93786f1609f2fbe48c490099cde60b964d97ff4402fa5
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,22 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
|
+
## v0.6.0
|
4
|
+
|
5
|
+
* Fix a bug where the auto refresh feature could not be disabled.
|
6
|
+
`Pry.config.twitter.refresh_interval` should be set to `false` instead of
|
7
|
+
`nil` to disable this feature.
|
8
|
+
|
9
|
+
* Modify `render_tweets()` to accept the optional keyword argument, 'timeout'.
|
10
|
+
|
11
|
+
* Render liked, unliked, and deleted (re)tweets via `render_tweets()`.
|
12
|
+
|
13
|
+
* Change default User-Agent sent with requests to the Twitter API to `pry-send_tweet vX.Y.Z`
|
14
|
+
|
15
|
+
* Add the option to configure the `User-Agent` sent with requests to the Twitter API,
|
16
|
+
via `Pry.config.twitter.user_agent`.
|
17
|
+
|
18
|
+
* Add `Pry::SendTweet::VERSION`.
|
19
|
+
|
3
20
|
## v0.5.3
|
4
21
|
|
5
22
|
* Fix another NoMethodError
|
data/Dockerfile
CHANGED
data/README.md
CHANGED
@@ -19,10 +19,15 @@ by those from your developer account.
|
|
19
19
|
# .pryrc
|
20
20
|
Pry.configure do |config|
|
21
21
|
config.twitter = Pry::Config.from_hash({
|
22
|
+
# Required configuration
|
22
23
|
consumer_key: '<consumer key>',
|
23
24
|
consumer_secret: '<consumer secret>',
|
24
25
|
access_token: '<access token>',
|
25
26
|
access_token_secret: '<access token secret>'
|
27
|
+
# Optional configuration
|
28
|
+
# The User-Agent to use when making requests to the Twitter API.
|
29
|
+
# Default is: 'pry-send_tweet.rb vX.Y.Z'
|
30
|
+
user_agent: 'Custom User-Agent'
|
26
31
|
})
|
27
32
|
end
|
28
33
|
```
|
@@ -77,7 +82,7 @@ By default the tweets displayed by the `read-tweets` command are automatically
|
|
77
82
|
refreshed every 4 minutes.
|
78
83
|
|
79
84
|
That can be changed to a custom interval by setting `Pry.config.twitter.refresh_interval`
|
80
|
-
to a number of seconds, or to `
|
85
|
+
to a number of seconds, or to `false` if you want to disable this feature.
|
81
86
|
|
82
87
|
* Read recent tweets from your timeline:
|
83
88
|
|
@@ -52,6 +52,9 @@ class Pry::SendTweet::BaseCommand < Pry::ClassCommand
|
|
52
52
|
config.consumer_secret = _pry_.config.twitter.consumer_secret
|
53
53
|
config.access_token = _pry_.config.twitter.access_token
|
54
54
|
config.access_token_secret = _pry_.config.twitter.access_token_secret
|
55
|
+
}.tap {|client|
|
56
|
+
client.user_agent = _pry_.config.twitter.user_agent ||
|
57
|
+
"pry-send_tweet.rb v#{Pry::SendTweet::VERSION}"
|
55
58
|
}
|
56
59
|
end
|
57
60
|
end
|
@@ -1,13 +1,16 @@
|
|
1
1
|
module Pry::SendTweet::TweetRenderer
|
2
2
|
include Timeout
|
3
3
|
|
4
|
-
def render_tweets(
|
4
|
+
def render_tweets(fetch_tweets, title: , timeout: _pry_.config.twitter.refresh_interval)
|
5
5
|
pid = nil
|
6
|
-
refresh_interval =
|
6
|
+
refresh_interval = timeout == false ? (nil) : (timeout || 240)
|
7
7
|
timeout(refresh_interval) do
|
8
8
|
_pry_.pager.open do |pager|
|
9
9
|
pid = pager.send(:pager).pid
|
10
|
-
pager.write draw_tweets(
|
10
|
+
pager.write draw_tweets(
|
11
|
+
title,
|
12
|
+
Proc === fetch_tweets ? fetch_tweets.call : fetch_tweets
|
13
|
+
)
|
11
14
|
end
|
12
15
|
end
|
13
16
|
rescue Timeout::Error
|
@@ -31,6 +31,7 @@ class Pry::SendTweet::TwitterAction < Pry::SendTweet::BaseCommand
|
|
31
31
|
# Profile management
|
32
32
|
#
|
33
33
|
o.on 'set-profile-bio', 'Set your profiles bio'
|
34
|
+
o.on 'set-profile-url=', 'Set the URL associated with your profile'
|
34
35
|
o.on 'set-profile-banner-image=', 'Set your profiles banner image'
|
35
36
|
o.on 'set-profile-name=', 'Set the name associated with your profile'
|
36
37
|
o.on 'set-profile-image=', 'Set your profile image'
|
@@ -50,11 +51,20 @@ class Pry::SendTweet::TwitterAction < Pry::SendTweet::BaseCommand
|
|
50
51
|
when opts.present?('set-profile-bio') then set_profile_bio
|
51
52
|
when opts.present?('set-profile-name') then set_profile_name
|
52
53
|
when opts.present?('set-profile-image') then set_profile_image
|
54
|
+
when opts.present?('set-profile-url') then set_profile_url(opts['set-profile-url'])
|
53
55
|
end
|
54
56
|
end
|
55
57
|
|
56
58
|
private
|
57
59
|
|
60
|
+
def set_profile_url(url)
|
61
|
+
if client.update_profile url: url
|
62
|
+
page "Profile URL updated"
|
63
|
+
else
|
64
|
+
raise Pry::CommandError, "Something went wrong"
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
58
68
|
def set_profile_image
|
59
69
|
path = opts['set-profile-image']
|
60
70
|
if client.update_profile_image path
|
@@ -98,16 +108,38 @@ class Pry::SendTweet::TwitterAction < Pry::SendTweet::BaseCommand
|
|
98
108
|
|
99
109
|
def like_tweet
|
100
110
|
tweets = client.favorite(opts['like-tweet'])
|
101
|
-
|
102
|
-
"
|
103
|
-
|
111
|
+
if tweets.any?
|
112
|
+
render_tweets tweets, title: bold("Liked tweets"), timeout: false
|
113
|
+
else
|
114
|
+
page "Tweet was not liked. Maybe you liked that tweet already?"
|
115
|
+
end
|
104
116
|
end
|
105
117
|
|
106
118
|
def unlike_tweet
|
107
119
|
tweets = client.unfavorite(opts['unlike-tweet'])
|
108
|
-
|
109
|
-
"
|
110
|
-
|
120
|
+
if tweets.any?
|
121
|
+
render_tweets tweets, title: bold("Unliked tweets"), timeout: false
|
122
|
+
else
|
123
|
+
page "Tweet was not unliked. Maybe you haven't liked that tweet?"
|
124
|
+
end
|
125
|
+
end
|
126
|
+
|
127
|
+
def delete_retweet
|
128
|
+
tweets = client.unretweet(opts['delete-retweet'])
|
129
|
+
if tweets.any?
|
130
|
+
render_tweets tweets, title: bold("Deleted retweets"), timeout: false
|
131
|
+
else
|
132
|
+
page "Retweet was not deleted. Maybe you deleted it already?"
|
133
|
+
end
|
134
|
+
end
|
135
|
+
|
136
|
+
def delete_tweet
|
137
|
+
tweets = client.destroy_status(opts['delete-tweet'])
|
138
|
+
if tweets.any?
|
139
|
+
render_tweets tweets, title: bold("Deleted tweets"), timeout: false
|
140
|
+
else
|
141
|
+
page "Tweet was not deleted. Maybe you deleted it already?"
|
142
|
+
end
|
111
143
|
end
|
112
144
|
|
113
145
|
def follow_user
|
@@ -136,20 +168,6 @@ class Pry::SendTweet::TwitterAction < Pry::SendTweet::BaseCommand
|
|
136
168
|
end
|
137
169
|
end
|
138
170
|
|
139
|
-
def delete_retweet
|
140
|
-
tweets = client.unretweet(opts['delete-retweet'])
|
141
|
-
page numbered_list(bold("Retweets you deleted"), tweets) {|tweet, index|
|
142
|
-
"#{index}. #{tweet.url}"
|
143
|
-
}
|
144
|
-
end
|
145
|
-
|
146
|
-
def delete_tweet
|
147
|
-
tweets = client.destroy_status(opts['delete-tweet'])
|
148
|
-
page numbered_list(bold("Tweets you deleted"), tweets) {|tweet, index|
|
149
|
-
"#{index}. #{tweet.url}"
|
150
|
-
}
|
151
|
-
end
|
152
|
-
|
153
171
|
def display_followed_or_unfollowed(user, index)
|
154
172
|
sn = "@#{user.screen_name}"
|
155
173
|
"#{sn} #{bold(bright_blue('|'))} #{user.url}"
|
data/pry-send_tweet.gemspec
CHANGED
@@ -1,6 +1,7 @@
|
|
1
|
+
Kernel.require_relative 'lib/pry/send_tweet/version'
|
1
2
|
Gem::Specification.new do |spec|
|
2
3
|
spec.name = "pry-send_tweet.rb"
|
3
|
-
spec.version =
|
4
|
+
spec.version = Pry::SendTweet::VERSION
|
4
5
|
spec.authors = ["Robert Gleeson"]
|
5
6
|
spec.email = "trebor.g@protonmail.com"
|
6
7
|
spec.summary = "Extends the Pry REPL with the capabilities of a Twitter client."
|
@@ -8,7 +9,7 @@ Gem::Specification.new do |spec|
|
|
8
9
|
spec.homepage = "https://github.com/r-obert/pry-send_tweet.rb"
|
9
10
|
spec.licenses = ["MIT"]
|
10
11
|
spec.require_paths = ["lib"]
|
11
|
-
spec.files =
|
12
|
+
spec.files = Dir["Dockerfile", "Gemfile", "*.{txt,gemspec,md}", "lib/**/*.rb"]
|
12
13
|
spec.add_runtime_dependency "pry", "~> 0.12"
|
13
14
|
spec.add_runtime_dependency "twitter", "~> 6.0"
|
14
15
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pry-send_tweet.rb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Robert Gleeson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-12-
|
11
|
+
date: 2018-12-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: pry
|
@@ -44,23 +44,19 @@ executables: []
|
|
44
44
|
extensions: []
|
45
45
|
extra_rdoc_files: []
|
46
46
|
files:
|
47
|
-
- ".gitignore"
|
48
47
|
- CHANGELOG.md
|
49
48
|
- Dockerfile
|
50
49
|
- Gemfile
|
51
50
|
- LICENSE.txt
|
52
51
|
- README.md
|
53
|
-
- Rakefile.rb
|
54
|
-
- dockerize.sh
|
55
52
|
- lib/pry-send_tweet.rb
|
56
53
|
- lib/pry/send_tweet/base_command.rb
|
57
54
|
- lib/pry/send_tweet/mixins/tweet_renderer.rb
|
58
55
|
- lib/pry/send_tweet/read_tweets_command.rb
|
59
56
|
- lib/pry/send_tweet/send_tweet_command.rb
|
60
57
|
- lib/pry/send_tweet/twitter_action_command.rb
|
58
|
+
- lib/pry/send_tweet/version.rb
|
61
59
|
- pry-send_tweet.gemspec
|
62
|
-
- spec/pry_send_tweet_spec.rb
|
63
|
-
- spec/setup.rb
|
64
60
|
homepage: https://github.com/r-obert/pry-send_tweet.rb
|
65
61
|
licenses:
|
66
62
|
- MIT
|
data/.gitignore
DELETED
data/Rakefile.rb
DELETED
data/dockerize.sh
DELETED
data/spec/pry_send_tweet_spec.rb
DELETED