cerberus 0.3.5 → 0.3.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.
- data/CHANGES +159 -129
- data/LICENSE +21 -21
- data/README +75 -75
- data/Rakefile +161 -159
- data/bin/cerberus +2 -2
- data/lib/cerberus/builder/maven2.rb +38 -38
- data/lib/cerberus/builder/rake.rb +7 -7
- data/lib/cerberus/builder/rant.rb +7 -7
- data/lib/cerberus/builder/rspec.rb +13 -0
- data/lib/cerberus/builder/ruby_base.rb +48 -47
- data/lib/cerberus/cli.rb +73 -70
- data/lib/cerberus/component_lazy_loader.rb +2 -0
- data/lib/cerberus/config.example.yml +28 -28
- data/lib/cerberus/config.rb +47 -46
- data/lib/cerberus/constants.rb +8 -8
- data/lib/cerberus/latch.rb +26 -26
- data/lib/cerberus/manager.rb +296 -267
- data/lib/cerberus/publisher/base.rb +47 -47
- data/lib/cerberus/publisher/gmailer.rb +17 -0
- data/lib/cerberus/publisher/irc.rb +27 -27
- data/lib/cerberus/publisher/jabber.rb +25 -25
- data/lib/cerberus/publisher/mail.rb +36 -36
- data/lib/cerberus/publisher/netsmtp_tls_fix.rb +66 -66
- data/lib/cerberus/publisher/rss.rb +27 -28
- data/lib/cerberus/scm/cvs.rb +48 -48
- data/lib/cerberus/scm/darcs.rb +70 -70
- data/lib/cerberus/scm/svn.rb +83 -83
- data/lib/cerberus/utils.rb +156 -156
- data/test/config_test.rb +45 -45
- data/test/functional_test.rb +288 -287
- data/test/integration_test.rb +104 -104
- data/test/irc_publisher_test.rb +18 -18
- data/test/jabber_publisher_test.rb +21 -21
- data/test/mail_publisher_test.rb +25 -25
- data/test/maven2_builer_test.rb +81 -81
- data/test/mock/irc.rb +20 -20
- data/test/mock/manager.rb +10 -10
- data/test/mock/xmpp4r.rb +19 -19
- data/test/rss_publisher_test.rb +21 -21
- data/test/test_helper.rb +105 -105
- metadata +58 -40
- data/lib/cerberus/helper/xchar.rb +0 -61
data/test/mock/irc.rb
CHANGED
@@ -1,20 +1,20 @@
|
|
1
|
-
class IRCConnection
|
2
|
-
@@messages = []
|
3
|
-
@@connected = false
|
4
|
-
|
5
|
-
def self.messages
|
6
|
-
@@messages
|
7
|
-
end
|
8
|
-
|
9
|
-
def self.connected
|
10
|
-
@@connected
|
11
|
-
end
|
12
|
-
|
13
|
-
def self.send_to_server(msg)
|
14
|
-
@@messages << msg
|
15
|
-
end
|
16
|
-
|
17
|
-
def self.handle_connection(server, port, nick, realname)
|
18
|
-
@@connected = true
|
19
|
-
end
|
20
|
-
end
|
1
|
+
class IRCConnection
|
2
|
+
@@messages = []
|
3
|
+
@@connected = false
|
4
|
+
|
5
|
+
def self.messages
|
6
|
+
@@messages
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.connected
|
10
|
+
@@connected
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.send_to_server(msg)
|
14
|
+
@@messages << msg
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.handle_connection(server, port, nick, realname)
|
18
|
+
@@connected = true
|
19
|
+
end
|
20
|
+
end
|
data/test/mock/manager.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
|
-
class DummyManager
|
2
|
-
attr_reader :builder, :scm
|
3
|
-
|
4
|
-
DummyScm = Struct.new(:last_commit_message, :current_revision, :last_author)
|
5
|
-
DummyBuilder = Struct.new(:output)
|
6
|
-
|
7
|
-
def initialize(last_commit_message, output, current_revision, last_author)
|
8
|
-
@scm = DummyScm.new(last_commit_message, current_revision, last_author)
|
9
|
-
@builder = DummyBuilder.new(output)
|
10
|
-
end
|
1
|
+
class DummyManager
|
2
|
+
attr_reader :builder, :scm
|
3
|
+
|
4
|
+
DummyScm = Struct.new(:last_commit_message, :current_revision, :last_author)
|
5
|
+
DummyBuilder = Struct.new(:output)
|
6
|
+
|
7
|
+
def initialize(last_commit_message, output, current_revision, last_author)
|
8
|
+
@scm = DummyScm.new(last_commit_message, current_revision, last_author)
|
9
|
+
@builder = DummyBuilder.new(output)
|
10
|
+
end
|
11
11
|
end
|
data/test/mock/xmpp4r.rb
CHANGED
@@ -1,19 +1,19 @@
|
|
1
|
-
require 'xmpp4r'
|
2
|
-
|
3
|
-
class Jabber::Client
|
4
|
-
@@messages = []
|
5
|
-
|
6
|
-
def connect
|
7
|
-
end
|
8
|
-
|
9
|
-
def send(message)
|
10
|
-
@@messages << message
|
11
|
-
end
|
12
|
-
|
13
|
-
def self.messages
|
14
|
-
@@messages
|
15
|
-
end
|
16
|
-
|
17
|
-
def auth(pwd)
|
18
|
-
end
|
19
|
-
end
|
1
|
+
require 'xmpp4r'
|
2
|
+
|
3
|
+
class Jabber::Client
|
4
|
+
@@messages = []
|
5
|
+
|
6
|
+
def connect
|
7
|
+
end
|
8
|
+
|
9
|
+
def send(message)
|
10
|
+
@@messages << message
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.messages
|
14
|
+
@@messages
|
15
|
+
end
|
16
|
+
|
17
|
+
def auth(pwd)
|
18
|
+
end
|
19
|
+
end
|
data/test/rss_publisher_test.rb
CHANGED
@@ -1,21 +1,21 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/test_helper'
|
2
|
-
|
3
|
-
require 'cerberus/publisher/rss'
|
4
|
-
require 'mock/manager'
|
5
|
-
require 'tempfile'
|
6
|
-
|
7
|
-
class RSSPublisherTest < Test::Unit::TestCase
|
8
|
-
def test_publisher
|
9
|
-
rss_file = Tempfile.new('cerberus-rss')
|
10
|
-
options = Cerberus::Config.new(nil, :publisher => {:rss => {:file => rss_file.path}}, :application_name => 'RSS<App')
|
11
|
-
build = DummyManager.new('last message', 'this is output', 1235, 'anatol')
|
12
|
-
|
13
|
-
Cerberus::Publisher::RSS.publish(build_status(false), build, options)
|
14
|
-
|
15
|
-
xml = REXML::Document.new(IO.read(rss_file.path))
|
16
|
-
|
17
|
-
assert_equal '[RSS<App] Build still broken (#1235)', xml.elements["rss/channel/item/title/"].get_text.value
|
18
|
-
assert_match %r{<pre>last message\nthis is output\n--\
|
19
|
-
xml.elements["rss/channel/item/description/"].get_text.value
|
20
|
-
end
|
21
|
-
end
|
1
|
+
require File.dirname(__FILE__) + '/test_helper'
|
2
|
+
|
3
|
+
require 'cerberus/publisher/rss'
|
4
|
+
require 'mock/manager'
|
5
|
+
require 'tempfile'
|
6
|
+
|
7
|
+
class RSSPublisherTest < Test::Unit::TestCase
|
8
|
+
def test_publisher
|
9
|
+
rss_file = Tempfile.new('cerberus-rss')
|
10
|
+
options = Cerberus::Config.new(nil, :publisher => {:rss => {:file => rss_file.path}}, :application_name => 'RSS<App')
|
11
|
+
build = DummyManager.new('last message', 'this is output', 1235, 'anatol')
|
12
|
+
|
13
|
+
Cerberus::Publisher::RSS.publish(build_status(false), build, options)
|
14
|
+
|
15
|
+
xml = REXML::Document.new(IO.read(rss_file.path))
|
16
|
+
|
17
|
+
assert_equal '[RSS<App] Build still broken (#1235)', xml.elements["rss/channel/item/title/"].get_text.value
|
18
|
+
assert_match %r{<pre>last message\nthis is output\n--\nThis email generated by Cerberus tool ver\. 0.\d.\d, http://cerberus.rubyforge.org/</pre>},
|
19
|
+
xml.elements["rss/channel/item/description/"].get_text.value
|
20
|
+
end
|
21
|
+
end
|
data/test/test_helper.rb
CHANGED
@@ -1,105 +1,105 @@
|
|
1
|
-
$:.unshift File.expand_path(File.dirname(__FILE__) + '/../lib')
|
2
|
-
$:.unshift File.expand_path(File.dirname(__FILE__))
|
3
|
-
|
4
|
-
require 'test/unit'
|
5
|
-
require 'fileutils'
|
6
|
-
|
7
|
-
require 'cerberus/utils'
|
8
|
-
|
9
|
-
class Test::Unit::TestCase
|
10
|
-
TEMP_DIR = File.expand_path(File.dirname(__FILE__)) + '/__workdir'
|
11
|
-
|
12
|
-
SVN_REPO = TEMP_DIR + '/svn_repo'
|
13
|
-
SVN_URL = 'file:///' + SVN_REPO.gsub(/\\/,'/').gsub(/^\//,'').gsub(' ', '%20')
|
14
|
-
|
15
|
-
DARCS_REPO = TEMP_DIR + '/darcs_repo'
|
16
|
-
DARCS_URL = 'file:///' + DARCS_REPO.gsub(/\\/,'/').gsub(/^\//,'').gsub(' ', '%20')
|
17
|
-
|
18
|
-
HOME = TEMP_DIR + '/home'
|
19
|
-
ENV['CERBERUS_HOME'] = HOME
|
20
|
-
ENV['CERBERUS_ENV'] = 'TEST'
|
21
|
-
|
22
|
-
def self.refresh_repos
|
23
|
-
FileUtils.rm_rf TEMP_DIR
|
24
|
-
FileUtils.mkpath SVN_REPO
|
25
|
-
`svnadmin create "#{SVN_REPO}"`
|
26
|
-
`svnadmin load "#{SVN_REPO}" < "#{File.dirname(__FILE__)}/data/subversion.dump"`
|
27
|
-
|
28
|
-
require 'rubygems'
|
29
|
-
require 'zip/zip'
|
30
|
-
FileUtils.mkpath DARCS_REPO
|
31
|
-
Zip::ZipFile::open("#{File.dirname(__FILE__)}/data/darcs.zip") {|zf|
|
32
|
-
zf.each { |e|
|
33
|
-
fpath = File.join(DARCS_REPO, e.name)
|
34
|
-
FileUtils.mkdir_p(File.dirname(fpath))
|
35
|
-
zf.extract(e, fpath)
|
36
|
-
}
|
37
|
-
}
|
38
|
-
end
|
39
|
-
|
40
|
-
refresh_repos
|
41
|
-
|
42
|
-
CERBERUS_PATH = File.expand_path(File.dirname(__FILE__) + '/../')
|
43
|
-
def run_cerb(args)
|
44
|
-
`ruby -I"#{CERBERUS_PATH}/lib" "#{CERBERUS_PATH}/bin/cerberus" #{args} 2>&1`
|
45
|
-
end
|
46
|
-
|
47
|
-
def add_test_case_to_project(project_name, content)
|
48
|
-
test_case_name = "#{HOME}/work/#{project_name}/sources/test/#{rand(10000)}_test.rb"
|
49
|
-
File.open(test_case_name, 'w') { |f|
|
50
|
-
f << "require 'test/unit'
|
51
|
-
|
52
|
-
class A#{rand(10000)}Test < Test::Unit::TestCase
|
53
|
-
def test_ok
|
54
|
-
#{content}
|
55
|
-
end
|
56
|
-
end"
|
57
|
-
}
|
58
|
-
|
59
|
-
if block_given?
|
60
|
-
yield
|
61
|
-
FileUtils.rm test_case_name
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
def add_application(app_name, url, options = {})
|
66
|
-
opt = {'scm'=>{'url'=>url},
|
67
|
-
'publisher'=>{
|
68
|
-
'mail'=>{'recipients'=>'somebody@com.com', 'delivery_method' => 'test'}
|
69
|
-
}}
|
70
|
-
|
71
|
-
opt.deep_merge!(options)
|
72
|
-
|
73
|
-
dump_yml(HOME + "/config/#{app_name}.yml", opt)
|
74
|
-
|
75
|
-
FileUtils.rm_rf HOME + "/work/#{app_name}"
|
76
|
-
end
|
77
|
-
|
78
|
-
def add_config(options)
|
79
|
-
dump_yml(HOME + "/config.yml", options)
|
80
|
-
end
|
81
|
-
|
82
|
-
# Overrides the method +method_name+ in +obj+ with the passed block
|
83
|
-
def override_method(obj, method_name, &block)
|
84
|
-
# Get the singleton class/eigenclass for 'obj'
|
85
|
-
klass = class <<obj; self; end
|
86
|
-
|
87
|
-
# Undefine the old method (using 'send' since 'undef_method' is protected)
|
88
|
-
klass.send(:undef_method, method_name)
|
89
|
-
|
90
|
-
# Create the new method
|
91
|
-
klass.send(:define_method, method_name, block)
|
92
|
-
end
|
93
|
-
|
94
|
-
def build_successful?(file_name)
|
95
|
-
data = YAML.load(IO.read(file_name))
|
96
|
-
assert_kind_of Hash, data
|
97
|
-
data['successful']
|
98
|
-
end
|
99
|
-
|
100
|
-
def build_status(successful)
|
101
|
-
Cerberus::Status.new('state' => successful)
|
102
|
-
end
|
103
|
-
end
|
104
|
-
|
105
|
-
require 'cerberus/config'
|
1
|
+
$:.unshift File.expand_path(File.dirname(__FILE__) + '/../lib')
|
2
|
+
$:.unshift File.expand_path(File.dirname(__FILE__))
|
3
|
+
|
4
|
+
require 'test/unit'
|
5
|
+
require 'fileutils'
|
6
|
+
|
7
|
+
require 'cerberus/utils'
|
8
|
+
|
9
|
+
class Test::Unit::TestCase
|
10
|
+
TEMP_DIR = File.expand_path(File.dirname(__FILE__)) + '/__workdir'
|
11
|
+
|
12
|
+
SVN_REPO = TEMP_DIR + '/svn_repo'
|
13
|
+
SVN_URL = 'file:///' + SVN_REPO.gsub(/\\/,'/').gsub(/^\//,'').gsub(' ', '%20')
|
14
|
+
|
15
|
+
DARCS_REPO = TEMP_DIR + '/darcs_repo'
|
16
|
+
DARCS_URL = 'file:///' + DARCS_REPO.gsub(/\\/,'/').gsub(/^\//,'').gsub(' ', '%20')
|
17
|
+
|
18
|
+
HOME = TEMP_DIR + '/home'
|
19
|
+
ENV['CERBERUS_HOME'] = HOME
|
20
|
+
ENV['CERBERUS_ENV'] = 'TEST'
|
21
|
+
|
22
|
+
def self.refresh_repos
|
23
|
+
FileUtils.rm_rf TEMP_DIR
|
24
|
+
FileUtils.mkpath SVN_REPO
|
25
|
+
`svnadmin create "#{SVN_REPO}"`
|
26
|
+
`svnadmin load "#{SVN_REPO}" < "#{File.dirname(__FILE__)}/data/subversion.dump"`
|
27
|
+
|
28
|
+
require 'rubygems'
|
29
|
+
require 'zip/zip'
|
30
|
+
FileUtils.mkpath DARCS_REPO
|
31
|
+
Zip::ZipFile::open("#{File.dirname(__FILE__)}/data/darcs.zip") {|zf|
|
32
|
+
zf.each { |e|
|
33
|
+
fpath = File.join(DARCS_REPO, e.name)
|
34
|
+
FileUtils.mkdir_p(File.dirname(fpath))
|
35
|
+
zf.extract(e, fpath)
|
36
|
+
}
|
37
|
+
}
|
38
|
+
end
|
39
|
+
|
40
|
+
refresh_repos
|
41
|
+
|
42
|
+
CERBERUS_PATH = File.expand_path(File.dirname(__FILE__) + '/../')
|
43
|
+
def run_cerb(args)
|
44
|
+
`ruby -I"#{CERBERUS_PATH}/lib" "#{CERBERUS_PATH}/bin/cerberus" #{args} 2>&1`
|
45
|
+
end
|
46
|
+
|
47
|
+
def add_test_case_to_project(project_name, content)
|
48
|
+
test_case_name = "#{HOME}/work/#{project_name}/sources/test/#{rand(10000)}_test.rb"
|
49
|
+
File.open(test_case_name, 'w') { |f|
|
50
|
+
f << "require 'test/unit'
|
51
|
+
|
52
|
+
class A#{rand(10000)}Test < Test::Unit::TestCase
|
53
|
+
def test_ok
|
54
|
+
#{content}
|
55
|
+
end
|
56
|
+
end"
|
57
|
+
}
|
58
|
+
|
59
|
+
if block_given?
|
60
|
+
yield
|
61
|
+
FileUtils.rm test_case_name
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
def add_application(app_name, url, options = {})
|
66
|
+
opt = {'scm'=>{'url'=>url},
|
67
|
+
'publisher'=>{
|
68
|
+
'mail'=>{'recipients'=>'somebody@com.com', 'delivery_method' => 'test'}
|
69
|
+
}}
|
70
|
+
|
71
|
+
opt.deep_merge!(options)
|
72
|
+
|
73
|
+
dump_yml(HOME + "/config/#{app_name}.yml", opt)
|
74
|
+
|
75
|
+
FileUtils.rm_rf HOME + "/work/#{app_name}"
|
76
|
+
end
|
77
|
+
|
78
|
+
def add_config(options)
|
79
|
+
dump_yml(HOME + "/config.yml", options)
|
80
|
+
end
|
81
|
+
|
82
|
+
# Overrides the method +method_name+ in +obj+ with the passed block
|
83
|
+
def override_method(obj, method_name, &block)
|
84
|
+
# Get the singleton class/eigenclass for 'obj'
|
85
|
+
klass = class <<obj; self; end
|
86
|
+
|
87
|
+
# Undefine the old method (using 'send' since 'undef_method' is protected)
|
88
|
+
klass.send(:undef_method, method_name)
|
89
|
+
|
90
|
+
# Create the new method
|
91
|
+
klass.send(:define_method, method_name, block)
|
92
|
+
end
|
93
|
+
|
94
|
+
def build_successful?(file_name)
|
95
|
+
data = YAML.load(IO.read(file_name))
|
96
|
+
assert_kind_of Hash, data
|
97
|
+
data['successful']
|
98
|
+
end
|
99
|
+
|
100
|
+
def build_status(successful)
|
101
|
+
Cerberus::Status.new('state' => successful)
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
105
|
+
require 'cerberus/config'
|
metadata
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.9.
|
2
|
+
rubygems_version: 0.9.4
|
3
3
|
specification_version: 1
|
4
4
|
name: cerberus
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.3.
|
7
|
-
date: 2007-
|
6
|
+
version: 0.3.6
|
7
|
+
date: 2007-07-17 00:00:00 +04:00
|
8
8
|
summary: Cerberus is a Continuous Integration tool that could be easily run from Cron.
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -31,56 +31,56 @@ authors:
|
|
31
31
|
files:
|
32
32
|
- bin/cerberus
|
33
33
|
- lib/cerberus
|
34
|
-
- lib/cerberus/
|
34
|
+
- lib/cerberus/scm
|
35
|
+
- lib/cerberus/manager.rb
|
36
|
+
- lib/cerberus/config.rb
|
35
37
|
- lib/cerberus/cli.rb
|
38
|
+
- lib/cerberus/constants.rb
|
36
39
|
- lib/cerberus/component_lazy_loader.rb
|
37
40
|
- lib/cerberus/config.example.yml
|
38
|
-
- lib/cerberus/config.rb
|
39
|
-
- lib/cerberus/config_migration.rb
|
40
|
-
- lib/cerberus/constants.rb
|
41
|
-
- lib/cerberus/helper
|
42
|
-
- lib/cerberus/latch.rb
|
43
|
-
- lib/cerberus/manager.rb
|
44
41
|
- lib/cerberus/publisher
|
45
|
-
- lib/cerberus/
|
42
|
+
- lib/cerberus/latch.rb
|
43
|
+
- lib/cerberus/config_migration.rb
|
44
|
+
- lib/cerberus/builder
|
46
45
|
- lib/cerberus/utils.rb
|
47
|
-
- lib/cerberus/
|
48
|
-
- lib/cerberus/
|
49
|
-
- lib/cerberus/
|
50
|
-
- lib/cerberus/
|
51
|
-
- lib/cerberus/builder/rant.rb
|
52
|
-
- lib/cerberus/builder/ruby_base.rb
|
53
|
-
- lib/cerberus/helper/xchar.rb
|
54
|
-
- lib/cerberus/publisher/base.rb
|
55
|
-
- lib/cerberus/publisher/campfire.rb
|
56
|
-
- lib/cerberus/publisher/irc.rb
|
46
|
+
- lib/cerberus/scm/darcs.rb
|
47
|
+
- lib/cerberus/scm/cvs.rb
|
48
|
+
- lib/cerberus/scm/svn.rb
|
49
|
+
- lib/cerberus/scm/perforce.rb
|
57
50
|
- lib/cerberus/publisher/jabber.rb
|
51
|
+
- lib/cerberus/publisher/campfire.rb
|
58
52
|
- lib/cerberus/publisher/mail.rb
|
59
|
-
- lib/cerberus/publisher/
|
53
|
+
- lib/cerberus/publisher/irc.rb
|
60
54
|
- lib/cerberus/publisher/rss.rb
|
61
|
-
- lib/cerberus/
|
62
|
-
- lib/cerberus/
|
63
|
-
- lib/cerberus/
|
64
|
-
- lib/cerberus/
|
65
|
-
-
|
66
|
-
-
|
55
|
+
- lib/cerberus/publisher/netsmtp_tls_fix.rb
|
56
|
+
- lib/cerberus/publisher/base.rb
|
57
|
+
- lib/cerberus/publisher/gmailer.rb
|
58
|
+
- lib/cerberus/builder/rake.rb
|
59
|
+
- lib/cerberus/builder/rant.rb
|
60
|
+
- lib/cerberus/builder/rspec.rb
|
61
|
+
- lib/cerberus/builder/ruby_base.rb
|
62
|
+
- lib/cerberus/builder/maven2.rb
|
63
|
+
- lib/cerberus/builder/base.rb
|
64
|
+
- lib/cerberus/builder/bjam.rb
|
67
65
|
- test/data
|
68
|
-
- test/
|
69
|
-
- test/
|
66
|
+
- test/mock
|
67
|
+
- test/bjam_builder_test.rb
|
70
68
|
- test/irc_publisher_test.rb
|
71
|
-
- test/
|
69
|
+
- test/config_test.rb
|
70
|
+
- test/rss_publisher_test.rb
|
72
71
|
- test/mail_publisher_test.rb
|
73
|
-
- test/maven2_builer_test.rb
|
74
|
-
- test/mock
|
75
72
|
- test/perforce_scm_test.rb
|
76
|
-
- test/
|
73
|
+
- test/jabber_publisher_test.rb
|
74
|
+
- test/maven2_builer_test.rb
|
77
75
|
- test/test_helper.rb
|
78
|
-
- test/
|
76
|
+
- test/integration_test.rb
|
77
|
+
- test/functional_test.rb
|
79
78
|
- test/data/subversion.dump
|
80
|
-
- test/
|
79
|
+
- test/data/darcs.zip
|
81
80
|
- test/mock/manager.rb
|
82
|
-
- test/mock/marshmallow.rb
|
83
81
|
- test/mock/xmpp4r.rb
|
82
|
+
- test/mock/irc.rb
|
83
|
+
- test/mock/marshmallow.rb
|
84
84
|
- LICENSE
|
85
85
|
- README
|
86
86
|
- CHANGES
|
@@ -106,7 +106,16 @@ dependencies:
|
|
106
106
|
requirements:
|
107
107
|
- - ">="
|
108
108
|
- !ruby/object:Gem::Version
|
109
|
-
version: 1.3.
|
109
|
+
version: 1.3.3
|
110
|
+
version:
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: activesupport
|
113
|
+
version_requirement:
|
114
|
+
version_requirements: !ruby/object:Gem::Version::Requirement
|
115
|
+
requirements:
|
116
|
+
- - ">="
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: 1.4.2
|
110
119
|
version:
|
111
120
|
- !ruby/object:Gem::Dependency
|
112
121
|
name: rake
|
@@ -115,7 +124,7 @@ dependencies:
|
|
115
124
|
requirements:
|
116
125
|
- - ">="
|
117
126
|
- !ruby/object:Gem::Version
|
118
|
-
version: 0.7.
|
127
|
+
version: 0.7.3
|
119
128
|
version:
|
120
129
|
- !ruby/object:Gem::Dependency
|
121
130
|
name: xmpp4r
|
@@ -124,7 +133,7 @@ dependencies:
|
|
124
133
|
requirements:
|
125
134
|
- - ">="
|
126
135
|
- !ruby/object:Gem::Version
|
127
|
-
version:
|
136
|
+
version: 0.3.1
|
128
137
|
version:
|
129
138
|
- !ruby/object:Gem::Dependency
|
130
139
|
name: Ruby-IRC
|
@@ -135,3 +144,12 @@ dependencies:
|
|
135
144
|
- !ruby/object:Gem::Version
|
136
145
|
version: 1.0.7
|
137
146
|
version:
|
147
|
+
- !ruby/object:Gem::Dependency
|
148
|
+
name: gmailer
|
149
|
+
version_requirement:
|
150
|
+
version_requirements: !ruby/object:Gem::Version::Requirement
|
151
|
+
requirements:
|
152
|
+
- - ">="
|
153
|
+
- !ruby/object:Gem::Version
|
154
|
+
version: 0.1.7
|
155
|
+
version:
|