cinch-twitter 0.2.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ # Version 0.3.0
2
+ * The plugin now requires Twitter 3.0.0 and above.
3
+
1
4
  # Version 0.2.0
2
5
  * The plugin can now be included via `Cinch::Plugins::Twitter`.
3
6
 
data/Gemfile CHANGED
@@ -3,7 +3,7 @@ source "http://rubygems.org"
3
3
  # Example:
4
4
  # gem "activesupport", ">= 2.3.5"
5
5
  gem 'activesupport', '>= 3.0.0'
6
- gem 'twitter', '>= 2.5.0'
6
+ gem 'twitter', '>= 3.0.0'
7
7
  gem 'cinch', '>= 2.0.3'
8
8
 
9
9
  # Add dependencies to develop your gem here.
data/Gemfile.lock CHANGED
@@ -21,7 +21,7 @@ GEM
21
21
  rdoc (3.12)
22
22
  json (~> 1.4)
23
23
  simple_oauth (0.1.8)
24
- twitter (2.5.0)
24
+ twitter (3.1.1)
25
25
  faraday (~> 0.8)
26
26
  multi_json (~> 1.3)
27
27
  simple_oauth (~> 0.1.6)
@@ -36,5 +36,5 @@ DEPENDENCIES
36
36
  cinch (>= 2.0.3)
37
37
  jeweler (~> 1.8.4)
38
38
  rdoc (~> 3.12)
39
- twitter (>= 2.5.0)
39
+ twitter (>= 3.0.0)
40
40
  yard (~> 0.7)
data/README.md CHANGED
@@ -12,14 +12,16 @@ Usage
12
12
  * `?ts [term]` - Searches for three of the most recent tweets regarding the specified query
13
13
 
14
14
  Shorthand commands are also available:
15
- * `@[username]<+D>`, @#[id]
15
+ * `@[username]<+D>`, `@#[id]`
16
+
17
+ If for instance, an error occurs (such as a timeout, an account is protected, or can't be found), the plugin will send a notice with an informative message.
16
18
 
17
19
  Requiring and including the plugin
18
20
  ----------------------------------
19
21
  require 'cinch/plugins/twitter'
20
22
  # ...
21
23
  Bot.config {|c|
22
- # ...
24
+ # ...
23
25
  c.plugins.plugins << Cinch::Plugins::Twitter
24
26
 
25
27
  Configuration
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.0
1
+ 0.3.1
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "cinch-twitter"
8
- s.version = "0.2.0"
8
+ s.version = "0.3.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Mark Seymour"]
12
- s.date = "2012-06-28"
12
+ s.date = "2012-07-10"
13
13
  s.description = "A Twitter plugin for Cinch."
14
14
  s.email = "mark.seymour.ns@gmail.com"
15
15
  s.extra_rdoc_files = [
@@ -43,7 +43,7 @@ Gem::Specification.new do |s|
43
43
 
44
44
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
45
45
  s.add_runtime_dependency(%q<activesupport>, [">= 3.0.0"])
46
- s.add_runtime_dependency(%q<twitter>, [">= 2.5.0"])
46
+ s.add_runtime_dependency(%q<twitter>, [">= 3.0.0"])
47
47
  s.add_runtime_dependency(%q<cinch>, [">= 2.0.3"])
48
48
  s.add_development_dependency(%q<yard>, ["~> 0.7"])
49
49
  s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
@@ -51,7 +51,7 @@ Gem::Specification.new do |s|
51
51
  s.add_development_dependency(%q<jeweler>, ["~> 1.8.4"])
52
52
  else
53
53
  s.add_dependency(%q<activesupport>, [">= 3.0.0"])
54
- s.add_dependency(%q<twitter>, [">= 2.5.0"])
54
+ s.add_dependency(%q<twitter>, [">= 3.0.0"])
55
55
  s.add_dependency(%q<cinch>, [">= 2.0.3"])
56
56
  s.add_dependency(%q<yard>, ["~> 0.7"])
57
57
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
@@ -60,7 +60,7 @@ Gem::Specification.new do |s|
60
60
  end
61
61
  else
62
62
  s.add_dependency(%q<activesupport>, [">= 3.0.0"])
63
- s.add_dependency(%q<twitter>, [">= 2.5.0"])
63
+ s.add_dependency(%q<twitter>, [">= 3.0.0"])
64
64
  s.add_dependency(%q<cinch>, [">= 2.0.3"])
65
65
  s.add_dependency(%q<yard>, ["~> 0.7"])
66
66
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
@@ -8,11 +8,11 @@ module Cinch
8
8
  module Formatter
9
9
 
10
10
  def format_tweet(tweet)
11
- tweet_text = expand_uris(tweet.text, tweet.attrs["entities"]["urls"])
11
+ tweet_text = expand_uris(tweet.full_text, tweet.urls)
12
12
  parts, head, body, tail, urls = [], [], [], [], []
13
13
  head = Cinch::Formatting.format(:bold,"#{tweet.user.screen_name} »")
14
14
  body << CGI::unescapeHTML(tweet_text.gsub("\n", " ").squeeze(" "))
15
- body << Cinch::Formatting.format(:aqua,"*twoosh*") if tweet.text.length == 140
15
+ body << Cinch::Formatting.format(:aqua,"*twoosh*") if tweet.full_text.length == 140
16
16
  tail << "From #{tweet.place.full_name}" if !tweet.place.blank?
17
17
  tail << "at #{tweet.created_at.strftime("%B %-d, %Y, %-I:%m%P")}"
18
18
  tail << "via #{tweet.source.gsub( %r{</?[^>]+?>}, '' )}"
@@ -24,11 +24,11 @@ module Cinch
24
24
  end
25
25
 
26
26
  def format_search(tweet)
27
- tweet_text = expand_uris(tweet.text, tweet.attrs["entities"]["urls"])
27
+ tweet_text = expand_uris(tweet.full_text, tweet.urls)
28
28
  parts, head, body, tail, urls = [], [], [], [], []
29
29
  head = Cinch::Formatting.format(:bold,"#{tweet.from_user} »")
30
30
  body << CGI::unescapeHTML(tweet_text.gsub("\n", " ").squeeze(" "))
31
- body << Cinch::Formatting.format(:aqua,"*twoosh*") if tweet.text.length == 140
31
+ body << Cinch::Formatting.format(:aqua,"*twoosh*") if tweet.full_text.length == 140
32
32
  tail << "at #{tweet.created_at.strftime("%B %-d, %Y, %-I:%m%P")}"
33
33
  urls << "https://twitter.com/#{tweet.from_user}"
34
34
  parts = [head, body, ["(", tail.join(" "), ")"].join, urls].flatten
@@ -36,7 +36,7 @@ module Cinch
36
36
  end
37
37
 
38
38
  def format_tweep_info(tweep)
39
- tweep_status_text = expand_uris(tweep.status.text, tweep.status.attrs["entities"]["urls"])
39
+ tweep_status_text = expand_uris(tweep.status.full_text, tweep.status.urls)
40
40
  head = "#{Cinch::Formatting.format(:aqua,tweep.name)}" + Cinch::Formatting.format(:silver," (#{tweep.screen_name})") + Cinch::Formatting.format(:grey," - #{tweep.url} https://twitter.com/#{tweep.screen_name}")
41
41
  bio = ""
42
42
  bio = Cinch::Formatting.format(:aqua,"\"#{tweep.description.strip}\"") if !tweep.description.blank?
@@ -66,12 +66,7 @@ module Cinch
66
66
  private
67
67
 
68
68
  def expand_uris t, uris
69
- tweet = t.dup
70
- uris.each {|u|
71
- expanded_url, url = u["expanded_url"], u["url"]
72
- tweet.gsub! url, expanded_url
73
- }
74
- return tweet
69
+ uris.each_with_object(t) {|entity,tweet| tweet.gsub!(entity.url, entity.expanded_url) }
75
70
  end
76
71
 
77
72
  end
@@ -58,7 +58,7 @@ module Cinch
58
58
  params = {term: "cat"}.merge(params)
59
59
  begin
60
60
  results = []
61
- ::Twitter.search(params[:term], include_entities: true, rpp: 3, result_type: "recent").each {|status|
61
+ ::Twitter.search(params[:term], include_entities: true, rpp: 3, result_type: "recent").results.each {|status|
62
62
  params[:username] = status.from_user
63
63
  results << format_search(status)
64
64
  }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cinch-twitter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-06-28 00:00:00.000000000 Z
12
+ date: 2012-07-10 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -34,7 +34,7 @@ dependencies:
34
34
  requirements:
35
35
  - - ! '>='
36
36
  - !ruby/object:Gem::Version
37
- version: 2.5.0
37
+ version: 3.0.0
38
38
  type: :runtime
39
39
  prerelease: false
40
40
  version_requirements: !ruby/object:Gem::Requirement
@@ -42,7 +42,7 @@ dependencies:
42
42
  requirements:
43
43
  - - ! '>='
44
44
  - !ruby/object:Gem::Version
45
- version: 2.5.0
45
+ version: 3.0.0
46
46
  - !ruby/object:Gem::Dependency
47
47
  name: cinch
48
48
  requirement: !ruby/object:Gem::Requirement
@@ -160,7 +160,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
160
160
  version: '0'
161
161
  segments:
162
162
  - 0
163
- hash: -173112557
163
+ hash: 257628495
164
164
  required_rubygems_version: !ruby/object:Gem::Requirement
165
165
  none: false
166
166
  requirements: