cinch-hangouts 1.0.4 → 1.0.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -4,26 +4,27 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
  require 'cinch/plugins/hangouts/version'
5
5
 
6
6
  Gem::Specification.new do |gem|
7
- gem.name = "cinch-hangouts"
7
+ gem.name = 'cinch-hangouts'
8
8
  gem.version = Cinch::Plugins::Hangouts::VERSION
9
- gem.authors = ["Brian Haberer"]
10
- gem.email = ["bhaberer@gmail.com"]
9
+ gem.authors = ['Brian Haberer']
10
+ gem.email = ['bhaberer@gmail.com']
11
11
  gem.description = %q{Cinch Plugin to track any Google Hangouts that are linked into the channel}
12
12
  gem.summary = %q{Cinch Plugin for racking Google Hangouts}
13
- gem.homepage = "https://github.com/bhaberer/cinch-hangouts"
13
+ gem.homepage = 'https://github.com/bhaberer/cinch-hangouts'
14
+ gem.license = 'MIT'
14
15
 
15
16
  gem.files = `git ls-files`.split($/)
16
17
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
17
18
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
- gem.require_paths = ["lib"]
19
+ gem.require_paths = ['lib']
19
20
 
20
- gem.add_development_dependency 'rake'
21
- gem.add_development_dependency 'rspec'
22
- gem.add_development_dependency 'coveralls'
23
- gem.add_development_dependency 'cinch-test'
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'
24
25
 
25
- gem.add_dependency 'cinch', '~> 2.0.5'
26
- gem.add_dependency 'cinch-storage', '~> 1.0.3'
27
- gem.add_dependency 'cinch-toolbox', '~> 1.0.3'
28
- gem.add_dependency 'time-lord', '~> 1.0.1'
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'
29
30
  end
@@ -1,6 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  require 'cinch'
3
- require 'cinch-storage'
3
+ require 'cinch/storage'
4
4
  require 'cinch/toolbox'
5
5
  require 'time-lord'
6
6
 
@@ -95,12 +95,12 @@ module Cinch::Plugins
95
95
  end
96
96
  end
97
97
 
98
- def respond(m, message)
98
+ def respond(user, message)
99
99
  case @response_type
100
100
  when :notice
101
- m.user.notice message
101
+ user.notice message
102
102
  when :pm
103
- m.user.send message
103
+ user.send message
104
104
  end
105
105
  end
106
106
  end
@@ -10,16 +10,12 @@ class Hangout < Cinch::Plugins::Hangouts
10
10
  end
11
11
 
12
12
  def save
13
- storage = CinchStorage.new(@@hangout_filename)
13
+ storage = Cinch::Storage.new(@@hangout_filename)
14
14
  storage.data[:hangouts] ||= {}
15
15
  storage.data[:hangouts][id] = self
16
16
  storage.save
17
17
  end
18
18
 
19
- def to_yaml
20
- { nick: @nick, id: @id, time: @time }
21
- end
22
-
23
19
  def self.find_by_id(id)
24
20
  listing[id]
25
21
  end
@@ -52,7 +48,7 @@ class Hangout < Cinch::Plugins::Hangouts
52
48
  private
53
49
 
54
50
  def self.read_file
55
- storage = CinchStorage.new(@@hangout_filename)
51
+ storage = Cinch::Storage.new(@@hangout_filename)
56
52
  unless storage.data[:hangouts]
57
53
  storage.data[:hangouts] = {}
58
54
  storage.save
@@ -34,10 +34,11 @@ class Subscription < Cinch::Plugins::Hangouts
34
34
  nick = Hangout.find_by_id(hangout_id).nick
35
35
  list.each_value do |s|
36
36
  # Don't link the person who linked it.
37
- if nick != s.nick
37
+ unless nick == s.nick
38
38
  user = Cinch::User.new(s.nick, bot)
39
- user.msg("#{nick} just linked a new hangout at: " +
40
- Hangout.url(hangout_id))
39
+ message = "#{nick} just linked a new hangout at: " +
40
+ Hangout.url(hangout_id)
41
+ Hangout.respond(user, message)
41
42
  end
42
43
  end
43
44
  end
@@ -45,6 +46,6 @@ class Subscription < Cinch::Plugins::Hangouts
45
46
  private
46
47
 
47
48
  def self.storage
48
- CinchStorage.new(@@subscription_filename)
49
+ Cinch::Storage.new(@@subscription_filename)
49
50
  end
50
51
  end
@@ -3,7 +3,7 @@ module Cinch
3
3
  module Plugins
4
4
  # Versioning Info
5
5
  class Hangouts
6
- VERSION = '1.0.4'
6
+ VERSION = '1.0.5'
7
7
  end
8
8
  end
9
9
  end
@@ -57,6 +57,18 @@ describe Cinch::Plugins::Hangouts do
57
57
  reply.should match(/it was last linked \d seconds? ago/)
58
58
  end
59
59
 
60
+ it 'should recapture a legit Hangout link' do
61
+ id = random_hangout_id
62
+ msg = make_message(@bot, Hangout.url(id, false), { channel: '#foo' })
63
+ get_replies(msg)
64
+ sleep 1 # hack until 'time-lord' fix gets released
65
+ get_replies(msg)
66
+ sleep 1 # hack until 'time-lord' fix gets released
67
+ msg = make_message(@bot, '!hangouts')
68
+ reply = get_replies(msg).length
69
+ .should == 2
70
+ end
71
+
60
72
  it 'should capture a new short Hangout link and store it in @storage' do
61
73
  msg = make_message(@bot, Hangout.url('7acpjrpcmgl00u0b665mu25b1g', false), { :channel => '#foo' })
62
74
  get_replies(msg).should be_empty
@@ -76,9 +88,9 @@ describe Cinch::Plugins::Hangouts do
76
88
  end
77
89
 
78
90
  it 'should allow users to subscribe' do
79
- msg = make_message(@bot, '!hangouts subscribe')
80
- get_replies(msg).first.text.
81
- should include("You are now subscribed")
91
+ get_replies(make_message(@bot, '!hangouts subscribe'))
92
+ Cinch::Plugins::Hangouts::Subscription.list.length
93
+ .should == 1
82
94
  end
83
95
 
84
96
  it 'should inform users that they already subscribed' do
@@ -91,8 +103,8 @@ describe Cinch::Plugins::Hangouts do
91
103
  it 'should allow users to unsubscribe' do
92
104
  get_replies(make_message(@bot, '!hangouts subscribe'))
93
105
  msg = make_message(@bot, '!hangouts unsubscribe')
94
- get_replies(msg).first.text.
95
- should include("You are now unsubscribed")
106
+ Cinch::Plugins::Hangouts::Subscription.list.length
107
+ .should == 0
96
108
  end
97
109
 
98
110
  it 'should inform users that they are not subscribed on an unsubscribe' do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cinch-hangouts
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.4
4
+ version: 1.0.5
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: 2014-02-12 00:00:00.000000000 Z
12
+ date: 2014-02-20 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -82,7 +82,7 @@ dependencies:
82
82
  requirements:
83
83
  - - ~>
84
84
  - !ruby/object:Gem::Version
85
- version: 2.0.5
85
+ version: 2.0.12
86
86
  type: :runtime
87
87
  prerelease: false
88
88
  version_requirements: !ruby/object:Gem::Requirement
@@ -90,7 +90,7 @@ dependencies:
90
90
  requirements:
91
91
  - - ~>
92
92
  - !ruby/object:Gem::Version
93
- version: 2.0.5
93
+ version: 2.0.12
94
94
  - !ruby/object:Gem::Dependency
95
95
  name: cinch-storage
96
96
  requirement: !ruby/object:Gem::Requirement
@@ -98,7 +98,7 @@ dependencies:
98
98
  requirements:
99
99
  - - ~>
100
100
  - !ruby/object:Gem::Version
101
- version: 1.0.3
101
+ version: 1.1.0
102
102
  type: :runtime
103
103
  prerelease: false
104
104
  version_requirements: !ruby/object:Gem::Requirement
@@ -106,7 +106,7 @@ dependencies:
106
106
  requirements:
107
107
  - - ~>
108
108
  - !ruby/object:Gem::Version
109
- version: 1.0.3
109
+ version: 1.1.0
110
110
  - !ruby/object:Gem::Dependency
111
111
  name: cinch-toolbox
112
112
  requirement: !ruby/object:Gem::Requirement
@@ -114,7 +114,7 @@ dependencies:
114
114
  requirements:
115
115
  - - ~>
116
116
  - !ruby/object:Gem::Version
117
- version: 1.0.3
117
+ version: 1.1.0
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
@@ -122,7 +122,7 @@ dependencies:
122
122
  requirements:
123
123
  - - ~>
124
124
  - !ruby/object:Gem::Version
125
- version: 1.0.3
125
+ version: 1.1.0
126
126
  - !ruby/object:Gem::Dependency
127
127
  name: time-lord
128
128
  requirement: !ruby/object:Gem::Requirement
@@ -161,7 +161,8 @@ files:
161
161
  - spec/cinch-hangouts_spec.rb
162
162
  - spec/spec_helper.rb
163
163
  homepage: https://github.com/bhaberer/cinch-hangouts
164
- licenses: []
164
+ licenses:
165
+ - MIT
165
166
  post_install_message:
166
167
  rdoc_options: []
167
168
  require_paths: