pry-send_tweet.rb 0.5.3 → 0.6.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/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