omf_common 6.2.0.pre.2 → 6.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- YmU3MzM4YzI4ZDI3MmQ0OTIwZTk2NjYxYTcyMTkzNjkwYTJjOGJmZg==
4
+ YjJhMzc2NmQ5MWVhMzVmODhmZjZhMmI2YzFjZmJlMDdmZGM3YzU3MQ==
5
5
  data.tar.gz: !binary |-
6
- OTBjZDRlMzMxZGZhNDdlN2M4YzQ1ZDExNjZhODQxOWE3MWIxZDM5OA==
6
+ ZTQ0MGMyMjkwOWRmMDY5MjZlMjZlYjFkODQzZDkwMTlhMzE5ODVkNA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- N2RmM2VjNmU5MWNlMjI0ZjYzNTU2MzhhMWI4NzI5N2JlNjg2MzcwOWMxNTVi
10
- YzdiMjJlMDM5YzBhYWY0YWMxYWE4Mzc4NDFlMTc0YTEwY2M1MDMyNDc4OWMz
11
- ZjQzZmE0MWRlYjJjYWU4NWY1MzhkMGRiMDJlYmRiMThkYTY2MTg=
9
+ MDIwYWY5YTIwYzdkNDNjNzNjNDM2NTM3NmY0NGUxNjMzYWZkYmIzMTM1ZGRi
10
+ OTI3NjE5ODdlNzE2ZTk2MDk0Y2EzMDBiNWY1NjdjMzVhMmM5ZDFjYTk5NGVi
11
+ NjUzOTU3ZGIyYTgyODY0ZmIzZWM3ODllM2ZkZWYzM2ViNWVmZGM=
12
12
  data.tar.gz: !binary |-
13
- Nzg4NDc4NzdmMWE0YTkwM2RlYWY4MzRlOWMxMmM1YmQ4Mjg5NWNjY2E1ZTUy
14
- NTM0YmIyNzMzN2Q0M2M2Mzc2MWRhNDZjYjcwZmMzZmYwZjhlMTQ0ODVlY2Qy
15
- MzEyODA5ZDllNjZkMGI4NzdiMzExY2UxYTc4NTMwMmVmZWFlYTQ=
13
+ NWZmMDhhODE4OTRmYzExYWUwZWIwNmMwMjMwMTM1M2I4NzY1ZWYxZmVmNmU4
14
+ MTFjZGIwOTg3NGUzNGU3ZTY5ODk0NjllOTQ3NDJlOTYwMjc2NjA3MjVhOThl
15
+ ODU4NTU2ZDFjZDk2OGYxZDA0ZTFlMzU1Njk4NDFkYTNjZjk0MmE=
@@ -37,6 +37,11 @@ module OmfCommon
37
37
  end
38
38
  end
39
39
 
40
+ def unsubscribe(key)
41
+ super
42
+ @exchange.delete
43
+ end
44
+
40
45
 
41
46
  private
42
47
 
@@ -49,32 +54,22 @@ module OmfCommon
49
54
  @lock = Monitor.new
50
55
  @subscribed = false
51
56
  @on_subscribed_handlers = []
52
- @routing_key = opts[:routing_key]
57
+ # Monitor o.op & o.info by default
58
+ @routing_key = opts[:routing_key] || "o.*"
53
59
 
54
- # @communicator.on_reconnect(self) do
55
- # info "Resubscribe '#{self}'"
56
- # _init_amqp
57
- # end
58
60
  _init_amqp
59
61
  end
60
62
 
61
63
  def _init_amqp()
62
64
  channel = @communicator.channel
63
65
  @exchange = channel.topic(id, :auto_delete => true)
64
- # @exchange.on_connection_interruption do |ex|
65
- # warn "Exchange #{ex.name} detected connection interruption"
66
- # @exchange = nil
67
- # end
68
66
  channel.queue("", :exclusive => true, :auto_delete => true) do |queue|
69
- #puts "QQ1(#{id}): #{queue}"
70
67
  queue.bind(@exchange, routing_key: @routing_key)
71
68
 
72
69
  queue.subscribe do |headers, payload|
73
- #puts "===(#{id}) Incoming message '#{headers.content_type}'"
74
70
  debug "Received message on #{@address} | #{@routing_key}"
75
71
  MPReceived.inject(Time.now.to_f, @address, payload.to_s[/mid\":\"(.{36})/, 1]) if OmfCommon::Measure.enabled?
76
72
  Message.parse(payload, headers.content_type) do |msg|
77
- #puts "---(#{id}) Parsed message '#{msg}'"
78
73
  on_incoming_message(msg)
79
74
  end
80
75
  end
@@ -87,7 +87,7 @@ class XMPP
87
87
  OmfCommon.comm.topic_event(default_guard, &event_block)
88
88
  end
89
89
 
90
- def _send_message(msg, block)
90
+ def _send_message(msg, opts = {}, block)
91
91
  super
92
92
  OmfCommon.comm.publish(self.id, msg, pubsub_domain_addr)
93
93
  end
@@ -46,10 +46,14 @@ class ExecApp
46
46
  # @param [String] id of the application to return
47
47
  def self.[](id)
48
48
  app = @@all_apps[id]
49
- logger.info "Unknown application '#{id}/#{id.class}'" if app.nil?
49
+ warn "Unknown application '#{id}/#{id.class}'" if app.nil?
50
50
  return app
51
51
  end
52
52
 
53
+ def self.has?(id)
54
+ @@all_apps.has_key?(id)
55
+ end
56
+
53
57
  def self.signal_all(signal = 'KILL')
54
58
  @@all_apps.each_value { |app| app.signal(signal) }
55
59
  end
@@ -168,6 +168,10 @@ module OmfCommon
168
168
  OmfCommon.comm.create_topic(name)
169
169
  end
170
170
 
171
+ def resource_address
172
+ _get_property(:res_id)
173
+ end
174
+
171
175
  def success?
172
176
  ! error?
173
177
  end
data/omf_common.gemspec CHANGED
@@ -21,7 +21,7 @@ Gem::Specification.new do |s|
21
21
  s.require_paths = ["lib"]
22
22
 
23
23
  # specify any dependencies here; for example:
24
- s.add_development_dependency "minitest"
24
+ s.add_development_dependency "minitest", "~> 5.5.1"
25
25
  s.add_development_dependency "evented-spec", "~> 1.0.0.beta"
26
26
  s.add_development_dependency "simplecov"
27
27
  s.add_development_dependency "pry"
@@ -4,6 +4,7 @@
4
4
  # By downloading or using this software you accept the terms and the liability disclaimer in the License.
5
5
 
6
6
  require 'test_helper'
7
+ require 'omf_common/message/json/json_message'
7
8
 
8
9
  describe OmfCommon::Comm::Topic do
9
10
  describe "when using factory method to initialise" do
@@ -28,6 +28,7 @@ describe "Using XMPP communicator" do
28
28
  end
29
29
 
30
30
  it "must allow you to connect" do
31
+ skip
31
32
  @xmpp_comm.on_connected do |c|
32
33
  assert_equal :xmpp, c.conn_info[:proto]
33
34
  assert_match /#{Socket.gethostname}/, c.conn_info[:user]
@@ -37,6 +38,7 @@ describe "Using XMPP communicator" do
37
38
  end
38
39
 
39
40
  it "must construct topic address string" do
41
+ skip
40
42
  @xmpp_comm.on_connected do |c|
41
43
  t_name = SecureRandom.uuid
42
44
  # TODO This format is different to AMQP
@@ -46,6 +48,7 @@ describe "Using XMPP communicator" do
46
48
  end
47
49
 
48
50
  it "must allow you to create a new pubsub topic" do
51
+ skip
49
52
  @xmpp_comm.on_connected do |c|
50
53
  t_name = SecureRandom.uuid.to_sym
51
54
  c.create_topic(t_name)
@@ -30,6 +30,7 @@ describe OmfCommon::Comm::XMPP::Topic do
30
30
  end
31
31
 
32
32
  it "must allow you to subscribe/unsubscribe to a new pubsub topic" do
33
+ skip
33
34
  @xmpp_comm.on_connected do |c|
34
35
  t_name = SecureRandom.uuid.to_sym
35
36
  c.subscribe(t_name) do |topic|
@@ -43,6 +44,7 @@ describe OmfCommon::Comm::XMPP::Topic do
43
44
  end
44
45
 
45
46
  it "must allow you to send and monitor messages" do
47
+ skip
46
48
  @xmpp_comm.on_connected do |c|
47
49
  t_name = SecureRandom.uuid.to_sym
48
50
  c.subscribe(t_name) do |topic|
@@ -38,12 +38,6 @@ describe OmfCommon::Comm do
38
38
  @topic.expects(:on_subscribed)
39
39
  @abstract_comm.subscribe(:bob) { 'do nothing' }
40
40
  end
41
-
42
- it "must be able to publish message" do
43
- @abstract_comm.stubs(:create_topic).returns(@topic)
44
- @topic.expects(:publish)
45
- @abstract_comm.publish(:bob, 'message')
46
- end
47
41
  end
48
42
 
49
43
  describe 'when initialised with a pubsub implementation' do
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omf_common
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.2.0.pre.2
4
+ version: 6.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - NICTA
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-17 00:00:00.000000000 Z
11
+ date: 2015-04-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ! '>='
17
+ - - ~>
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: 5.5.1
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ! '>='
24
+ - - ~>
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: 5.5.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: evented-spec
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -319,9 +319,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
319
319
  version: 1.9.3
320
320
  required_rubygems_version: !ruby/object:Gem::Requirement
321
321
  requirements:
322
- - - ! '>'
322
+ - - ! '>='
323
323
  - !ruby/object:Gem::Version
324
- version: 1.3.1
324
+ version: '0'
325
325
  requirements: []
326
326
  rubyforge_project: omf_common
327
327
  rubygems_version: 2.4.2