gerouter 0.0.3 → 0.0.4
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/Gemfile.lock +5 -5
- data/README.md +8 -6
- data/lib/ger/constants.rb +1 -0
- data/lib/ger/gerrit.rb +5 -0
- data/lib/ger/router.rb +13 -1
- data/lib/ger/version.rb +1 -1
- data/lib/ger.rb +1 -0
- metadata +2 -2
data/Gemfile.lock
CHANGED
@@ -9,13 +9,13 @@ PATH
|
|
9
9
|
GEM
|
10
10
|
remote: http://rubygems.org/
|
11
11
|
specs:
|
12
|
-
amq-client (0.9.
|
13
|
-
amq-protocol (>= 1.0
|
12
|
+
amq-client (0.9.12)
|
13
|
+
amq-protocol (>= 1.2.0)
|
14
14
|
eventmachine
|
15
15
|
amq-protocol (1.2.0)
|
16
|
-
amqp (0.9.
|
17
|
-
amq-client (~> 0.9.
|
18
|
-
amq-protocol (
|
16
|
+
amqp (0.9.9)
|
17
|
+
amq-client (~> 0.9.12)
|
18
|
+
amq-protocol (~> 1.2.0)
|
19
19
|
eventmachine
|
20
20
|
em-ssh (0.4.3)
|
21
21
|
eventmachine
|
data/README.md
CHANGED
@@ -98,17 +98,19 @@ The above is also stored in [here][samples].
|
|
98
98
|
* gerrits can share one broker
|
99
99
|
|
100
100
|
|
101
|
-
|
101
|
+
Additional attribute in Gerrit event
|
102
102
|
---------------------------
|
103
103
|
|
104
|
-
As below, gerouter
|
104
|
+
As below, gerouter adds `misc` attribute into Gerrit event then send to broker.
|
105
105
|
|
106
106
|
```json
|
107
107
|
{
|
108
|
-
"provider":
|
109
|
-
"
|
110
|
-
"host":"gerrit
|
111
|
-
"
|
108
|
+
"provider": {
|
109
|
+
"name":"gerrit name in config"
|
110
|
+
"host":"gerrit host",
|
111
|
+
"port":"gerrit port",
|
112
|
+
"version":"gerrit version"
|
113
|
+
}
|
112
114
|
}
|
113
115
|
```
|
114
116
|
|
data/lib/ger/constants.rb
CHANGED
data/lib/ger/gerrit.rb
CHANGED
@@ -6,6 +6,7 @@ module GerritEventRouter
|
|
6
6
|
class Config < GerritEventRouter::Config::Base
|
7
7
|
DEFAULT_PORT = 29418
|
8
8
|
COMMAND = 'gerrit stream-events'
|
9
|
+
VERSION = 'gerrit version'
|
9
10
|
|
10
11
|
def initialize(name, uri, ssh_keys, broker, routing_key)
|
11
12
|
super(name, uri)
|
@@ -26,6 +27,10 @@ module GerritEventRouter
|
|
26
27
|
COMMAND
|
27
28
|
end
|
28
29
|
|
30
|
+
def version
|
31
|
+
VERSION
|
32
|
+
end
|
33
|
+
|
29
34
|
def header
|
30
35
|
Gerrit::HEADER
|
31
36
|
end
|
data/lib/ger/router.rb
CHANGED
@@ -45,6 +45,8 @@ module GerritEventRouter
|
|
45
45
|
ssh_options = { :port => uri.port }
|
46
46
|
ssh_options[:keys] = @gerrit.ssh_keys if @gerrit.ssh_keys
|
47
47
|
|
48
|
+
provider = {"name" => @gerrit.name, "host" => uri.host, "port" => uri.port.to_s}
|
49
|
+
|
48
50
|
EM.run do
|
49
51
|
EM::Ssh.start(uri.host, uri.user, ssh_options) do |connection|
|
50
52
|
connection.errback do |err|
|
@@ -59,12 +61,22 @@ module GerritEventRouter
|
|
59
61
|
GER.logger.info("#{@broker.header} connection established.")
|
60
62
|
GER.logger.debug("#{@broker.header} channel id = #{broker.channel.id}")
|
61
63
|
|
64
|
+
session.exec(@gerrit.version) do |channel, stream, data|
|
65
|
+
if data then
|
66
|
+
version = data.strip.delete("gerrit version")
|
67
|
+
provider["version"] = version
|
68
|
+
GER.logger.info("version: #{version}")
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
62
72
|
session.exec(@gerrit.command) do |channel, stream, data|
|
63
73
|
channel.on_data do |ch, data|
|
64
74
|
if @broker.mode == "raw" then
|
65
75
|
str = %Q(#{data.strip})
|
66
76
|
else
|
67
|
-
|
77
|
+
json = JSON.parse(data.strip)
|
78
|
+
json["provider"] = provider
|
79
|
+
str = JSON.generate(json)
|
68
80
|
end
|
69
81
|
broker.send(str, :routing_key => @gerrit.routing_key)
|
70
82
|
end
|
data/lib/ger/version.rb
CHANGED
data/lib/ger.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gerouter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
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: 2013-02-
|
12
|
+
date: 2013-02-27 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: eventmachine
|