cinch-links-tumblr 1.0.2 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: 91013bda65cc2b0e05aa6df0d3b43cb27ca85587
4
+ data.tar.gz: caf13eaa8e35864cee94fb5b24b7f32e04294451
5
+ SHA512:
6
+ metadata.gz: ea9418a600451ea5a47e6dd173272dde50fc3f6d0f37106beebd8f5869661cbbef5b0c23e37a19965e07b48b93e9f4efb24fff51b29abe1a23c3d792f8717b62
7
+ data.tar.gz: f5aff35cb90c8b35354a5c7f9843f8d7ef5a6775e1214c3b09b74e8bb1198f5d8d4c210077f49e762d3269084ee61e304b36ebb2f6a1062899c1749e8bc713c4
@@ -1,8 +1,27 @@
1
1
  ---
2
2
  language: ruby
3
+ env:
4
+ global:
5
+ - "JRUBY_OPTS=-Xcext.enabled=true"
3
6
  rvm:
4
- - 1.9.2
5
- - 1.9.3
7
+ - 2.1.0
8
+ - 2.0.0
9
+ - 1.9.3
10
+ - 1.9.2
11
+ - 1.8.7
12
+ - jruby-18mode
13
+ - jruby-19mode
14
+ - ruby-head
15
+ - jruby-head
16
+ - ree
17
+ matrix:
18
+ allow_failures:
19
+ - rvm: 1.8.7
20
+ - rvm: ree
21
+ - rvm: jruby-18mode
22
+ - rvm: jruby-19mode
23
+ - rvm: jruby-head
24
+ fast_finish: true
6
25
  env:
7
26
  global:
8
27
  - secure: ! 'bANxESoL2yYVy4pzpRKSWqQkQ4e5kplZbVgUwjplXU91HfJbnubgdFPcQ9ol
@@ -18,15 +18,12 @@ Gem::Specification.new do |gem|
18
18
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
19
19
  gem.require_paths = ['lib']
20
20
 
21
- gem.add_development_dependency 'rake'
22
- gem.add_development_dependency 'rspec'
23
- gem.add_development_dependency 'coveralls'
24
- gem.add_development_dependency 'cinch-test'
25
- gem.add_development_dependency 'json'
26
-
27
- gem.add_dependency 'cinch', '~> 2.0.12'
28
- gem.add_dependency 'cinch-storage', '~> 1.1.0'
29
- gem.add_dependency 'cinch-toolbox', '~> 1.1.0'
30
- gem.add_dependency 'tumblr-rb', '~> 2.1.1'
31
- gem.add_dependency 'weary', '~> 1.1.3'
21
+ gem.add_development_dependency 'rake', '~> 10'
22
+ gem.add_development_dependency 'rspec', '~> 3'
23
+ gem.add_development_dependency 'coveralls', '~> 0.7'
24
+ gem.add_development_dependency 'cinch-test', '~> 0.1', '>= 0.1.0'
25
+ gem.add_dependency 'cinch', '~> 2'
26
+ gem.add_dependency 'cinch-storage', '~> 1.1'
27
+ gem.add_dependency 'cinch-toolbox', '~> 1.1'
28
+ gem.add_dependency 'tumblr-rb', '~> 2.1', '>= 2.1.1'
32
29
  end
@@ -6,131 +6,131 @@ require 'cinch'
6
6
  require 'cinch/storage'
7
7
  require 'cinch/toolbox'
8
8
 
9
- module Cinch::Plugins
10
- # Cinch Plugin to tumbl links from a given channel to a configured tumblr.
11
- class LinksTumblr
12
- include Cinch::Plugin
13
-
14
- listen_to :channel
15
-
16
- match /tumblr/
17
-
18
- self.help = 'Use .tumblr for the url/password for the channel\'s tumblr.'
19
-
20
- def initialize(*args)
21
- super
22
- @storage = Cinch::Storage.new(config[:filename] || 'yaml/tumblr.yml')
23
- @storage.data ||= {}
24
- @hostname = config[:hostname]
25
- @password = config[:password]
26
- @creds = { consumer_key: config[:consumer_key],
27
- consumer_secret: config[:consumer_secret],
28
- token: config[:token],
29
- token_secret: config[:token_secret] }
30
- credential_check
31
- end
9
+ module Cinch
10
+ module Plugins
11
+ # Cinch Plugin to tumbl links from a given channel to a configured tumblr.
12
+ class LinksTumblr
13
+ include Cinch::Plugin
14
+
15
+ listen_to :channel
16
+
17
+ match(/tumblr/)
18
+
19
+ self.help = 'Use .tumblr for the url/password for the channel\'s tumblr.'
20
+
21
+ def initialize(*args)
22
+ super
23
+ @storage = Cinch::Storage.new(config[:filename] || 'yaml/tumblr.yml')
24
+ @storage.data ||= {}
25
+ @hostname = config[:hostname]
26
+ @password = config[:password]
27
+ @creds = { consumer_key: config[:consumer_key],
28
+ consumer_secret: config[:consumer_secret],
29
+ token: config[:token],
30
+ token_secret: config[:token_secret] }
31
+ credential_check
32
+ end
32
33
 
33
- def execute(m)
34
- return if Cinch::Toolbox.sent_via_private_message?(m)
34
+ def execute(m)
35
+ return if Cinch::Toolbox.sent_via_private_message?(m)
36
+ return unless @hostname
35
37
 
36
- if @hostname
37
38
  msg = "Links are available @ http://#{@hostname}"
38
39
  msg << " Password: #{@password}" unless @password.nil?
39
40
  m.user.send msg
40
41
  end
41
- end
42
42
 
43
- def listen(m)
44
- urls = URI.extract(m.message, %w(http https))
45
- urls.each do |url|
46
- @storage.data[m.channel.name] ||= []
43
+ def listen(m)
44
+ urls = URI.extract(m.message, %w(http https))
45
+ urls.each do |url|
46
+ @storage.data[m.channel.name] ||= []
47
47
 
48
- # Check to see if we've seen the link
49
- unless @storage.data[m.channel.name].include?(url)
50
- tumble(url, m.user.nick)
48
+ # Check to see if we've seen the link
49
+ unless @storage.data[m.channel.name].include?(url)
50
+ tumble(url, m.user.nick)
51
51
 
52
- # Store the links to try and cut down on popular urls getting
53
- # tumbled 20 times
54
- @storage.data[m.channel.name] << url
52
+ # Store the links to try and cut down on popular urls getting
53
+ # tumbled 20 times
54
+ @storage.data[m.channel.name] << url
55
+ end
56
+ @storage.synced_save(@bot)
55
57
  end
56
- @storage.synced_save(@bot)
57
58
  end
58
- end
59
59
 
60
- private
61
-
62
- def tumble(url, nick)
63
- title = Cinch::Toolbox.get_page_title(url)
64
- # Imgur
65
- if url.match(%r(^https?:\/\/.*imgur\.com))
66
- post_image(url, title, nick)
67
- # Images
68
- elsif url.match(/\.jpg|jpeg|gif|png$/i)
69
- post_image(url, title, nick)
70
- # Youtube / Vimeo
71
- elsif url.match(%r(https?://[^\/]*\.?(youtube|youtu|vimeo)\.))
72
- post_video(url, title, nick)
73
- # Everything else
74
- else
75
- post_link(url, title, nick)
60
+ private
61
+
62
+ def tumble(url, nick)
63
+ title = Cinch::Toolbox.get_page_title(url)
64
+ # Imgur
65
+ if url.match(%r{^https?://.*imgur\.com})
66
+ post_image(url, title, nick)
67
+ # Images
68
+ elsif url.match(/\.jpg|jpeg|gif|png$/i)
69
+ post_image(url, title, nick)
70
+ # Youtube / Vimeo
71
+ elsif url.match(%r{https?://[^\/]*\.?(youtube|youtu|vimeo)\.})
72
+ post_video(url, title, nick)
73
+ # Everything else
74
+ else
75
+ post_link(url, title, nick)
76
+ end
76
77
  end
77
- end
78
78
 
79
- def post_imgur(url, title, nick)
80
- # Imgur direct links
81
- imgur = url[%r(^https?://.*imgur\.com.*/([A-Za-z0-9]+\.\S{3})), 1]
79
+ def post_imgur(url, title, nick)
80
+ # Imgur direct links
81
+ imgur = url[%r{^https?://.*imgur\.com.*/([A-Za-z0-9]+\.\S{3})}, 1]
82
82
 
83
- unless imgur
84
- # It may not be a jpg, but most browsers will read the meta regardless.
85
- imgur = url[%r(^https?://.*imgur\.com.*/([A-Za-z0-9]+)/?), 1] + '.jpg'
83
+ unless imgur
84
+ # It may not be a jpg, but most browsers will read the meta.
85
+ imgur = url[%r{^https?://.*imgur\.com.*/([A-Za-z0-9]+)/?}, 1] + '.jpg'
86
+ end
87
+ post_image("http://i.imgur.com/#{imgur}", title, nick)
86
88
  end
87
- post_image("http://i.imgur.com/#{imgur}", title, nick)
88
- end
89
89
 
90
- def post_link(url, title = nil, nick = nil)
91
- document = tumblr_header(:link, title: title, tags: nick)
92
- document << url
93
- tumblr_post(document)
94
- end
90
+ def post_link(url, title = nil, nick = nil)
91
+ document = tumblr_header(:link, title: title, tags: nick)
92
+ document << url
93
+ tumblr_post(document)
94
+ end
95
95
 
96
- def post_image(url, title = nil, nick = nil)
97
- document = tumblr_header(:text, title: title, tags: [nick, 'image'])
98
- document << "<p><a href='#{url}'>" +
99
- "<img src='#{url}' style='max-width: 650px;'/></a><br/>" +
100
- "<a href='#{url}'>#{url}</a></p>"
101
- tumblr_post(document)
102
- end
96
+ def post_image(url, title = nil, nick = nil)
97
+ document = tumblr_header(:text, title: title, tags: [nick, 'image'])
98
+ document << "<p><a href='#{url}'>" \
99
+ "<img src='#{url}' style='max-width: 650px;'/></a><br/>" \
100
+ "<a href='#{url}'>#{url}</a></p>"
101
+ tumblr_post(document)
102
+ end
103
103
 
104
- def post_video(url, title, nick = nil)
105
- document = tumblr_header(:video,
106
- caption: title, tags: [nick, 'video'])
107
- document << url
108
- tumblr_post(document)
109
- end
104
+ def post_video(url, title, nick = nil)
105
+ document = tumblr_header(:video,
106
+ caption: title, tags: [nick, 'video'])
107
+ document << url
108
+ tumblr_post(document)
109
+ end
110
110
 
111
- def tumblr_header(type = :text, options = {})
112
- opts = { type: type, hostname: @hostname }.update(options)
113
- doc = Psych.dump(opts)
114
- doc << "---\n"
115
- doc
116
- end
111
+ def tumblr_header(type = :text, options = {})
112
+ opts = { type: type, hostname: @hostname }.update(options)
113
+ doc = Psych.dump(opts)
114
+ doc << "---\n"
115
+ doc
116
+ end
117
117
 
118
- def credential_check
119
- if @creds.values.include?(nil)
118
+ def credential_check
119
+ return unless @creds.values.include?(nil)
120
120
  fail ArgumentError,
121
121
  'Credentials are not set correctly, please see documentation.'
122
122
  end
123
- end
124
123
 
125
- def tumblr_post(doc)
126
- client = Tumblr::Client.new(@hostname, @creds)
127
- post = Tumblr::Post.load(doc)
128
- request = post.post(client)
124
+ def tumblr_post(doc)
125
+ client = Tumblr::Client.new(@hostname, @creds)
126
+ post = Tumblr::Post.load(doc)
127
+ request = post.post(client)
129
128
 
130
- request.perform do |response|
131
- unless response.success?
132
- debug 'Something went wrong posting to Tumblr ' +
133
- "#{response.code} #{response.message}"
129
+ request.perform do |response|
130
+ unless response.success?
131
+ debug 'Something went wrong posting to Tumblr ' \
132
+ "#{response.code} #{response.message}"
133
+ end
134
134
  end
135
135
  end
136
136
  end
@@ -3,7 +3,7 @@ module Cinch
3
3
  module Plugins
4
4
  # Versioning info
5
5
  class LinksTumblr
6
- VERSION = '1.0.2'
6
+ VERSION = '1.0.3'
7
7
  end
8
8
  end
9
9
  end
@@ -13,54 +13,56 @@ describe Cinch::Plugins::LinksTumblr do
13
13
  end
14
14
 
15
15
  it 'should return the links url and password if one is defined' do
16
- get_replies(make_message(@bot, '!tumblr', { channel: '#foo', nick: 'bar' })).
17
- first.text.should == "Links are available @ http://marvintesting.tumblr.com Password: password"
16
+ msg = make_message(@bot, '!tumblr', { channel: '#foo', nick: 'bar' })
17
+ expect(get_replies(msg).first.text)
18
+ .to eq('Links are available @ http://marvintesting.tumblr.com Password: password')
18
19
  end
19
20
 
20
21
  it 'should not send url and password if sent via pm' do
21
- get_replies(make_message(@bot, '!tumblr')).
22
- first.text.should == "You must use that command in the main channel."
22
+ reply = get_replies(make_message(@bot, '!tumblr')).first
23
+ expect(reply.text).to eq('You must use that command in the main channel.')
23
24
  end
24
25
 
25
26
  it 'should not return a password if one is not defined' do
26
- get_replies(make_message(build_bot, '!tumblr', { channel: '#foo', nick: 'bar' })).
27
- first.text.should == "Links are available @ http://marvintesting.tumblr.com"
28
- end
27
+ msg = make_message(build_bot, '!tumblr', { channel: '#foo', nick: 'bar' })
28
+ expect(get_replies(msg).first.text)
29
+ .to eq('Links are available @ http://marvintesting.tumblr.com')
30
+ end
29
31
 
30
32
  it 'should capture links' do
31
33
  get_replies(make_message(@bot, 'http://github.com', { channel: '#foo', nick: 'bar' }))
32
34
  post = get_last_tumblr_post
33
- post['url'].should == 'http://github.com'
34
- post["type"].should == 'link'
35
+ expect(post['url']).to eq('http://github.com')
36
+ expect(post["type"]).to eq('link')
35
37
  end
36
38
 
37
39
  it 'should capture youtube links and post them as videos' do
38
40
  get_replies(make_message(@bot, 'https://www.youtube.com/watch?v=-xiAbDkXDgg', { channel: '#foo', nick: 'bar' }))
39
41
  post = get_last_tumblr_post
40
- post['caption'].should == '<p>Lo Pan Style (Gangnam Style Parody) Official - YouTube</p>'
41
- post['tags'].should == ['bar', 'video']
42
- post['type'].should == 'video'
42
+ expect(post['caption']).to eq('<p>Lo Pan Style (Gangnam Style Parody) Official - YouTube</p>')
43
+ expect(post['tags']).to eq(['bar', 'video'])
44
+ expect(post['type']).to eq('video')
43
45
  end
44
46
 
45
47
  it 'should capture imgur links' do
46
48
  get_replies(make_message(@bot, 'http://imgur.com/oMndYK7', { channel: '#foo', nick: 'bar' }))
47
49
  post = get_last_tumblr_post
48
- post['title'].should == 'Anybody with a cat will relate. - Imgur'
49
- post['type'].should == 'text'
50
+ expect(post['title']).to eq('Anybody with a cat will relate. - Imgur')
51
+ expect(post['type']).to eq('text')
50
52
  end
51
53
 
52
54
  it 'should capture imgur links and tumble them with title' do
53
55
  get_replies(make_message(@bot, 'http://i.imgur.com/NWq5WIq.gif', { channel: '#foo', nick: 'bar' }))
54
56
  post = get_last_tumblr_post
55
- post['title'].should == '"ball, ball, ball, BALL!!" - Corgi - Imgur'
56
- post['type'].should == 'text'
57
+ expect(post['title']).to eq('"ball, ball, ball, BALL!!" - Corgi - Imgur')
58
+ expect(post['type']).to eq('text')
57
59
  end
58
60
 
59
61
  it 'should capture image links' do
60
62
  get_replies(make_message(@bot, 'http://tmp.weirdo513.org/choc.jpg', { channel: '#foo', nick: 'bar' }))
61
63
  post = get_last_tumblr_post
62
- post['title'].should == 'Image from http://tmp.weirdo513.org'
63
- post['type'].should == 'text'
64
+ expect(post['title']).to eq('Image from http://tmp.weirdo513.org')
65
+ expect(post['type']).to eq('text')
64
66
  end
65
67
  end
66
68
 
@@ -106,6 +108,6 @@ def build_bot(password = nil)
106
108
  token: ENV['TOKEN'],
107
109
  token_secret: ENV['TOKEN_SECRET'] }
108
110
  conf[:password] = password unless password.nil?
109
-
111
+
110
112
  make_bot(Cinch::Plugins::LinksTumblr, conf)
111
113
  end
metadata CHANGED
@@ -1,176 +1,139 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cinch-links-tumblr
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
5
- prerelease:
4
+ version: 1.0.3
6
5
  platform: ruby
7
6
  authors:
8
7
  - Brian Haberer
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2014-02-20 00:00:00.000000000 Z
11
+ date: 2014-08-01 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rake
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - ~>
20
18
  - !ruby/object:Gem::Version
21
- version: '0'
19
+ version: '10'
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - ~>
28
25
  - !ruby/object:Gem::Version
29
- version: '0'
26
+ version: '10'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rspec
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - ~>
36
32
  - !ruby/object:Gem::Version
37
- version: '0'
33
+ version: '3'
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - ~>
44
39
  - !ruby/object:Gem::Version
45
- version: '0'
40
+ version: '3'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: coveralls
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - ~>
52
46
  - !ruby/object:Gem::Version
53
- version: '0'
47
+ version: '0.7'
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - ~>
60
53
  - !ruby/object:Gem::Version
61
- version: '0'
54
+ version: '0.7'
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: cinch-test
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
- requirements:
67
- - - ! '>='
68
- - !ruby/object:Gem::Version
69
- version: '0'
70
- type: :development
71
- prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
58
  requirements:
75
- - - ! '>='
59
+ - - ~>
76
60
  - !ruby/object:Gem::Version
77
- version: '0'
78
- - !ruby/object:Gem::Dependency
79
- name: json
80
- requirement: !ruby/object:Gem::Requirement
81
- none: false
82
- requirements:
61
+ version: '0.1'
83
62
  - - ! '>='
84
63
  - !ruby/object:Gem::Version
85
- version: '0'
64
+ version: 0.1.0
86
65
  type: :development
87
66
  prerelease: false
88
67
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
68
  requirements:
69
+ - - ~>
70
+ - !ruby/object:Gem::Version
71
+ version: '0.1'
91
72
  - - ! '>='
92
73
  - !ruby/object:Gem::Version
93
- version: '0'
74
+ version: 0.1.0
94
75
  - !ruby/object:Gem::Dependency
95
76
  name: cinch
96
77
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
78
  requirements:
99
79
  - - ~>
100
80
  - !ruby/object:Gem::Version
101
- version: 2.0.12
81
+ version: '2'
102
82
  type: :runtime
103
83
  prerelease: false
104
84
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
85
  requirements:
107
86
  - - ~>
108
87
  - !ruby/object:Gem::Version
109
- version: 2.0.12
88
+ version: '2'
110
89
  - !ruby/object:Gem::Dependency
111
90
  name: cinch-storage
112
91
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
92
  requirements:
115
93
  - - ~>
116
94
  - !ruby/object:Gem::Version
117
- version: 1.1.0
95
+ version: '1.1'
118
96
  type: :runtime
119
97
  prerelease: false
120
98
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
99
  requirements:
123
100
  - - ~>
124
101
  - !ruby/object:Gem::Version
125
- version: 1.1.0
102
+ version: '1.1'
126
103
  - !ruby/object:Gem::Dependency
127
104
  name: cinch-toolbox
128
105
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
106
  requirements:
131
107
  - - ~>
132
108
  - !ruby/object:Gem::Version
133
- version: 1.1.0
109
+ version: '1.1'
134
110
  type: :runtime
135
111
  prerelease: false
136
112
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
113
  requirements:
139
114
  - - ~>
140
115
  - !ruby/object:Gem::Version
141
- version: 1.1.0
116
+ version: '1.1'
142
117
  - !ruby/object:Gem::Dependency
143
118
  name: tumblr-rb
144
119
  requirement: !ruby/object:Gem::Requirement
145
- none: false
146
120
  requirements:
147
121
  - - ~>
148
122
  - !ruby/object:Gem::Version
149
- version: 2.1.1
150
- type: :runtime
151
- prerelease: false
152
- version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
- requirements:
155
- - - ~>
123
+ version: '2.1'
124
+ - - ! '>='
156
125
  - !ruby/object:Gem::Version
157
126
  version: 2.1.1
158
- - !ruby/object:Gem::Dependency
159
- name: weary
160
- requirement: !ruby/object:Gem::Requirement
161
- none: false
162
- requirements:
163
- - - ~>
164
- - !ruby/object:Gem::Version
165
- version: 1.1.3
166
127
  type: :runtime
167
128
  prerelease: false
168
129
  version_requirements: !ruby/object:Gem::Requirement
169
- none: false
170
130
  requirements:
171
131
  - - ~>
172
132
  - !ruby/object:Gem::Version
173
- version: 1.1.3
133
+ version: '2.1'
134
+ - - ! '>='
135
+ - !ruby/object:Gem::Version
136
+ version: 2.1.1
174
137
  description: Cinch gem that logs every link posted in the channel to a Tumblr
175
138
  email:
176
139
  - bhaberer@gmail.com
@@ -193,29 +156,27 @@ files:
193
156
  homepage: https://github.com/bhaberer/cinch-links-tumblr
194
157
  licenses:
195
158
  - MIT
159
+ metadata: {}
196
160
  post_install_message:
197
161
  rdoc_options: []
198
162
  require_paths:
199
163
  - lib
200
164
  required_ruby_version: !ruby/object:Gem::Requirement
201
- none: false
202
165
  requirements:
203
166
  - - ! '>='
204
167
  - !ruby/object:Gem::Version
205
168
  version: '0'
206
169
  required_rubygems_version: !ruby/object:Gem::Requirement
207
- none: false
208
170
  requirements:
209
171
  - - ! '>='
210
172
  - !ruby/object:Gem::Version
211
173
  version: '0'
212
174
  requirements: []
213
175
  rubyforge_project:
214
- rubygems_version: 1.8.25
176
+ rubygems_version: 2.2.2
215
177
  signing_key:
216
- specification_version: 3
178
+ specification_version: 4
217
179
  summary: Cinch Tumblr Plugin
218
180
  test_files:
219
181
  - spec/cinch-links-tumblr_spec.rb
220
182
  - spec/spec_helper.rb
221
- has_rdoc: