gerouter 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6b9a9ac7f22e95228f7b7cea01cb7af229e061ae
4
- data.tar.gz: 673a7070d651f672bfd7840c79bc8075f8009c10
3
+ metadata.gz: b01a42a377006d4daaf42773d939651f36bba5a5
4
+ data.tar.gz: 1fb063d559c84e3748983fa6faa52cd789a403b7
5
5
  SHA512:
6
- metadata.gz: 3ec5f2cb41c73a4bb94041ae9ec35b5e5625a999970750f63219a4ae6cc91f72a03993fe40ebc5a23ab94d4e1dd2d3d3de86237628a428dd342b43ef5a1e89f5
7
- data.tar.gz: c680bdf4b81588ab05c7220beb444d35984b6009d2833b1fee31cd68418f9d188270f73e30049d4b0b00134e7cf8cef9ab086240cc71a77c24f454804075de85
6
+ metadata.gz: 9eacfc8e71abe6139aec05bfc477aea431b1a9678e57ff19f11ea885346abd8bb80a1523c9f08ca3c93fea2ae408b922978e738ca6e68f246f040cee789a4f26
7
+ data.tar.gz: 8eaa503b333b1563c4b4a2c097743ffe800e676beb3bd7a512a641ee6a987ef796f020a06724474e35bccd1468d372a08b6b8968d7dea89b3c5297e02dc30283
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- gerouter (0.1.0)
4
+ gerouter (0.1.1)
5
5
  amqp
6
6
  em-ssh
7
7
  eventmachine
@@ -9,19 +9,15 @@ PATH
9
9
  GEM
10
10
  remote: https://rubygems.org/
11
11
  specs:
12
- amq-client (1.0.2)
13
- amq-protocol (>= 1.2.0)
12
+ amq-protocol (1.9.2)
13
+ amqp (1.2.0)
14
+ amq-protocol (>= 1.9.2)
14
15
  eventmachine
15
- amq-protocol (1.6.0)
16
- amqp (1.0.2)
17
- amq-client (~> 1.0.2)
18
- amq-protocol (>= 1.3.0)
19
- eventmachine
20
- em-ssh (0.6.2)
16
+ em-ssh (0.6.5)
21
17
  eventmachine
22
18
  net-ssh
23
19
  eventmachine (1.0.3)
24
- net-ssh (2.6.8)
20
+ net-ssh (2.7.0)
25
21
 
26
22
  PLATFORMS
27
23
  ruby
data/README.md CHANGED
@@ -114,6 +114,22 @@ app_id: gerouter
114
114
 
115
115
  You can change app_id to your own id using `-i` option.
116
116
 
117
+ And, `headers`property is added as below.
118
+
119
+ ```json
120
+ {
121
+ "headers": {
122
+ "gerrit-name":"<gerrit name in config>",
123
+ "gerrit-host":"<gerrit host>",
124
+ "gerrit-port":"<gerrit port>",
125
+ "gerrit-scheme":"ssh",
126
+ "gerrit-front-url":"<gerrit frontend url>",
127
+ "gerrit-version":"<gerrit version>",
128
+ "event_id":"<SHA256 message digest (generated from origin event)>"
129
+ }
130
+ }
131
+ ```
132
+
117
133
  Additional attribute in Gerrit event
118
134
  ---------------------------
119
135
 
@@ -125,7 +141,7 @@ As below, gerouter adds `provider` attribute into Gerrit event then send to brok
125
141
  "name":"<gerrit name in config>",
126
142
  "host":"<gerrit host>",
127
143
  "port":"<gerrit port>",
128
- "proto":"ssh",
144
+ "scheme":"ssh",
129
145
  "url":"<gerrit frontend url>",
130
146
  "version":"<gerrit version>",
131
147
  "event_id":"<SHA256 message digest (generated from origin event)>"
@@ -21,7 +21,8 @@ module GerritEventRouter
21
21
  super(broker)
22
22
  @headers = {
23
23
  :content_type => 'application/json',
24
- :app_id => GER::NAME.downcase
24
+ :app_id => GER::NAME.downcase,
25
+ :persistent => true
25
26
  }
26
27
  uri = URI.parse(@broker.uri)
27
28
  @headers[:user_id] = uri.user if uri.user
@@ -66,7 +67,7 @@ module GerritEventRouter
66
67
 
67
68
  def generate_channel(connection = nil)
68
69
  conn = connection || @connection
69
- channel = ::AMQP::Channel.new(conn, ::AMQP::Channel.next_channel_id)
70
+ channel = ::AMQP::Channel.new(conn)
70
71
  channel.auto_recovery = true
71
72
  channel.on_error do |ch, channel_close|
72
73
  raise channel_close.reply_text
@@ -74,7 +75,9 @@ module GerritEventRouter
74
75
 
75
76
  @exchange = ::AMQP::Exchange.new(channel,
76
77
  @broker.exchange['type'].to_sym,
77
- @broker.exchange['name'])
78
+ @broker.exchange['name'],
79
+ :durable => true,
80
+ :auto_delete => false)
78
81
  end
79
82
 
80
83
  def conn_failure(err)
@@ -18,6 +18,18 @@ module GerritEventRouter
18
18
  end
19
19
  end
20
20
 
21
+ def header(provider)
22
+ headers = {
23
+ "gerrit-name" => provider["name"],
24
+ "gerrit-host" => provider["host"],
25
+ "gerrit-scheme" => provider["scheme"],
26
+ "gerrit-port" => provider["port"],
27
+ "gerrit-front-url" => provider["url"],
28
+ "gerrit-version" => provider["version"]
29
+ }
30
+ return headers
31
+ end
32
+
21
33
  def start
22
34
  raise "Router still not be configured" unless @configured
23
35
 
@@ -56,7 +68,7 @@ module GerritEventRouter
56
68
  "name" => @gerrit.name,
57
69
  "host" => uri.host,
58
70
  "port" => uri.port.to_s,
59
- "proto" => "ssh",
71
+ "scheme" => "ssh",
60
72
  "url" => @gerrit.weburl
61
73
  }
62
74
 
@@ -92,7 +104,7 @@ module GerritEventRouter
92
104
  json["provider"] = provider
93
105
  str = JSON.generate(json)
94
106
  end
95
- broker.send(str, :app_id => @appid, :routing_key => @gerrit.routing_key)
107
+ broker.send(str, :app_id => @appid, :routing_key => @gerrit.routing_key, :headers => header(provider))
96
108
  end
97
109
  end
98
110
  end
@@ -1,4 +1,4 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  module GerritEventRouter
3
- VERSION = "0.1.1"
3
+ VERSION = "0.2.0"
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gerouter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - rinrinne
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-07-30 00:00:00.000000000 Z
11
+ date: 2014-01-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: eventmachine