cerberus 0.3.5 → 0.3.6
Sign up to get free protection for your applications and to get access to all the features.
- 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:
|