cinch-twitter 2.0.2 → 2.0.6

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: 5c78167e8dea6ad52e63fde4d37a76883fb6dbc8
4
- data.tar.gz: 108e50c4e34bca3660891fc63b09af43240c9b79
3
+ metadata.gz: 15c175971c31685e239fdbd0b89521a7ae01e8cc
4
+ data.tar.gz: 681e9f8b56034d1335a90d80f69278b706eefaa0
5
5
  SHA512:
6
- metadata.gz: cd97aa5ab04f56e044b00e0e52e063f4f23ede8851e7f6cc739144efc258bdcd23a05e0e0a11967804a79309548a13149f9e784e2f054bf4fa0ffa6674adda2e
7
- data.tar.gz: 2429229aae5a5234f8271eeebfb01eb49fa691aa779873114f01bbce34346bfb9230f0dd77ea2957a65bc9a92037d88aed4d3daca402d5b6ae6959414dae18de
6
+ metadata.gz: 839a7ae623e860b7920a7a453a3721dc451e9e16c816a69b2228a2d17d810d78e8af08d95506a49b9d5e6ff3cb72d95517f202f7b6ed9061946d8edff761a60b
7
+ data.tar.gz: 72550ba1d450fa647f45a819187e0d54baceaa8f2f8435e5346ba2724f83e0f869e20c8e4d6648db63e5db0e80aec05e97d5fd304ef205d8a42b4b00d4587909
data/CHANGELOG.md CHANGED
@@ -1,3 +1,14 @@
1
+ # Version 2.0.6
2
+ * Updates dependencies to the latest version of Cinch and Twitter gems.
3
+
4
+ # Version 2.0.5
5
+ * Fixes a regression where a removed method made any tweets that had replies cause an exception to be raised.
6
+
7
+ # Version 2.0.3
8
+ * Fixes many regressions introduced in 2.0.2, including URLs not being expanded and parts of the tweet metadata being blank (i.e. 'from XXX')
9
+ * Switches back to UTC time for all tweet output
10
+ * Various small fixes
11
+
1
12
  # Version 2.0.2
2
13
  * Brings everything up to the latest version of the Twitter gem. Portions rewritten by @Namasteh.
3
14
 
@@ -7,8 +7,8 @@ Gem::Specification.new do |spec|
7
7
 
8
8
  spec.name = "cinch-twitter"
9
9
  spec.version = Cinch::Twitter::VERSION
10
- spec.authors = ["Mark Seymour" "Richard Banks"]
11
- spec.email = ["mark.seymour.ns@gmail.com" "namaste@rawnet.net"]
10
+ spec.authors = ["Mark Seymour", "Richard Banks"]
11
+ spec.email = ["mark.seymour.ns@gmail.com", "namaste@rawnet.net"]
12
12
  spec.description = %q{A Twitter plugin for Cinch.}
13
13
  spec.summary = %q{A Cinch plugin for accessing Twitter.}
14
14
  spec.homepage = "https://github.com/mseymour/cinch-twitter"
@@ -20,10 +20,9 @@ Gem::Specification.new do |spec|
20
20
  spec.require_paths = ["lib"]
21
21
 
22
22
  # Gem dependencies
23
- spec.add_dependency 'twitter', '~> 5.8'
24
- spec.add_dependency 'cinch', '~> 2.1'
23
+ spec.add_dependency 'twitter', '~> 6.1'
24
+ spec.add_dependency 'cinch', '~> 2.3'
25
25
  spec.add_dependency 'oj', '~> 2.0'
26
- spec.add_dependency 'time-lord', '~> 1.0'
27
26
 
28
27
  # Development dependencies
29
28
  spec.add_development_dependency "bundler", "~> 1.3"
@@ -1,5 +1,5 @@
1
1
  module Cinch
2
2
  module Twitter
3
- VERSION = "2.0.2"
3
+ VERSION = "2.0.6"
4
4
  end
5
5
  end
@@ -3,7 +3,6 @@
3
3
  require "oj"
4
4
  require "twitter"
5
5
  require "cgi"
6
- require "time-lord"
7
6
 
8
7
  module Cinch
9
8
  module Plugins
@@ -16,7 +15,7 @@ module Cinch
16
15
  Usage:
17
16
  * !tw <handle(-D)>: Fetch the latest Tweet from the bot or include an offset (I.E. !tw someuser-2) to fetch (-D) Tweets back (up to 19)
18
17
  * @<handle(-D): Same as above, just shorthand.
19
- * !t-search <terms>: Searches recent tweets containing your terms and returns the most recent three. You can search hash tags or do 'to:<handle>' to get the most recent tweets sent to that handle.
18
+ * !t-search <terms>: Searches recent tweets containing your terms and returns the most recent four. You can search hash tags or do 'to:<handle>' to get the most recent tweets sent to that handle.
20
19
  USAGE
21
20
 
22
21
  def initialize(*args)
@@ -30,13 +29,13 @@ module Cinch
30
29
  def execute_tweet(m, username, offset)
31
30
  offset ||= 0
32
31
 
33
- user = @client.user(username)
32
+ user = @client.user(username, include_entities: "1")
34
33
 
35
34
  return m.reply "This user's tweets are protected!" if user.protected?
36
35
  return m.reply "This user hasn't tweeted yet!" if user.status.nil?
37
36
 
38
37
  if offset.to_i > 0
39
- tweets = @client.user_timeline(user)
38
+ tweets = @client.user_timeline(user, include_entities: "1")
40
39
  return m.reply "You can not backtrack more than #{tweets.count.pred} tweets before the current tweet!" if offset.to_i > tweets.count.pred
41
40
  tweet = tweets[offset.to_i]
42
41
 
@@ -53,7 +52,7 @@ module Cinch
53
52
  match /t-search (.+)/, method: :execute_search
54
53
 
55
54
  def execute_search(m, term)
56
- @client.search("#{term}", :result_type => "recent").take(3).each do |tweet|
55
+ @client.search("#{term}", :result_type => "recent").take(4).each do |tweet|
57
56
  m.reply format_tweet(tweet)
58
57
  end
59
58
  end
@@ -62,7 +61,7 @@ module Cinch
62
61
  match /#(\d+)$/, method: :execute_id, prefix: /^@/
63
62
 
64
63
  def execute_id(m, id)
65
- tweet = @client.status(id)
64
+ tweet = @client.status(id, include_entities: "1")
66
65
 
67
66
  m.reply format_tweet(tweet)
68
67
  rescue ::Twitter::Error::NotFound => e
@@ -82,29 +81,28 @@ module Cinch
82
81
  end
83
82
 
84
83
  # Tweet tweet
85
- body = expand_uris(CGI.unescapeHTML(!!tweet.retweet? ? tweet.retweeted_status.full_text : tweet.full_text).gsub("\n", " ").squeeze(" "), tweet.urls)
86
-
84
+ body = CGI.unescapeHTML(!!tweet.retweet? ? tweet.retweeted_status.full_text : tweet.full_text).gsub("\n", " ").squeeze(" ")
85
+ body = expand_uris(body, tweet.urls)
86
+
87
87
  # Metadata
88
- ttime = tweet.created_at
88
+ ttime = tweet.created_at.getutc
89
89
  tail = []
90
- tail << ttime.ago.to_words
91
- tail << "from #{tweet.place.full_name}" if !!tweet.place
90
+ tail << ttime.strftime('%b %-e %Y, %-l:%M %p %Z')
91
+ tail << "from #{tweet.place.full_name}" if !tweet.place.nil? && !!tweet.place.full_name
92
92
  tail << "via #{tweet.source.gsub( %r{</?[^>]+?>}, "" )}"
93
93
 
94
94
  # URLs for tweet and replied to:
95
95
  urls = []
96
- urls << "https://twitter.com/#{tweet.user.screen_name}/status/#{tweet.id}"
97
- urls << "in reply to #{format_reply_url(tweet.in_reply_to_screen_name, tweet.in_reply_to_status_id)}" if tweet.reply?
96
+ urls << tweet.url
97
+ urls << "in reply to https://twitter.com/#{tweet.in_reply_to_screen_name}/status/#{tweet.in_reply_to_status_id}" if tweet.reply?
98
98
 
99
99
  [Format(:bold, [*head, "»"] * " "), body, ["(", tail * " · ", ")"].join, urls * " "].join(" ")
100
100
  end
101
101
 
102
- def format_reply_url(username, id)
103
- "https://twitter.com/#{username}#{"/status/#{id}" if !!id}"
104
- end
105
-
106
102
  def expand_uris(t, uris)
107
- uris.each_with_object(t) { |entity, tweet| tweet.gsub!(entity.url, entity.expanded_url) }
103
+ uris.each_with_object(t) { |entity, tweet|
104
+ tweet.gsub!(entity.url.to_s, entity.expanded_url.to_s)
105
+ }
108
106
  end
109
107
 
110
108
  def twitter_client
@@ -118,5 +116,3 @@ module Cinch
118
116
  end
119
117
  end
120
118
  end
121
-
122
-
metadata CHANGED
@@ -1,108 +1,96 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cinch-twitter
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.2
4
+ version: 2.0.6
5
5
  platform: ruby
6
6
  authors:
7
- - Mark SeymourRichard Banks
7
+ - Mark Seymour
8
+ - Richard Banks
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2014-03-20 00:00:00.000000000 Z
12
+ date: 2017-03-08 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: twitter
15
16
  requirement: !ruby/object:Gem::Requirement
16
17
  requirements:
17
- - - "~>"
18
+ - - ~>
18
19
  - !ruby/object:Gem::Version
19
- version: '5.8'
20
+ version: '6.1'
20
21
  type: :runtime
21
22
  prerelease: false
22
23
  version_requirements: !ruby/object:Gem::Requirement
23
24
  requirements:
24
- - - "~>"
25
+ - - ~>
25
26
  - !ruby/object:Gem::Version
26
- version: '5.8'
27
+ version: '6.1'
27
28
  - !ruby/object:Gem::Dependency
28
29
  name: cinch
29
30
  requirement: !ruby/object:Gem::Requirement
30
31
  requirements:
31
- - - "~>"
32
+ - - ~>
32
33
  - !ruby/object:Gem::Version
33
- version: '2.1'
34
+ version: '2.3'
34
35
  type: :runtime
35
36
  prerelease: false
36
37
  version_requirements: !ruby/object:Gem::Requirement
37
38
  requirements:
38
- - - "~>"
39
+ - - ~>
39
40
  - !ruby/object:Gem::Version
40
- version: '2.1'
41
+ version: '2.3'
41
42
  - !ruby/object:Gem::Dependency
42
43
  name: oj
43
44
  requirement: !ruby/object:Gem::Requirement
44
45
  requirements:
45
- - - "~>"
46
+ - - ~>
46
47
  - !ruby/object:Gem::Version
47
48
  version: '2.0'
48
49
  type: :runtime
49
50
  prerelease: false
50
51
  version_requirements: !ruby/object:Gem::Requirement
51
52
  requirements:
52
- - - "~>"
53
+ - - ~>
53
54
  - !ruby/object:Gem::Version
54
55
  version: '2.0'
55
- - !ruby/object:Gem::Dependency
56
- name: time-lord
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: '1.0'
62
- type: :runtime
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: '1.0'
69
56
  - !ruby/object:Gem::Dependency
70
57
  name: bundler
71
58
  requirement: !ruby/object:Gem::Requirement
72
59
  requirements:
73
- - - "~>"
60
+ - - ~>
74
61
  - !ruby/object:Gem::Version
75
62
  version: '1.3'
76
63
  type: :development
77
64
  prerelease: false
78
65
  version_requirements: !ruby/object:Gem::Requirement
79
66
  requirements:
80
- - - "~>"
67
+ - - ~>
81
68
  - !ruby/object:Gem::Version
82
69
  version: '1.3'
83
70
  - !ruby/object:Gem::Dependency
84
71
  name: rake
85
72
  requirement: !ruby/object:Gem::Requirement
86
73
  requirements:
87
- - - "~>"
74
+ - - ~>
88
75
  - !ruby/object:Gem::Version
89
76
  version: '0'
90
77
  type: :development
91
78
  prerelease: false
92
79
  version_requirements: !ruby/object:Gem::Requirement
93
80
  requirements:
94
- - - "~>"
81
+ - - ~>
95
82
  - !ruby/object:Gem::Version
96
83
  version: '0'
97
84
  description: A Twitter plugin for Cinch.
98
85
  email:
99
- - mark.seymour.ns@gmail.comnamaste@rawnet.net
86
+ - mark.seymour.ns@gmail.com
87
+ - namaste@rawnet.net
100
88
  executables: []
101
89
  extensions: []
102
90
  extra_rdoc_files: []
103
91
  files:
104
- - ".document"
105
- - ".gitignore"
92
+ - .document
93
+ - .gitignore
106
94
  - CHANGELOG.md
107
95
  - Gemfile
108
96
  - LICENSE.txt
@@ -121,19 +109,18 @@ require_paths:
121
109
  - lib
122
110
  required_ruby_version: !ruby/object:Gem::Requirement
123
111
  requirements:
124
- - - ">="
112
+ - - '>='
125
113
  - !ruby/object:Gem::Version
126
114
  version: '0'
127
115
  required_rubygems_version: !ruby/object:Gem::Requirement
128
116
  requirements:
129
- - - ">="
117
+ - - '>='
130
118
  - !ruby/object:Gem::Version
131
119
  version: '0'
132
120
  requirements: []
133
121
  rubyforge_project:
134
- rubygems_version: 2.2.1
122
+ rubygems_version: 2.0.14.1
135
123
  signing_key:
136
124
  specification_version: 4
137
125
  summary: A Cinch plugin for accessing Twitter.
138
126
  test_files: []
139
- has_rdoc: