cinch-hangouts 1.0.6 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 45fde4d2a553d57adc0da9c914d4523853acdbae
4
+ data.tar.gz: 4ff858cfa515f6f64465cf4cb524ae67c3a53125
5
+ SHA512:
6
+ metadata.gz: 8fe3adc17dfe6cd57258170d665a3b68c9944e3078f45c33d6184d51480e4c578f1b31bfaa84e6c416c6a3f1835d9addc3eeceaa4d77749f277fe2b7728e4fad
7
+ data.tar.gz: 02e10783b7f9486e16fb7b3498634eb30133f94108721d4dd5dae08ca3018255bc9851c62e8a53af2c82eabf2a0f5d5e56a67f62a6f11bd223022590b3fe03dd
@@ -1,4 +1,35 @@
1
1
  language: ruby
2
+ addons:
3
+ code_climate:
4
+ repo_token: 8ef6d81d6b07ed7d9e852307f2d6a28c2c4f49b8a27c9ee5951ae4e1381a8396
5
+ before_install:
6
+ - gem update --system
7
+ - gem update bundler
8
+ env:
9
+ global:
10
+ - "JRUBY_OPTS=-Xcext.enabled=true"
2
11
  rvm:
3
- - 1.9.2
12
+ - 2.3.0
13
+ - 2.2.0
14
+ - 2.1.0
15
+ - 2.0.0
4
16
  - 1.9.3
17
+ - 1.9.2
18
+ - 1.8.7
19
+ - jruby-18mode
20
+ - jruby-19mode
21
+ - ruby-head
22
+ - jruby-head
23
+ - ree
24
+ matrix:
25
+ allow_failures:
26
+ - rvm: 1.9.3
27
+ - rvm: 1.9.2
28
+ - rvm: 1.8.7
29
+ - rvm: 1.8.7
30
+ - rvm: ree
31
+ - rvm: jruby-18mode
32
+ - rvm: jruby-19mode
33
+ - rvm: jruby-head
34
+ - rvm: ruby-head
35
+ fast_finish: true
@@ -18,13 +18,14 @@ 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'
21
+ gem.add_development_dependency 'rake', '~> 10'
22
+ gem.add_development_dependency 'rspec', '~> 3'
23
+ gem.add_development_dependency 'cinch-test', '~> 0.1', '>= 0.1.1'
24
+ gem.add_development_dependency 'codeclimate-test-reporter', '~> 0.4'
25
25
 
26
- gem.add_dependency 'cinch', '~> 2.0.12'
27
- gem.add_dependency 'cinch-storage', '~> 1.1.0'
28
- gem.add_dependency 'cinch-toolbox', '~> 1.1.0'
29
- gem.add_dependency 'time-lord', '~> 1.0.1'
26
+ gem.add_dependency 'cinch', '~> 2.0'
27
+ gem.add_dependency 'cinch-cooldown', '~> 1.1.7'
28
+ gem.add_dependency 'cinch-storage', '~> 1.2'
29
+ gem.add_dependency 'cinch-toolbox', '~> 1.1'
30
+ gem.add_dependency 'time-lord', '~> 1.0', '>= 1.0.1'
30
31
  end
@@ -8,31 +8,30 @@ module Cinch::Plugins
8
8
  # Plugin to track Google Hangout links
9
9
  class Hangouts
10
10
  include Cinch::Plugin
11
- @@hangout_filename = ''
12
- @@subscription_filename = ''
11
+ HANGOUT_FILENAME = 'yaml/hangouts.yml'
12
+ SUBSCRIPTION_FILENAME = 'yaml/hangout_subscriptions.yml'
13
+
14
+ # This is the regex that captures hangout links
15
+ # The regex will need to be updated if the url scheme changes in the future
16
+ HANGOUTS_REGEX = %r((?:_|call)/([a-z0-9]{10,40})(?:\?|$))
13
17
 
14
18
  attr_accessor :storage
15
19
 
16
20
  self.help = 'Use .hangouts to see the info for any recent hangouts. You ' +
17
21
  'can also use .hangouts subscribe to sign up for notifications'
18
22
 
19
- match /hangouts\z/, method: :list_hangouts
20
- match /hangouts subscribe/, method: :subscribe
21
- match /hangouts unsubscribe/, method: :unsubscribe
23
+ match(/hangouts\z/, method: :list_hangouts)
24
+ match(/hangouts subscribe/, method: :subscribe)
25
+ match(/hangouts unsubscribe/, method: :unsubscribe)
22
26
 
23
27
  listen_to :channel
24
28
 
25
- # This is the regex that captures hangout links
26
- # The regex will need to be updated if the url scheme changes in the future
27
- HANGOUTS_REGEX = %r(plus\.google\.com/hangouts/_/([a-z0-9]{10,40})(\?|$))
28
-
29
29
  def initialize(*args)
30
30
  super
31
- @@subscription_filename = config[:subscription_filename] ||
32
- 'yaml/hangout_subscriptions.yml'
33
- @@hangout_filename = config[:hangout_filename] ||
34
- 'yaml/hangouts.yml'
35
-
31
+ @files = {
32
+ hangouts: config[:hangout_filename] || HANGOUT_FILENAME,
33
+ subscriptions: config[:subscription_filename] || SUBSCRIPTION_FILENAME
34
+ }
36
35
  @expire = config[:expire_period] || 120
37
36
  @response_type = config[:response_type] || :notice
38
37
  end
@@ -43,55 +42,62 @@ module Cinch::Plugins
43
42
  end
44
43
 
45
44
  def process_hangout(hangout_id, m)
46
- if Hangout.find_by_id(hangout_id)
45
+ if Hangout.find_by_id(hangout_id, @files)
47
46
  # If it's an old hangout capture a new expiration time
48
- hangout = Hangout.find_by_id(hangout_id)
47
+ hangout = Hangout.find_by_id(hangout_id, @files)
49
48
  hangout.time = Time.now
50
49
  hangout.save
50
+ debug "Old hangout with id:#{hangout_id} relinked."
51
51
  else
52
- Hangout.new(m.user.nick, hangout_id, Time.now)
53
- .save
54
- Subscription.notify(hangout_id, @bot, @response_type)
52
+ Hangout.new(m.user.nick, hangout_id, Time.now, @files).save
53
+ Subscription.notify(hangout_id, @bot, @response_type, @files)
54
+ debug "New hangout with id:#{hangout_id} created."
55
55
  end
56
56
  end
57
57
 
58
58
  def subscribe(m)
59
59
  nick = m.user.nick
60
- if Subscription.for_user(nick)
60
+ if Subscription.for_user(nick, @files)
61
61
  msg = 'You are already subscribed. '
62
+ debug "#{nick} subscription request failed: Already subscribed."
62
63
  else
63
- sub = Subscription.new(nick)
64
+ sub = Subscription.new(nick, @files)
64
65
  sub.save
65
- msg = 'You are now subscribed. ' +
66
- 'I will let you know when a hangout is linked. '
66
+ msg = 'You are now subscribed. I will let you know when a hangout ' \
67
+ ' is linked. '
68
+ debug "#{nick} subscription request succeeded."
67
69
  end
68
- m.user.notice msg + 'To unsubscribe use `.hangouts unsubscribe`.'
70
+ m.user.notice "#{msg} To unsubscribe use `.hangouts unsubscribe`."
69
71
  end
70
72
 
71
73
  def unsubscribe(m)
72
74
  nick = m.user.nick
73
- if Subscription.for_user(nick)
74
- Subscription.for_user(nick).delete
75
- msg = 'You are now unsubscribed, and will no ' +
76
- 'longer receive a messages. '
75
+ if Subscription.for_user(nick, @files)
76
+ debug Subscription.for_user(nick, @files).to_s
77
+ Subscription.for_user(nick, @files).destroy
78
+ msg = 'You are now unsubscribed, and will no longer receive a messages.'
79
+ debug "#{nick} unsubscription request succeeded."
77
80
  else
78
- msg = 'You are not subscribed. '
81
+ msg = 'You are not subscribed.'
82
+ debug "#{nick} unsubscription request failed: Not subscribed."
79
83
  end
80
- m.user.notice msg + 'To subscribe use `.hangouts subscribe`.'
84
+ m.user.notice "#{msg} To subscribe use `.hangouts subscribe`."
81
85
  end
82
86
 
83
87
  def list_hangouts(m)
84
- Hangout.delete_expired(@expire)
85
- if Hangout.sorted.empty?
88
+ Hangout.delete_expired(@expire, @files)
89
+ if Hangout.sorted(@files).empty?
86
90
  m.user.notice 'No hangouts have been linked recently!'
87
91
  return
88
92
  end
89
- m.user.notice 'These hangouts have been linked in the last ' +
93
+ m.user.notice 'These hangouts have been linked in the last ' \
90
94
  "#{@expire} minutes. They may or may not still be going."
91
- Hangout.sorted.each do |hangout|
92
- m.user.notice "#{hangout.nick} started a hangout at " +
93
- Hangout.url(hangout.id) +
94
- " it was last linked #{hangout.time.ago.to_words}"
95
+ hangouts = Hangout.sorted(@files)
96
+ debug "#{m.user.nick} hangouts listing request; Sending #{hangouts.count} hangouts to them."
97
+ hangouts.each do |hangout|
98
+ m.user.notice "#{hangout.nick} started a hangout at " \
99
+ "#{Hangout.url(hangout.id)} it was last linked " \
100
+ "#{hangout.time.ago.to_words}"
95
101
  end
96
102
  end
97
103
  end
@@ -3,40 +3,42 @@
3
3
  class Hangout < Cinch::Plugins::Hangouts
4
4
  attr_accessor :nick, :id, :time, :hangout_filename
5
5
 
6
- def initialize(nick, id, time)
6
+ def initialize(nick, id, time, files)
7
7
  @nick = nick
8
8
  @id = id
9
9
  @time = time
10
+ fail if files.nil? || !files.key?(:hangouts) || files[:hangouts].empty?
11
+ @filename = files[:hangouts]
10
12
  end
11
13
 
12
14
  def save
13
- storage = Cinch::Storage.new(@@hangout_filename)
15
+ storage = Cinch::Storage.new(@filename)
14
16
  storage.data[:hangouts] ||= {}
15
17
  storage.data[:hangouts][id] = self
16
18
  storage.save
17
19
  end
18
20
 
19
- def self.find_by_id(id)
20
- listing[id]
21
+ def self.find_by_id(id, files)
22
+ listing(files)[id]
21
23
  end
22
24
 
23
- def self.delete_expired(expire_time)
24
- return if listing.nil?
25
- storage = read_file
25
+ def self.delete_expired(expire_time, files)
26
+ return if listing(files).nil?
27
+ storage = read_file(files)
26
28
  storage.data[:hangouts].delete_if do |id, hangout|
27
29
  (Time.now - hangout.time) > (expire_time * 60)
28
30
  end
29
31
  storage.save
30
32
  end
31
33
 
32
- def self.sorted
33
- hangouts = listing.values
34
+ def self.sorted(files)
35
+ hangouts = listing(files).values
34
36
  hangouts.sort! { |x, y| y.time <=> x.time }
35
37
  hangouts
36
38
  end
37
39
 
38
- def self.listing
39
- read_file.data[:hangouts]
40
+ def self.listing(files)
41
+ read_file(files).data[:hangouts]
40
42
  end
41
43
 
42
44
  def self.url(id, shorten = true)
@@ -47,8 +49,9 @@ class Hangout < Cinch::Plugins::Hangouts
47
49
 
48
50
  private
49
51
 
50
- def self.read_file
51
- storage = Cinch::Storage.new(@@hangout_filename)
52
+ def self.read_file(files)
53
+ fail "No Hangout filename passed" unless files.key?(:hangouts)
54
+ storage = Cinch::Storage.new(files[:hangouts])
52
55
  unless storage.data[:hangouts]
53
56
  storage.data[:hangouts] = {}
54
57
  storage.save
@@ -3,36 +3,38 @@
3
3
  class Subscription < Cinch::Plugins::Hangouts
4
4
  attr_accessor :nick, :all_links
5
5
 
6
- def initialize(nick)
6
+ def initialize(nick, files)
7
7
  @nick = nick
8
8
  @all_links = false
9
+ @files = files
9
10
  save
10
11
  end
11
12
 
12
13
  def save
13
- subs = Subscription.storage
14
- subs.data[nick] = self
14
+ subs = Subscription.storage(@files)
15
+ subs.data[@nick] = self
15
16
  subs.save
16
17
  end
17
18
 
18
- def delete
19
- subs = Subscription.storage
20
- subs.data.delete(nick)
19
+ def destroy
20
+ subs = Subscription.storage(@files)
21
+ subs.data.delete(@nick)
21
22
  subs.save
22
23
  end
23
24
 
24
- def self.for_user(nick)
25
- return nil unless list.key?(nick)
26
- list[nick]
25
+ def self.for_user(nick, files)
26
+ nicks = list(files)
27
+ return nil unless nicks.key?(nick)
28
+ Subscription.new(nick[nick], files)
27
29
  end
28
30
 
29
- def self.list
30
- storage.data
31
+ def self.list(files)
32
+ storage(files).data
31
33
  end
32
34
 
33
- def self.notify(hangout_id, bot, type)
34
- nick = Hangout.find_by_id(hangout_id).nick
35
- list.each_value do |s|
35
+ def self.notify(hangout_id, bot, type, files)
36
+ nick = Hangout.find_by_id(hangout_id, files).nick
37
+ list(files).each_value do |s|
36
38
  # Don't link the person who linked it.
37
39
  unless nick == s.nick
38
40
  user = Cinch::User.new(s.nick, bot)
@@ -54,7 +56,8 @@ class Subscription < Cinch::Plugins::Hangouts
54
56
 
55
57
  private
56
58
 
57
- def self.storage
58
- Cinch::Storage.new(@@subscription_filename)
59
+ def self.storage(files)
60
+ fail "No Subscription filename passed" unless files.key?(:subscriptions)
61
+ Cinch::Storage.new(files[:subscriptions])
59
62
  end
60
63
  end
@@ -3,7 +3,7 @@ module Cinch
3
3
  module Plugins
4
4
  # Versioning Info
5
5
  class Hangouts
6
- VERSION = '1.0.6'
6
+ VERSION = '1.1.1'
7
7
  end
8
8
  end
9
9
  end
@@ -4,113 +4,106 @@ describe Cinch::Plugins::Hangouts do
4
4
  include Cinch::Test
5
5
 
6
6
  before(:each) do
7
- files = { hangout_filename: '/tmp/hangout.yml',
8
- subscription_filename: '/tmp/subscription.yml' }
9
- files.values.each do |file|
10
- File.delete(file) if File.exist?(file)
11
- end
12
- @bot = make_bot(Cinch::Plugins::Hangouts, files)
7
+ @files = { hangout_filename: '/tmp/hangout.yml',
8
+ subscription_filename: '/tmp/subscription.yml' }
9
+ @files.values.each { |file| File.delete(file) if File.exist?(file) }
10
+ @bot = make_bot(Cinch::Plugins::Hangouts, @files)
13
11
  end
14
12
 
15
- describe 'handling hangout links' do
16
- it 'should return an error if no one has linked a hangout' do
17
- get_replies(make_message(@bot, '!hangouts', { channel: '#foo' })).first.text.
18
- should == "No hangouts have been linked recently!"
19
- end
20
-
21
- it 'should not capture a malformed (invalid chars) Hangout link' do
22
- msg = make_message(@bot, Hangout.url('82b5cc7f76b7a%19c180416c2f509027!!d8856d', false),
23
- { :channel => '#foo' })
24
- get_replies(msg).should be_empty
25
- msg = make_message(@bot, '!hangouts')
26
- get_replies(msg).first.text.
27
- should == "No hangouts have been linked recently!"
28
- end
29
-
30
- it 'should not capture a malformed (wrong length) Hangout link' do
31
- msg = make_message(@bot, Hangout.url('82b5cc', false),
32
- { :channel => '#foo' })
33
- get_replies(msg).should be_empty
34
- msg = make_message(@bot, '!hangouts')
35
- get_replies(msg).first.text.
36
- should == "No hangouts have been linked recently!"
13
+ describe 'requesting hangout links (!hangouts)' do
14
+ it 'return an error if no one has linked a hangout' do
15
+ msg = get_replies(make_message(@bot, '!hangouts', { channel: '#foo' })).first
16
+ expect(msg.text).to eql('No hangouts have been linked recently!')
37
17
  end
18
+ end
38
19
 
39
- it 'should capture a legit Hangout link and store it in @storage' do
40
- msg = make_message(@bot, Hangout.url(random_hangout_id, false), { :channel => '#foo' })
41
- get_replies(msg).should be_empty
42
- sleep 1 # hack until 'time-lord' fix gets released
43
- msg = make_message(@bot, '!hangouts')
44
- reply = get_replies(msg).last.text
45
- reply.should include "test started a hangout at"
46
- reply.should match(/it was last linked \d seconds? ago/)
20
+ describe 'posting a valid hangout link' do
21
+ it 'captures the the link and stores it in @storage' do
22
+ msg = make_message(@bot, Hangout.url(random_hangout_id, false), { channel: '#foo' })
23
+ sleep 2
24
+ get_replies(msg)
25
+ reply = get_replies(make_message(@bot, '!hangouts')).last.text
26
+ expect(reply).to include('test started a hangout at')
27
+ expect(reply).to match(/it was last linked \d seconds? ago/)
47
28
  end
48
29
 
49
- it 'should capture a legit Hangout link if it has trailing params' do
30
+ it 'captures even if it has trailing params' do
50
31
  msg = make_message(@bot, Hangout.url(random_hangout_id + '?hl=en', false),
51
- { :channel => '#foo' })
32
+ { channel: '#foo' })
52
33
  get_replies(msg)
53
- sleep 1 # hack until 'time-lord' fix gets released
34
+ sleep 2 # hack until 'time-lord' fix gets released
54
35
  msg = make_message(@bot, '!hangouts')
55
36
  reply = get_replies(msg).last.text
56
- reply.should include "test started a hangout at"
57
- reply.should match(/it was last linked \d seconds? ago/)
37
+ expect(reply).to include('test started a hangout at')
38
+ expect(reply).to match(/it was last linked \d seconds? ago/)
58
39
  end
59
40
 
60
- it 'should recapture a legit Hangout link' do
41
+ it 'recaptures a link' do
61
42
  id = random_hangout_id
62
43
  msg = make_message(@bot, Hangout.url(id, false), { channel: '#foo' })
63
44
  get_replies(msg)
64
- sleep 1 # hack until 'time-lord' fix gets released
45
+ sleep 2 # hack until 'time-lord' fix gets released
65
46
  get_replies(msg)
66
- sleep 1 # hack until 'time-lord' fix gets released
47
+ sleep 2 # hack until 'time-lord' fix gets released
67
48
  msg = make_message(@bot, '!hangouts')
68
- reply = get_replies(msg).length
69
- .should == 2
49
+ expect(get_replies(msg).length).to eq(2)
70
50
  end
71
51
 
72
- it 'should capture a new short Hangout link and store it in @storage' do
73
- msg = make_message(@bot, Hangout.url('7acpjrpcmgl00u0b665mu25b1g', false), { :channel => '#foo' })
74
- get_replies(msg).should be_empty
75
- sleep 1 # hack until 'time-lord' fix gets released
52
+ it 'capture a new short Hangout link and store it in @storage' do
53
+ msg = make_message(@bot, Hangout.url('7acpjrpcmgl00u0b665mu25b1g', false), { channel: '#foo' })
54
+ expect(get_replies(msg)).to be_empty
55
+ sleep 2 # hack until 'time-lord' fix gets released
76
56
  msg = make_message(@bot, '!hangouts')
77
57
  reply = get_replies(msg).last.text
78
- reply.should include "test started a hangout at"
79
- reply.should match(/it was last linked \d seconds? ago/)
58
+ expect(reply).to include('test started a hangout at')
59
+ expect(reply).to match(/it was last linked \d seconds? ago/)
60
+ end
61
+ end
62
+
63
+ describe 'posting an invalid hangout link does not log' do
64
+ it 'when it is malformed (invalid chars)' do
65
+ msg = make_message(@bot, Hangout.url('82b5cc7f76b7a%19c180416c2f509027!!d8856d',
66
+ false), { channel: '#foo' })
67
+ expect(get_replies(msg)).to be_empty
68
+ msg = make_message(@bot, '!hangouts')
69
+ message = get_replies(msg).first.text
70
+ expect(message).to eq('No hangouts have been linked recently!')
71
+ end
72
+
73
+ it 'when it is malformed (wrong length)' do
74
+ msg = make_message(@bot, Hangout.url('82b5cc', false), { channel: '#foo' })
75
+ expect(get_replies(msg)).to be_empty
76
+ msg = make_message(@bot, '!hangouts')
77
+ expect(get_replies(msg).first.text).to eq('No hangouts have been linked recently!')
80
78
  end
81
79
  end
82
80
 
83
81
  describe 'subscriptions' do
84
82
  it 'should allow users to subscribe' do
85
- msg = make_message(@bot, '!hangouts subscribe')
86
- get_replies(msg).first.text.
87
- should include("You are now subscribed")
83
+ msg = get_replies(make_message(@bot, '!hangouts subscribe'))
84
+ expect(msg.first.text).to include('You are now subscribed')
88
85
  end
89
86
 
90
87
  it 'should allow users to subscribe' do
91
88
  get_replies(make_message(@bot, '!hangouts subscribe'))
92
- Cinch::Plugins::Hangouts::Subscription.list.length
93
- .should == 1
89
+ expect(Cinch::Plugins::Hangouts::Subscription.list({ subscriptions: @files[:subscription_filename] }).length).to eq(1)
94
90
  end
95
91
 
96
92
  it 'should inform users that they already subscribed' do
97
93
  get_replies(make_message(@bot, '!hangouts subscribe'))
98
94
  msg = make_message(@bot, '!hangouts subscribe')
99
- get_replies(msg).first.text.
100
- should include("You are already subscribed")
95
+ expect(get_replies(msg).first.text).to include('You are already subscribed')
101
96
  end
102
97
 
103
98
  it 'should allow users to unsubscribe' do
104
99
  get_replies(make_message(@bot, '!hangouts subscribe'))
105
100
  get_replies(make_message(@bot, '!hangouts unsubscribe'))
106
- Cinch::Plugins::Hangouts::Subscription.list.length
107
- .should == 0
101
+ expect(Cinch::Plugins::Hangouts::Subscription.list({ subscriptions: @files[:subscription_filename] }).length).to eq(0)
108
102
  end
109
103
 
110
104
  it 'should inform users that they are not subscribed on an unsubscribe' do
111
105
  msg = make_message(@bot, '!hangouts unsubscribe')
112
- get_replies(msg).first.text.
113
- should include("You are not subscribed.")
106
+ expect(get_replies(msg).first.text).to include('You are not subscribed.')
114
107
  end
115
108
 
116
109
  #it 'should notify users when a new hangout is linked' do
@@ -120,18 +113,19 @@ describe Cinch::Plugins::Hangouts do
120
113
  #end
121
114
 
122
115
  it 'should not notify users when an old hangout is relinked' do
123
- get_replies(make_message(@bot, '!hangouts subscribe'), { :channel => '#foo' } )
124
- get_replies(make_message(@bot, Hangout.url(random_hangout_id, false), { :channel => '#foo' }))
125
- msg = make_message(@bot, Hangout.url(random_hangout_id, false), { :channel => '#foo' })
126
- get_replies(msg).
127
- should be_empty
116
+ get_replies(make_message(@bot, '!hangouts subscribe'), { channel: '#foo' } )
117
+ get_replies(make_message(@bot, Hangout.url(random_hangout_id, false), { channel: '#foo' }))
118
+ msg = make_message(@bot, Hangout.url(random_hangout_id, false), { channel: '#foo' })
119
+ expect(get_replies(msg)).to be_empty
128
120
  end
121
+
122
+
129
123
  end
130
124
 
131
- def random_hangout_id(len = 40)
132
- chars = %w{ a b c d e f 0 1 2 3 4 5 6 7 8 9 }
125
+ def random_hangout_id(len = 27)
126
+ chars = ('a'..'z').to_a + ('0'..'9').to_a
133
127
  string = ''
134
- len.times { string << chars[rand(chars.length)] }
128
+ len.times { string << chars[rand(chars.length)] }
135
129
  string
136
130
  end
137
131
  end
@@ -1,11 +1,5 @@
1
- require 'coveralls'
2
- require 'simplecov'
3
-
4
- SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
5
- SimpleCov::Formatter::HTMLFormatter,
6
- Coveralls::SimpleCov::Formatter
7
- ]
8
- SimpleCov.start
1
+ require "codeclimate-test-reporter"
2
+ CodeClimate::TestReporter.start
9
3
 
10
4
  require 'cinch-hangouts'
11
5
  require 'cinch/test'
metadata CHANGED
@@ -1,142 +1,151 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cinch-hangouts
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.6
5
- prerelease:
4
+ version: 1.1.1
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-22 00:00:00.000000000 Z
11
+ date: 2016-05-03 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
- name: coveralls
42
+ name: cinch-test
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0.1'
48
+ - - ">="
52
49
  - !ruby/object:Gem::Version
53
- version: '0'
50
+ version: 0.1.1
54
51
  type: :development
55
52
  prerelease: false
56
53
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
54
  requirements:
59
- - - ! '>='
55
+ - - "~>"
60
56
  - !ruby/object:Gem::Version
61
- version: '0'
57
+ version: '0.1'
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: 0.1.1
62
61
  - !ruby/object:Gem::Dependency
63
- name: cinch-test
62
+ name: codeclimate-test-reporter
64
63
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
64
  requirements:
67
- - - ! '>='
65
+ - - "~>"
68
66
  - !ruby/object:Gem::Version
69
- version: '0'
67
+ version: '0.4'
70
68
  type: :development
71
69
  prerelease: false
72
70
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
71
  requirements:
75
- - - ! '>='
72
+ - - "~>"
76
73
  - !ruby/object:Gem::Version
77
- version: '0'
74
+ version: '0.4'
78
75
  - !ruby/object:Gem::Dependency
79
76
  name: cinch
80
77
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
78
  requirements:
83
- - - ~>
79
+ - - "~>"
84
80
  - !ruby/object:Gem::Version
85
- version: 2.0.12
81
+ version: '2.0'
86
82
  type: :runtime
87
83
  prerelease: false
88
84
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
85
  requirements:
91
- - - ~>
86
+ - - "~>"
92
87
  - !ruby/object:Gem::Version
93
- version: 2.0.12
88
+ version: '2.0'
89
+ - !ruby/object:Gem::Dependency
90
+ name: cinch-cooldown
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: 1.1.7
96
+ type: :runtime
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: 1.1.7
94
103
  - !ruby/object:Gem::Dependency
95
104
  name: cinch-storage
96
105
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
106
  requirements:
99
- - - ~>
107
+ - - "~>"
100
108
  - !ruby/object:Gem::Version
101
- version: 1.1.0
109
+ version: '1.2'
102
110
  type: :runtime
103
111
  prerelease: false
104
112
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
113
  requirements:
107
- - - ~>
114
+ - - "~>"
108
115
  - !ruby/object:Gem::Version
109
- version: 1.1.0
116
+ version: '1.2'
110
117
  - !ruby/object:Gem::Dependency
111
118
  name: cinch-toolbox
112
119
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
120
  requirements:
115
- - - ~>
121
+ - - "~>"
116
122
  - !ruby/object:Gem::Version
117
- version: 1.1.0
123
+ version: '1.1'
118
124
  type: :runtime
119
125
  prerelease: false
120
126
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
127
  requirements:
123
- - - ~>
128
+ - - "~>"
124
129
  - !ruby/object:Gem::Version
125
- version: 1.1.0
130
+ version: '1.1'
126
131
  - !ruby/object:Gem::Dependency
127
132
  name: time-lord
128
133
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
134
  requirements:
131
- - - ~>
135
+ - - "~>"
136
+ - !ruby/object:Gem::Version
137
+ version: '1.0'
138
+ - - ">="
132
139
  - !ruby/object:Gem::Version
133
140
  version: 1.0.1
134
141
  type: :runtime
135
142
  prerelease: false
136
143
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
144
  requirements:
139
- - - ~>
145
+ - - "~>"
146
+ - !ruby/object:Gem::Version
147
+ version: '1.0'
148
+ - - ">="
140
149
  - !ruby/object:Gem::Version
141
150
  version: 1.0.1
142
151
  description: Cinch Plugin to track any Google Hangouts that are linked into the channel
@@ -146,8 +155,8 @@ executables: []
146
155
  extensions: []
147
156
  extra_rdoc_files: []
148
157
  files:
149
- - .gitignore
150
- - .travis.yml
158
+ - ".gitignore"
159
+ - ".travis.yml"
151
160
  - Gemfile
152
161
  - LICENSE.txt
153
162
  - README.md
@@ -163,29 +172,27 @@ files:
163
172
  homepage: https://github.com/bhaberer/cinch-hangouts
164
173
  licenses:
165
174
  - MIT
175
+ metadata: {}
166
176
  post_install_message:
167
177
  rdoc_options: []
168
178
  require_paths:
169
179
  - lib
170
180
  required_ruby_version: !ruby/object:Gem::Requirement
171
- none: false
172
181
  requirements:
173
- - - ! '>='
182
+ - - ">="
174
183
  - !ruby/object:Gem::Version
175
184
  version: '0'
176
185
  required_rubygems_version: !ruby/object:Gem::Requirement
177
- none: false
178
186
  requirements:
179
- - - ! '>='
187
+ - - ">="
180
188
  - !ruby/object:Gem::Version
181
189
  version: '0'
182
190
  requirements: []
183
191
  rubyforge_project:
184
- rubygems_version: 1.8.25
192
+ rubygems_version: 2.4.8
185
193
  signing_key:
186
- specification_version: 3
194
+ specification_version: 4
187
195
  summary: Cinch Plugin for racking Google Hangouts
188
196
  test_files:
189
197
  - spec/cinch-hangouts_spec.rb
190
198
  - spec/spec_helper.rb
191
- has_rdoc: