omf_common 6.0.8.pre.2 → 6.0.8.pre.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- ZDY5YWU0MWI3YjNmMGE5M2IyM2M3OThiOGViYjFiN2VjYjM2ODliMw==
5
- data.tar.gz: !binary |-
6
- NGM5NmZlYjlmYjUxZGY3YjY5ODkwYzZmYjhlZWRjNTU1ODhmYjFkMw==
7
- !binary "U0hBNTEy":
8
- metadata.gz: !binary |-
9
- NzFjOWU5MzY2OWE3NjkzM2RjMjQ3MGUyMzYwOTUxOTQxNDg5OTU4Njc5NTFi
10
- YjNlOTI1YjY0YTY1ZjRhZTRjMmY1MjE5OWIyZjYxNDU3MzA5ODg5MTk0MDRj
11
- MTQ0ODkyMjYxMDA0YzY4ZjYyYjRmYzkxNDk1ZDBiM2Y0ZTE0MDk=
12
- data.tar.gz: !binary |-
13
- MDRlYWRiYzQ2NWMyMDFjNTc2NmM5NjJjNDBjODg4NzYxMGEwZWZjNDM0YmY2
14
- MzI2NWUwM2NkOGQzZTcwMjgyZmU1MmQ2Mjc0ZDFhZjU1YzFjNTMxZDRjZGE0
15
- MzhjMGUyMTUzOWVmZjc4MDI2NTRlODVlOWY3NTc2YjEwMDg3NWI=
2
+ SHA1:
3
+ metadata.gz: 2935646d99805e1bfee37d54048dc9f38d86ac95
4
+ data.tar.gz: 08a166445c5f9416791daa78a9d81568a8037149
5
+ SHA512:
6
+ metadata.gz: 95d4412b66bd738b92fc5ea47a773b8028d64e11a4455f159740961a6ab187d48a4b04c717499fa57fef2edcfc505aa4f677076254a1e8dd8647339fcb6f3093
7
+ data.tar.gz: 05d54b318b582a550429e0d2fee26d93dc35bc079a7bd36f4683dd35ca345b433bae5cda0b97b1687e86d7f06ed491fb56b56ba0382166511795bec590488429
@@ -317,11 +317,11 @@ module OmfCommon
317
317
  # @param [String] file_path of the logging config file
318
318
  def self.load_logging_config(file_path)
319
319
  unless file_path.nil?
320
- l_cfg_mime_type = `file --mime-type -b #{file_path}`.strip rescue nil
320
+ l_cfg_mime_type = File.extname(file_path)
321
321
  case l_cfg_mime_type
322
- when /ruby/
322
+ when /rb/
323
323
  load file_path
324
- when /plain/
324
+ when /yml|yaml/
325
325
  Logging::Config::YamlConfigurator.load(file_path)
326
326
  else
327
327
  warn "Invalid config file format for logging, please use Ruby or Yaml."
@@ -132,10 +132,14 @@ module OmfCommon
132
132
  { proto: nil, user: nil, domain: nil }
133
133
  end
134
134
 
135
- # Return a valid address for this type of communicator
135
+ # Take a string and use it to generate a valid topic address for this type of communicator
136
136
  # Must be implemented by subclasses
137
137
  #
138
- def string_to_address(a_string)
138
+ # This may be used when we construct an FRCP Configure message, which requests some
139
+ # resources to subscribe to a topic, which has not yet been created at the time of this
140
+ # message's construction, but which will be created before this message is published.
141
+ # (an example of such case can be found in OMF EC Group handling code)
142
+ def string_to_topic_address(a_string)
139
143
  raise NotImplementedError
140
144
  end
141
145
 
@@ -32,7 +32,7 @@ module OmfCommon
32
32
  unless (@url = @opts.delete(:url))
33
33
  raise "Missing 'url' option for AQMP layer"
34
34
  end
35
- @address_prefix = @url + '/'
35
+ @address_prefix = @url + '/frcp.'
36
36
  _connect()
37
37
  super
38
38
  end
@@ -41,14 +41,13 @@ module OmfCommon
41
41
  { proto: :amqp, user: ::AMQP.settings[:user], domain: ::AMQP.settings[:host] }
42
42
  end
43
43
 
44
- def string_to_address(a_string)
45
- @address_prefix+a_string
44
+ def string_to_topic_address(a_string)
45
+ @address_prefix+a_string
46
46
  end
47
47
 
48
48
  # Shut down comms layer
49
49
  def disconnect(opts = {})
50
50
  info "Disconnecting..."
51
- OmfCommon.eventloop.stop
52
51
  end
53
52
 
54
53
  # TODO: Should be thread safe and check if already connected
@@ -117,17 +117,8 @@ module OmfCommon
117
117
  #
118
118
  def unsubscribe(key)
119
119
  @lock.synchronize do
120
- @handlers.each do |name, cbks|
121
- if cbks.delete(key)
122
- # remove altogether if no callback left
123
- if cbks.empty?
124
- @handlers.delete(name)
125
- end
126
- end
127
- end
128
- if @handlers.empty?
129
- warn "Should unsubscribe '#{id}'"
130
- end
120
+ @handlers.clear
121
+ @@name2inst.delete_if { |k, v| k == id.to_sym || k == address.to_sym}
131
122
  end
132
123
  end
133
124
 
@@ -57,7 +57,7 @@ class Comm
57
57
  { proto: :xmpp, user: jid.node, domain: jid.domain }
58
58
  end
59
59
 
60
- def string_to_address(a_string)
60
+ def string_to_topic_address(a_string)
61
61
  "xmpp://#{a_string}@#{jid.domain}"
62
62
  end
63
63
 
@@ -212,7 +212,8 @@ class Comm
212
212
  pubsub.create(topic, pubsub_host, PUBSUB_CONFIGURE, &callback_logging(__method__, topic, &block))
213
213
  end
214
214
 
215
- # Un-subscribe all existing subscriptions from all pubsub topics.
215
+ # Un-subscribe all existing subscriptions from all pubsub topics
216
+ #
216
217
  def unsubscribe(pubsub_host = default_host)
217
218
  pubsub.subscriptions(pubsub_host) do |m|
218
219
  m[:subscribed] && m[:subscribed].each do |s|
@@ -222,6 +223,18 @@ class Comm
222
223
  end
223
224
  end
224
225
 
226
+ # Un-subscribe one single topic by topic address
227
+ #
228
+ def _unsubscribe_one(topic_id, pubsub_host = default_host)
229
+ pubsub.subscriptions(pubsub_host) do |m|
230
+ m[:subscribed] && m[:subscribed].each do |s|
231
+ if s[:node] == topic_id.to_s
232
+ pubsub.unsubscribe(s[:node], nil, s[:subid], pubsub_host, &callback_logging(__method__, s[:node], s[:subid]))
233
+ end
234
+ end
235
+ end
236
+ end
237
+
225
238
  def affiliations(pubsub_host = default_host, &block)
226
239
  pubsub.affiliations(pubsub_host, &callback_logging(__method__, &block))
227
240
  end
@@ -263,7 +276,7 @@ class Comm
263
276
  end
264
277
 
265
278
  mblock = proc do |stanza|
266
- OmfCommon::DSL::Xmpp::MPReceived.inject(Time.now.to_f, jid, stanza.node, stanza.to_s[/mid="(.{36})/, 1]) if OmfCommon::Measure.enabled?
279
+ OmfCommon::DSL::Xmpp::MPReceived.inject(Time.now.to_f, jid, stanza.node, stanza.to_s[/mid="(.{36})/, 1]) if OmfCommon::Measure.enabled?
267
280
  block.call(stanza) if block
268
281
  end
269
282
  pubsub_event(guard_block, &callback_logging(__method__, &mblock))
@@ -26,6 +26,11 @@ class XMPP
26
26
  end
27
27
  end
28
28
 
29
+ def unsubscribe(key)
30
+ super
31
+ OmfCommon.comm._unsubscribe_one(self.id)
32
+ end
33
+
29
34
  private
30
35
 
31
36
  def pubsub_domain_addr
@@ -185,7 +185,7 @@ module OmfCommon
185
185
  if @content[:src].is_a? OmfCommon::Comm::Topic
186
186
  @content[:src] = @content[:src].address
187
187
  end
188
- @content[:itype] = self.itype(:frcp)
188
+ @content[:itype] = self.itype(:frcp) unless self.itype(:frcp).nil?
189
189
 
190
190
  #raise 'local/local' if @content[:src].id.match 'local:/local'
191
191
  #puts @content.inspect
@@ -259,4 +259,4 @@ module OmfCommon
259
259
  end # class
260
260
  end
261
261
  end
262
- end
262
+ end
@@ -138,11 +138,6 @@ class XML
138
138
  end
139
139
  end
140
140
 
141
- def resource
142
- r_id = _get_property(:res_id)
143
- OmfCommon::Comm::XMPP::Topic.create(r_id)
144
- end
145
-
146
141
  def marshall
147
142
  build_xml
148
143
 
@@ -469,6 +464,8 @@ class XML
469
464
  'integer'
470
465
  when /hash|mash/
471
466
  'hash'
467
+ when /symbol/
468
+ 'string'
472
469
  else
473
470
  v_type
474
471
  end
@@ -2,41 +2,81 @@ default namespace = "http://schema.mytestbed.net/omf/6.0/protocol"
2
2
 
3
3
  start = (create | configure | request | release | inform | env)
4
4
 
5
- common_elements = attribute mid { text }?
5
+ # Shared elements among all types of messages
6
+ common_elements =
7
+ # Message ID (optional)
8
+ attribute mid { text }?
9
+ # Time stamp
6
10
  & element ts { text }
11
+ # Source (who sends it) (optional)
7
12
  & element src { text }?
13
+ # Reply address (who sends it) (optional)
8
14
  & element replyto { text }?
9
- & element props { property * }?
15
+ # Resource properties (optional)
16
+ & element props { core_props, property * }?
17
+ # Guard with filtering properties (optional)
10
18
  & element guard { property * }?
11
19
 
12
- anything = ( text | element * { (attribute type { text })?, (text | anything) * })
20
+ property = element * { valid_content? }
13
21
 
14
- property = element * { (attribute type { text })?, anything * }
22
+ # Valid content type
23
+ boolean_content = attribute type { "boolean" }, text
24
+ integer_content = attribute type { "integer" }, text
25
+ float_content = attribute type { "float" }, text
26
+ string_content = attribute type { "string" }, text
27
+ array_content = attribute type { "array" }
28
+ & element it { valid_content? | property * } *
29
+ hash_content = attribute type { "hash" }
30
+ & property *
15
31
 
32
+ valid_content = boolean_content | integer_content | float_content | string_content | array_content | hash_content
33
+
34
+ # Core Resource Proxy Properties
35
+ res_id = element res_id { string_content }
36
+ reason = element reason { string_content }
37
+ membership = element membership { array_content | string_content }
38
+ uid = element uid { string_content }
39
+ type = element type { string_content }
40
+ hrn = element hrn { string_content }
41
+ name = element name { string_content }
42
+ child_resources= element child_resources { array_content }
43
+ available_properties= element available_properties { hash_content }
44
+ supported_children_type= element supported_children_type { array_content }
45
+ certificate = element certificate { string_content }
46
+
47
+ core_props = (res_id | reason | hrn | membership | uid | type | name | child_resources | available_properties | supported_children_type | certificate ) *
48
+
49
+ # Create message
16
50
  create = element create {
17
51
  common_elements
52
+ # Resource type is required
18
53
  & element rtype { text }
19
54
  }
20
55
 
56
+ # Configure message
21
57
  configure = element configure {
22
58
  common_elements
23
59
  }
24
60
 
61
+ # Request message
25
62
  request = element request {
26
63
  common_elements
27
64
  }
28
65
 
66
+ # Release message
29
67
  release = element release {
30
68
  common_elements
31
69
  & element res_id { text }?
32
70
  }
33
71
 
72
+ # Inform message
34
73
  inform = element inform {
35
74
  common_elements
36
75
  & element cid { text }?
37
76
  & element itype { "CREATION.OK" | "CREATION.FAILED" | "STATUS" | "RELEASED" | "ERROR" | "WARN" }
38
77
  }
39
78
 
79
+ # Message can be wrapped in env(elope)
40
80
  env = element env {
41
- create | configure | request | release | inform
81
+ create | configure | request | release | inform
42
82
  }
@@ -10,32 +10,40 @@
10
10
  <ref name="env"/>
11
11
  </choice>
12
12
  </start>
13
+ <!-- Shared elements among all types of messages -->
13
14
  <define name="common_elements">
14
15
  <interleave>
15
16
  <optional>
17
+ <!-- Message ID (optional) -->
16
18
  <attribute name="mid"/>
17
19
  </optional>
20
+ <!-- Time stamp -->
18
21
  <element name="ts">
19
22
  <text/>
20
23
  </element>
21
24
  <optional>
25
+ <!-- Source (who sends it) (optional) -->
22
26
  <element name="src">
23
27
  <text/>
24
28
  </element>
25
29
  </optional>
26
30
  <optional>
31
+ <!-- Reply address (who sends it) (optional) -->
27
32
  <element name="replyto">
28
33
  <text/>
29
34
  </element>
30
35
  </optional>
31
36
  <optional>
37
+ <!-- Resource properties (optional) -->
32
38
  <element name="props">
39
+ <ref name="core_props"/>
33
40
  <zeroOrMore>
34
41
  <ref name="property"/>
35
42
  </zeroOrMore>
36
43
  </element>
37
44
  </optional>
38
45
  <optional>
46
+ <!-- Guard with filtering properties (optional) -->
39
47
  <element name="guard">
40
48
  <zeroOrMore>
41
49
  <ref name="property"/>
@@ -44,54 +52,179 @@
44
52
  </optional>
45
53
  </interleave>
46
54
  </define>
47
- <define name="anything">
48
- <choice>
49
- <text/>
50
- <element>
51
- <anyName/>
52
- <optional>
53
- <attribute name="type"/>
54
- </optional>
55
- <zeroOrMore>
56
- <choice>
57
- <text/>
58
- <ref name="anything"/>
59
- </choice>
60
- </zeroOrMore>
61
- </element>
62
- </choice>
63
- </define>
64
55
  <define name="property">
65
56
  <element>
66
57
  <anyName/>
67
58
  <optional>
68
- <attribute name="type"/>
59
+ <ref name="valid_content"/>
69
60
  </optional>
61
+ </element>
62
+ </define>
63
+ <!-- Valid content type -->
64
+ <define name="boolean_content">
65
+ <attribute name="type">
66
+ <value>boolean</value>
67
+ </attribute>
68
+ <text/>
69
+ </define>
70
+ <define name="integer_content">
71
+ <attribute name="type">
72
+ <value>integer</value>
73
+ </attribute>
74
+ <text/>
75
+ </define>
76
+ <define name="float_content">
77
+ <attribute name="type">
78
+ <value>float</value>
79
+ </attribute>
80
+ <text/>
81
+ </define>
82
+ <define name="string_content">
83
+ <attribute name="type">
84
+ <value>string</value>
85
+ </attribute>
86
+ <text/>
87
+ </define>
88
+ <define name="array_content">
89
+ <interleave>
90
+ <attribute name="type">
91
+ <value>array</value>
92
+ </attribute>
70
93
  <zeroOrMore>
71
- <ref name="anything"/>
94
+ <element name="it">
95
+ <choice>
96
+ <optional>
97
+ <ref name="valid_content"/>
98
+ </optional>
99
+ <zeroOrMore>
100
+ <ref name="property"/>
101
+ </zeroOrMore>
102
+ </choice>
103
+ </element>
72
104
  </zeroOrMore>
105
+ </interleave>
106
+ </define>
107
+ <define name="hash_content">
108
+ <interleave>
109
+ <attribute name="type">
110
+ <value>hash</value>
111
+ </attribute>
112
+ <zeroOrMore>
113
+ <ref name="property"/>
114
+ </zeroOrMore>
115
+ </interleave>
116
+ </define>
117
+ <define name="valid_content">
118
+ <choice>
119
+ <ref name="boolean_content"/>
120
+ <ref name="integer_content"/>
121
+ <ref name="float_content"/>
122
+ <ref name="string_content"/>
123
+ <ref name="array_content"/>
124
+ <ref name="hash_content"/>
125
+ </choice>
126
+ </define>
127
+ <!-- Core Resource Proxy Properties -->
128
+ <define name="res_id">
129
+ <element name="res_id">
130
+ <ref name="string_content"/>
131
+ </element>
132
+ </define>
133
+ <define name="reason">
134
+ <element name="reason">
135
+ <ref name="string_content"/>
136
+ </element>
137
+ </define>
138
+ <define name="membership">
139
+ <element name="membership">
140
+ <choice>
141
+ <ref name="array_content"/>
142
+ <ref name="string_content"/>
143
+ </choice>
144
+ </element>
145
+ </define>
146
+ <define name="uid">
147
+ <element name="uid">
148
+ <ref name="string_content"/>
149
+ </element>
150
+ </define>
151
+ <define name="type">
152
+ <element name="type">
153
+ <ref name="string_content"/>
154
+ </element>
155
+ </define>
156
+ <define name="hrn">
157
+ <element name="hrn">
158
+ <ref name="string_content"/>
73
159
  </element>
74
160
  </define>
161
+ <define name="name">
162
+ <element name="name">
163
+ <ref name="string_content"/>
164
+ </element>
165
+ </define>
166
+ <define name="child_resources">
167
+ <element name="child_resources">
168
+ <ref name="array_content"/>
169
+ </element>
170
+ </define>
171
+ <define name="available_properties">
172
+ <element name="available_properties">
173
+ <ref name="hash_content"/>
174
+ </element>
175
+ </define>
176
+ <define name="supported_children_type">
177
+ <element name="supported_children_type">
178
+ <ref name="array_content"/>
179
+ </element>
180
+ </define>
181
+ <define name="certificate">
182
+ <element name="certificate">
183
+ <ref name="string_content"/>
184
+ </element>
185
+ </define>
186
+ <define name="core_props">
187
+ <zeroOrMore>
188
+ <choice>
189
+ <ref name="res_id"/>
190
+ <ref name="reason"/>
191
+ <ref name="hrn"/>
192
+ <ref name="membership"/>
193
+ <ref name="uid"/>
194
+ <ref name="type"/>
195
+ <ref name="name"/>
196
+ <ref name="child_resources"/>
197
+ <ref name="available_properties"/>
198
+ <ref name="supported_children_type"/>
199
+ <ref name="certificate"/>
200
+ </choice>
201
+ </zeroOrMore>
202
+ </define>
203
+ <!-- Create message -->
75
204
  <define name="create">
76
205
  <element name="create">
77
206
  <interleave>
78
207
  <ref name="common_elements"/>
208
+ <!-- Resource type is required -->
79
209
  <element name="rtype">
80
210
  <text/>
81
211
  </element>
82
212
  </interleave>
83
213
  </element>
84
214
  </define>
215
+ <!-- Configure message -->
85
216
  <define name="configure">
86
217
  <element name="configure">
87
218
  <ref name="common_elements"/>
88
219
  </element>
89
220
  </define>
221
+ <!-- Request message -->
90
222
  <define name="request">
91
223
  <element name="request">
92
224
  <ref name="common_elements"/>
93
225
  </element>
94
226
  </define>
227
+ <!-- Release message -->
95
228
  <define name="release">
96
229
  <element name="release">
97
230
  <interleave>
@@ -104,6 +237,7 @@
104
237
  </interleave>
105
238
  </element>
106
239
  </define>
240
+ <!-- Inform message -->
107
241
  <define name="inform">
108
242
  <element name="inform">
109
243
  <interleave>
@@ -126,6 +260,7 @@
126
260
  </interleave>
127
261
  </element>
128
262
  </define>
263
+ <!-- Message can be wrapped in env(elope) -->
129
264
  <define name="env">
130
265
  <element name="env">
131
266
  <choice>
@@ -28,11 +28,11 @@ Gem::Specification.new do |s|
28
28
  s.add_development_dependency "mocha"
29
29
 
30
30
  s.add_runtime_dependency "eventmachine", "= 1.0.3"
31
- s.add_runtime_dependency "blather", "= 0.8.7"
31
+ s.add_runtime_dependency "blather", "= 0.8.8"
32
32
  s.add_runtime_dependency "logging", "~> 1.7.1"
33
- s.add_runtime_dependency "hashie", "~> 1.2.0"
33
+ s.add_runtime_dependency "hashie"
34
34
  s.add_runtime_dependency "oml4r", "~> 2.9.5"
35
- s.add_runtime_dependency "json", "~> 1.7.7"
35
+ s.add_runtime_dependency "json"
36
36
  s.add_runtime_dependency "json-jwt"
37
37
  s.add_runtime_dependency "amqp"
38
38
  s.add_runtime_dependency "uuidtools"
metadata CHANGED
@@ -1,27 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omf_common
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.0.8.pre.2
4
+ version: 6.0.8.pre.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - NICTA
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-11-25 00:00:00.000000000 Z
11
+ date: 2013-12-20 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
19
  version: '0'
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
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
@@ -42,42 +42,42 @@ dependencies:
42
42
  name: simplecov
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ! '>='
45
+ - - '>='
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ! '>='
52
+ - - '>='
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: pry
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ! '>='
59
+ - - '>='
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ! '>='
66
+ - - '>='
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: mocha
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ! '>='
73
+ - - '>='
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ! '>='
80
+ - - '>='
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
@@ -100,14 +100,14 @@ dependencies:
100
100
  requirements:
101
101
  - - '='
102
102
  - !ruby/object:Gem::Version
103
- version: 0.8.7
103
+ version: 0.8.8
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - '='
109
109
  - !ruby/object:Gem::Version
110
- version: 0.8.7
110
+ version: 0.8.8
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: logging
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -126,16 +126,16 @@ dependencies:
126
126
  name: hashie
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - ~>
129
+ - - '>='
130
130
  - !ruby/object:Gem::Version
131
- version: 1.2.0
131
+ version: '0'
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - ~>
136
+ - - '>='
137
137
  - !ruby/object:Gem::Version
138
- version: 1.2.0
138
+ version: '0'
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: oml4r
141
141
  requirement: !ruby/object:Gem::Requirement
@@ -154,56 +154,56 @@ dependencies:
154
154
  name: json
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
- - - ~>
157
+ - - '>='
158
158
  - !ruby/object:Gem::Version
159
- version: 1.7.7
159
+ version: '0'
160
160
  type: :runtime
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
- - - ~>
164
+ - - '>='
165
165
  - !ruby/object:Gem::Version
166
- version: 1.7.7
166
+ version: '0'
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: json-jwt
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
- - - ! '>='
171
+ - - '>='
172
172
  - !ruby/object:Gem::Version
173
173
  version: '0'
174
174
  type: :runtime
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
- - - ! '>='
178
+ - - '>='
179
179
  - !ruby/object:Gem::Version
180
180
  version: '0'
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: amqp
183
183
  requirement: !ruby/object:Gem::Requirement
184
184
  requirements:
185
- - - ! '>='
185
+ - - '>='
186
186
  - !ruby/object:Gem::Version
187
187
  version: '0'
188
188
  type: :runtime
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
- - - ! '>='
192
+ - - '>='
193
193
  - !ruby/object:Gem::Version
194
194
  version: '0'
195
195
  - !ruby/object:Gem::Dependency
196
196
  name: uuidtools
197
197
  requirement: !ruby/object:Gem::Requirement
198
198
  requirements:
199
- - - ! '>='
199
+ - - '>='
200
200
  - !ruby/object:Gem::Version
201
201
  version: '0'
202
202
  type: :runtime
203
203
  prerelease: false
204
204
  version_requirements: !ruby/object:Gem::Requirement
205
205
  requirements:
206
- - - ! '>='
206
+ - - '>='
207
207
  - !ruby/object:Gem::Version
208
208
  version: '0'
209
209
  description: Common library of OMF, a generic framework for controlling and managing
@@ -307,12 +307,12 @@ require_paths:
307
307
  - lib
308
308
  required_ruby_version: !ruby/object:Gem::Requirement
309
309
  requirements:
310
- - - ! '>='
310
+ - - '>='
311
311
  - !ruby/object:Gem::Version
312
312
  version: 1.9.3
313
313
  required_rubygems_version: !ruby/object:Gem::Requirement
314
314
  requirements:
315
- - - ! '>'
315
+ - - '>'
316
316
  - !ruby/object:Gem::Version
317
317
  version: 1.3.1
318
318
  requirements: []