gerouter 0.1.1 → 0.2.0

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 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