vx-worker 0.2.1 → 0.3.0.pre0
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.
- checksums.yaml +4 -4
- data/.gitignore +2 -0
- data/Gemfile +5 -0
- data/Vagrantfile +80 -0
- data/dist/build.sh +77 -0
- data/dist/debian/changelog.mk +6 -0
- data/dist/debian/ci_env +7 -0
- data/dist/debian/compat +1 -0
- data/dist/debian/control.mk +12 -0
- data/dist/debian/postrm +35 -0
- data/dist/debian/preinst +27 -0
- data/dist/debian/rules +22 -0
- data/dist/debian/script +6 -0
- data/dist/debian/source/format +1 -0
- data/dist/debian/upstart +18 -0
- data/lib/vx/worker/middlewares/update_job_status.rb +5 -5
- data/lib/vx/worker/version.rb +1 -1
- data/spec/support/shared_examples/update_job_status_message_spec.rb +4 -4
- data/vx-worker.gemspec +2 -4
- metadata +20 -36
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4a191dee94cb01a6620420e3739eab93dae138e1
|
4
|
+
data.tar.gz: 32849707818830f282a6af4c0f9e83d7cc9d7f91
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3a66ad52567249f726d3f685906e81b0bbc67bda4adeeab76fe0780f5ed05cf6a739f6c5854e46cbaa1f204d85d104e39d6ee777cb1677e35996f0c18632fcab
|
7
|
+
data.tar.gz: acd583b29ea3b59afd002c42ce87fc3e37f56f8fdfb6528d42e5bb1745aefa69488d2f78d85006512c98ddca51b11edcf627d3941290c01d9a705e95bab6ff9a
|
data/.gitignore
CHANGED
data/Gemfile
CHANGED
data/Vagrantfile
ADDED
@@ -0,0 +1,80 @@
|
|
1
|
+
# -*- mode: ruby -*-
|
2
|
+
# vi: set ft=ruby :
|
3
|
+
|
4
|
+
class CloudUbuntuVagrant < VagrantVbguest::Installers::Ubuntu
|
5
|
+
def install(opts=nil, &block)
|
6
|
+
communicate.sudo('sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list ', opts, &block)
|
7
|
+
communicate.sudo('apt-get update', opts, &block)
|
8
|
+
communicate.sudo('apt-get -y -q purge virtualbox-guest-dkms virtualbox-guest-utils virtualbox-guest-x11', opts, &block)
|
9
|
+
@vb_uninstalled = true
|
10
|
+
super
|
11
|
+
end
|
12
|
+
|
13
|
+
def running?(opts=nil, &block)
|
14
|
+
return false if @vb_uninstalled
|
15
|
+
super
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
|
20
|
+
VAGRANTFILE_API_VERSION = "2"
|
21
|
+
|
22
|
+
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
23
|
+
config.vm.box = 'precise64'
|
24
|
+
config.vm.box_url = 'http://cloud-images.ubuntu.com/vagrant/precise/current/precise-server-cloudimg-amd64-vagrant-disk1.box'
|
25
|
+
|
26
|
+
script =<<SCRIPT
|
27
|
+
set -e
|
28
|
+
|
29
|
+
cat > /etc/apt/sources.list << EOF
|
30
|
+
deb mirror://mirrors.ubuntu.com/mirrors.txt precise main restricted universe multiverse
|
31
|
+
deb mirror://mirrors.ubuntu.com/mirrors.txt precise-updates main restricted universe multiverse
|
32
|
+
deb mirror://mirrors.ubuntu.com/mirrors.txt precise-backports main restricted universe multiverse
|
33
|
+
deb mirror://mirrors.ubuntu.com/mirrors.txt precise-security main restricted universe multiverse
|
34
|
+
EOF
|
35
|
+
|
36
|
+
mkdir -p /etc/apt/sources.list.d
|
37
|
+
|
38
|
+
if [ ! -f /etc/apt/sources.list.d/vexor.list ] ; then
|
39
|
+
echo 'deb http://download.opensuse.org/repositories/home:/dmexe:/vexor:/testing/xUbuntu_12.04/ ./' > /etc/apt/sources.list.d/vexor.list
|
40
|
+
curl -s http://download.opensuse.org/repositories/home:/dmexe:/vexor:/testing/xUbuntu_12.04/Release.key | apt-key add -
|
41
|
+
fi
|
42
|
+
|
43
|
+
if [ ! -f /etc/apt/sources.list.d/osc.list ] ; then
|
44
|
+
echo 'deb http://download.opensuse.org/repositories/openSUSE:/Tools/xUbuntu_12.04/ ./' > /etc/apt/sources.list.d/osc.list
|
45
|
+
curl -s http://download.opensuse.org/repositories/openSUSE:/Tools/xUbuntu_12.04/Release.key | apt-key add -
|
46
|
+
fi
|
47
|
+
|
48
|
+
apt-get -qqy update > /dev/null
|
49
|
+
apt-get -qy install osc build vx-embeded-ruby vx-embeded-bundler git-core devscripts debhelper > /dev/null
|
50
|
+
apt-get -qy autoremove > /dev/null
|
51
|
+
|
52
|
+
function sd () {
|
53
|
+
sudo su -c "$1" vagrant
|
54
|
+
}
|
55
|
+
|
56
|
+
if [ ! -d home:dmexe:vexor:testing ] ; then
|
57
|
+
pushd /home/vagrant
|
58
|
+
sd "osc co home:dmexe:vexor:testing"
|
59
|
+
popd
|
60
|
+
fi
|
61
|
+
|
62
|
+
pushd /vagrant/.tmp/
|
63
|
+
sudo su -c "sh build.sh" vagrant
|
64
|
+
popd
|
65
|
+
|
66
|
+
pushd /home/vagrant/home:dmexe:vexor:testing/vx-worker
|
67
|
+
sd "rm -rf vx-worker_*"
|
68
|
+
sd "cp /vagrant/.tmp/vx-worker_* ."
|
69
|
+
status=$(sudo su -c "osc st" vagrant)
|
70
|
+
if [ ! -z "${status}" ] ; then
|
71
|
+
echo "changes detected: ${status}"
|
72
|
+
sd "osc addremove"
|
73
|
+
sd "osc ci -m 'bump'"
|
74
|
+
fi
|
75
|
+
popd
|
76
|
+
|
77
|
+
SCRIPT
|
78
|
+
|
79
|
+
config.vm.provision :shell, :inline => script
|
80
|
+
end
|
data/dist/build.sh
ADDED
@@ -0,0 +1,77 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
set -e
|
4
|
+
|
5
|
+
PACKAGE_NAME="vx-worker"
|
6
|
+
|
7
|
+
GIT_LAST_LOG=$(git log -n1 --format=oneline)
|
8
|
+
GIT_BUILD_NUMBER=$(git rev-list HEAD | wc -l | sed -e 's/ *//g' | xargs -n1 printf %04d)
|
9
|
+
GIT_LAST_TAG=$(git describe --abbrev=0 --tags)
|
10
|
+
GIT_VERSION=$(echo $GIT_LAST_TAG | sed -e "s/^v//g")
|
11
|
+
GIT_DATE=$(git log -n1 --format="%aD")
|
12
|
+
|
13
|
+
RELEASE_VERSION=$(echo $GIT_VERSION | ruby -e "puts Gem::Version.new(STDIN.read).release.to_s")
|
14
|
+
RELEASE_SHORT_VERSION=$(echo $GIT_VERSION | ruby -e "puts Gem::Version.new(STDIN.read).release.to_s.split('.')[0..1].join('.')")
|
15
|
+
|
16
|
+
VERSION="${RELEASE_VERSION}.rev${GIT_BUILD_NUMBER}"
|
17
|
+
PACKAGE_NAME_AND_VERSION="${PACKAGE_NAME}_${VERSION}"
|
18
|
+
WORKDIR=".tmp/${PACKAGE_NAME_AND_VERSION}"
|
19
|
+
|
20
|
+
function notice() {
|
21
|
+
echo " ---> $1"
|
22
|
+
}
|
23
|
+
|
24
|
+
function git_export () {
|
25
|
+
rm -rf .tmp
|
26
|
+
mkdir -p $WORKDIR
|
27
|
+
notice "export code to $WORKDIR"
|
28
|
+
git archive master | tar -x -C $WORKDIR
|
29
|
+
}
|
30
|
+
|
31
|
+
function package_gems () {
|
32
|
+
notice "packaging gems"
|
33
|
+
(cd $WORKDIR && bundle package > /dev/null)
|
34
|
+
}
|
35
|
+
|
36
|
+
function generate_debian () {
|
37
|
+
notice "generating debian scripts"
|
38
|
+
|
39
|
+
dst=${WORKDIR}/debian
|
40
|
+
src=dist/debian
|
41
|
+
|
42
|
+
pushd .tmp > /dev/null
|
43
|
+
tar -czf "${PACKAGE_NAME_AND_VERSION}.orig.tar.gz" ${PACKAGE_NAME_AND_VERSION}
|
44
|
+
popd > /dev/null
|
45
|
+
|
46
|
+
cp -r $src $dst
|
47
|
+
|
48
|
+
cat $dst/control.mk | sed -e "s/%PACKAGE_NAME%/${PACKAGE_NAME}/g" > $dst/control
|
49
|
+
cat $dst/changelog.mk | sed -e "s/%VERSION%/${VERSION}/g" | sed -e "s/%DATE%/${GIT_DATE}/g" > $dst/changelog
|
50
|
+
}
|
51
|
+
|
52
|
+
function run_vagrant () {
|
53
|
+
notice "run build in vagrant"
|
54
|
+
|
55
|
+
cat > .tmp/build.sh <<EOF
|
56
|
+
set -e
|
57
|
+
set -x
|
58
|
+
|
59
|
+
(cd ${PACKAGE_NAME_AND_VERSION} && debuild -i -us -uc -S)
|
60
|
+
|
61
|
+
mv ${PACKAGE_NAME_AND_VERSION} work
|
62
|
+
EOF
|
63
|
+
vagrant up
|
64
|
+
vagrant provision
|
65
|
+
}
|
66
|
+
|
67
|
+
|
68
|
+
function build () {
|
69
|
+
notice "Building ${PACKAGE_NAME_AND_VERSION}"
|
70
|
+
|
71
|
+
git_export
|
72
|
+
package_gems
|
73
|
+
generate_debian
|
74
|
+
run_vagrant
|
75
|
+
}
|
76
|
+
|
77
|
+
build
|
data/dist/debian/ci_env
ADDED
data/dist/debian/compat
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
5
|
@@ -0,0 +1,12 @@
|
|
1
|
+
Source: vx-worker
|
2
|
+
Section: ruby
|
3
|
+
Priority: optional
|
4
|
+
Maintainer: Dmitry Galinsky <dima.exe@gmail.com>
|
5
|
+
Build-Depends: debhelper (>= 9.0), vx-embeded-ruby, vx-embeded-bundler, git-core
|
6
|
+
Standards-Version: 3.9.3
|
7
|
+
Homepage: http://www.ruby-lang.org/
|
8
|
+
|
9
|
+
Package: %PACKAGE_NAME%
|
10
|
+
Architecture: any
|
11
|
+
Depends: ${shlibs:Depends}, ${misc:Depends}, vx-embeded-ruby, vx-embeded-bundler, adduser
|
12
|
+
Description: Vexor worker.
|
data/dist/debian/postrm
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
set -e
|
4
|
+
|
5
|
+
# summary of how this script can be called:
|
6
|
+
# * <postrm> `remove'
|
7
|
+
# * <postrm> `purge'
|
8
|
+
# * <old-postrm> `upgrade' <new-version>
|
9
|
+
# * <new-postrm> `failed-upgrade' <old-version>
|
10
|
+
# * <new-postrm> `abort-install'
|
11
|
+
# * <new-postrm> `abort-install' <old-version>
|
12
|
+
# * <new-postrm> `abort-upgrade' <old-version>
|
13
|
+
# * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version>
|
14
|
+
# for details, see http://www.debian.org/doc/debian-policy/ or
|
15
|
+
# the debian-policy package
|
16
|
+
|
17
|
+
case "$1" in
|
18
|
+
purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
|
19
|
+
if test "x$1" == "xpurge"
|
20
|
+
then
|
21
|
+
userdel -r vx-worker || true
|
22
|
+
rm -rf /var/lib/vexor/worker
|
23
|
+
rm -f /var/log/upstart/vx-worker.log
|
24
|
+
fi
|
25
|
+
;;
|
26
|
+
|
27
|
+
*)
|
28
|
+
echo "postrm called with unknown argument \`$1'" >&2
|
29
|
+
exit 0
|
30
|
+
esac
|
31
|
+
|
32
|
+
#DEBHELPER#
|
33
|
+
|
34
|
+
exit 0
|
35
|
+
|
data/dist/debian/preinst
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
set -e
|
4
|
+
|
5
|
+
# summary of how this script can be called:
|
6
|
+
# * <new-preinst> `install'
|
7
|
+
# * <new-preinst> `install' <old-version>
|
8
|
+
# * <new-preinst> `upgrade' <old-version>
|
9
|
+
# * <old-preinst> `abort-upgrade' <new-version>
|
10
|
+
#
|
11
|
+
# for details, see http://www.debian.org/doc/debian-policy/ or
|
12
|
+
# the debian-policy package
|
13
|
+
|
14
|
+
if [ "$1" == "install" ] || [ "$1" == "upgrade" ]; then
|
15
|
+
|
16
|
+
if ! id vx-worker 1> /dev/null 2>&1; then
|
17
|
+
groupadd -f -r vx-worker
|
18
|
+
useradd -d /var/lib/vexor/worker -g vx-worker -G docker -c "Vexor worker daemon" -s /usr/sbin/nologin -r vx-worker
|
19
|
+
fi
|
20
|
+
|
21
|
+
install -m 750 -o vx-worker -g vx-worker -d /var/lib/vexor/worker
|
22
|
+
fi
|
23
|
+
|
24
|
+
#DEBHELPER#
|
25
|
+
|
26
|
+
exit 0
|
27
|
+
|
data/dist/debian/rules
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
#!/usr/bin/make -f
|
2
|
+
# Sample debian/rules that uses debhelper.
|
3
|
+
# GNU copyright 1997 to 1999 by Joey Hess.
|
4
|
+
|
5
|
+
BUNDLE = /opt/vexor/bin/bundle
|
6
|
+
DIST = $(shell pwd)/debian/vx-worker/opt/vexor/worker
|
7
|
+
|
8
|
+
%:
|
9
|
+
dh $@
|
10
|
+
|
11
|
+
override_dh_auto_install:
|
12
|
+
$(BUNDLE) install --without development --local --standalone
|
13
|
+
mkdir -p $(DIST)
|
14
|
+
cp -r bin $(DIST)
|
15
|
+
cp -r docker $(DIST)
|
16
|
+
cp -r lib $(DIST)
|
17
|
+
cp -r bundle $(DIST)
|
18
|
+
rm -rf $(DIST)/debian
|
19
|
+
mkdir -p debian/vx-worker/etc/vexor
|
20
|
+
install -m 0644 debian/ci_env debian/vx-worker/etc/vexor/ci
|
21
|
+
mkdir -p debian/vx-worker/opt/vexor/bin
|
22
|
+
install -m 0755 debian/script debian/vx-worker/opt/vexor/bin/worker
|
data/dist/debian/script
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
1.0
|
data/dist/debian/upstart
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
description "start and stop the vexor worker"
|
2
|
+
version "1.0"
|
3
|
+
|
4
|
+
start on filesystem or runlevel [2345]
|
5
|
+
stop on runlevel [!2345]
|
6
|
+
|
7
|
+
respawn
|
8
|
+
|
9
|
+
console log
|
10
|
+
|
11
|
+
script
|
12
|
+
home=/var/lib/vexor/worker
|
13
|
+
user=vx-worker
|
14
|
+
command=/opt/vexor/bin/worker
|
15
|
+
|
16
|
+
chdir $home
|
17
|
+
su -s /bin/sh -c "exec $command" $user
|
18
|
+
end script
|
@@ -51,11 +51,11 @@ module Vx
|
|
51
51
|
def create_message(job, status)
|
52
52
|
tm = Time.now
|
53
53
|
Message::JobStatus.new(
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
54
|
+
project_id: job.message.project_id,
|
55
|
+
build_id: job.message.id,
|
56
|
+
job_id: job.message.job_id,
|
57
|
+
status: status,
|
58
|
+
tm: tm.to_i,
|
59
59
|
)
|
60
60
|
end
|
61
61
|
|
data/lib/vx/worker/version.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
shared_examples "UpdateJobStatus message" do
|
2
|
-
its(:
|
3
|
-
its(:
|
4
|
-
its(:
|
5
|
-
its(:tm)
|
2
|
+
its(:project_id) { should eq job.message.project_id }
|
3
|
+
its(:build_id) { should eq job.message.id }
|
4
|
+
its(:job_id) { should eq job.message.job_id }
|
5
|
+
its(:tm) { should be }
|
6
6
|
end
|
data/vx-worker.gemspec
CHANGED
@@ -19,13 +19,11 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
21
|
spec.add_runtime_dependency 'vx-common', "= 0.2.1"
|
22
|
-
spec.add_runtime_dependency 'vx-message', "= 0.
|
23
|
-
spec.add_runtime_dependency 'vx-container_connector', "= 0.2.
|
22
|
+
spec.add_runtime_dependency 'vx-message', "= 0.4.1"
|
23
|
+
spec.add_runtime_dependency 'vx-container_connector', "= 0.2.3"
|
24
24
|
spec.add_runtime_dependency 'vx-common-amqp', '~> 0.2.6'
|
25
25
|
spec.add_runtime_dependency 'hashr', '= 0.0.22'
|
26
26
|
|
27
27
|
spec.add_development_dependency "bundler", "~> 1.3"
|
28
28
|
spec.add_development_dependency "rake"
|
29
|
-
spec.add_development_dependency "rspec"
|
30
|
-
spec.add_development_dependency "rr"
|
31
29
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vx-worker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0.pre0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dmitry Galinsky
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-01-
|
11
|
+
date: 2014-01-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: vx-common
|
@@ -30,28 +30,28 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - '='
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.
|
33
|
+
version: 0.4.1
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - '='
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.
|
40
|
+
version: 0.4.1
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: vx-container_connector
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - '='
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.2.
|
47
|
+
version: 0.2.3
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - '='
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0.2.
|
54
|
+
version: 0.2.3
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: vx-common-amqp
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -108,34 +108,6 @@ dependencies:
|
|
108
108
|
- - '>='
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: rspec
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - '>='
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: '0'
|
118
|
-
type: :development
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
requirements:
|
122
|
-
- - '>='
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: '0'
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
name: rr
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - '>='
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: '0'
|
132
|
-
type: :development
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
135
|
-
requirements:
|
136
|
-
- - '>='
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: '0'
|
139
111
|
description: ' ci worker '
|
140
112
|
email:
|
141
113
|
- dima.exe@gmail.com
|
@@ -150,7 +122,19 @@ files:
|
|
150
122
|
- Gemfile
|
151
123
|
- LICENSE.txt
|
152
124
|
- Rakefile
|
125
|
+
- Vagrantfile
|
153
126
|
- bin/vx-worker
|
127
|
+
- dist/build.sh
|
128
|
+
- dist/debian/changelog.mk
|
129
|
+
- dist/debian/ci_env
|
130
|
+
- dist/debian/compat
|
131
|
+
- dist/debian/control.mk
|
132
|
+
- dist/debian/postrm
|
133
|
+
- dist/debian/preinst
|
134
|
+
- dist/debian/rules
|
135
|
+
- dist/debian/script
|
136
|
+
- dist/debian/source/format
|
137
|
+
- dist/debian/upstart
|
154
138
|
- docker/.gitignore
|
155
139
|
- docker/Dockerfile
|
156
140
|
- docker/build.sh
|
@@ -226,9 +210,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
226
210
|
version: '0'
|
227
211
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
228
212
|
requirements:
|
229
|
-
- - '
|
213
|
+
- - '>'
|
230
214
|
- !ruby/object:Gem::Version
|
231
|
-
version:
|
215
|
+
version: 1.3.1
|
232
216
|
requirements: []
|
233
217
|
rubyforge_project:
|
234
218
|
rubygems_version: 2.0.14
|