deepstream 0.2.4 → 0.2.5

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: be943700904c49bfe301ba108143b3b1bf483c62
4
- data.tar.gz: 37c6bcc801a2d78bef07daa359c1ca498df0b57d
3
+ metadata.gz: 834372ce6b7a3821b4b8146fc902a0dbac4b5b69
4
+ data.tar.gz: 5a84d22a6970dee3c65909a01b83392e9562cacd
5
5
  SHA512:
6
- metadata.gz: ff5403c28136a4d9b01be6e3201a9665a4102aa72f11c12db9f06fc50fbb5a9892709ca43da3da45839fd3ba9e6d196e9c2c8b28a21016166157b34fdf63d30f
7
- data.tar.gz: acbe6674e94967e725a659fd9d70cd38055e50445b9fa6c804c4ac83d8169352d53c8acb0f68057492cc498af29ea0407c3dc452972f164248799b5c877882b2
6
+ metadata.gz: 4dd169130ec5b074383796628d25bc2161806d096aa67670cf749a884f66ac73726b8ceacfc8be989963435151d86310206488e8307c12cf815378b5affceca6
7
+ data.tar.gz: 45eafd3aadb23c743217ccbbdf9ee60c4d699543158b4667df6ba23ec6e15dcca308e5e03aca11fa42e1d4712b8f11a8781d4119e799a4f7271488fc1abf444f
data/README.md CHANGED
@@ -35,9 +35,7 @@ ds.emit 'my_event'
35
35
  ds.emit 'my_event', foo: 'bar', bar: 'foo'
36
36
 
37
37
  # Subscribe to events
38
- ds.on('some_event') do |event_name, msg|
39
- puts msg
40
- end
38
+ ds.on('some_event') { |data| puts data }
41
39
 
42
40
  # Get a record
43
41
  foo = ds.get('foo')
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "deepstream"
7
- spec.version = "0.2.4"
7
+ spec.version = "0.2.5"
8
8
  spec.authors = ["Currency-One S.A."]
9
9
  spec.email = ["piotr.szczudlak@currency-one.com"]
10
10
 
@@ -50,8 +50,9 @@ module Deepstream
50
50
  end
51
51
  end
52
52
 
53
- def emit(event, data = nil, opts = { timeout: @client.options[:emit_timeout] })
54
- @client.send_message(TOPIC::EVENT, ACTION::EVENT, event, Helpers.to_deepstream_type(data), timeout: opts[:timeout])
53
+ def emit(event, *args, timeout: @client.options[:emit_timeout], **kwargs)
54
+ data = Helpers.message_data(*args, **kwargs)
55
+ @client.send_message(TOPIC::EVENT, ACTION::EVENT, event, Helpers.to_deepstream_type(data), timeout: timeout)
55
56
  rescue => e
56
57
  @client.on_exception(e)
57
58
  end
@@ -74,8 +75,7 @@ module Deepstream
74
75
 
75
76
  def fire_event_callback(message)
76
77
  event, data = message.data
77
- data = Helpers.to_type(data)
78
- Celluloid::Future.new { @callbacks[event].call(event, data) }
78
+ Celluloid::Future.new { @callbacks[event].call(Helpers.to_type(data)) }
79
79
  end
80
80
 
81
81
  def fire_listen_callback(message)
@@ -8,6 +8,7 @@ module Deepstream
8
8
 
9
9
  def self.to_deepstream_type(value)
10
10
  case value
11
+ when Array then "O#{value.to_json}"
11
12
  when Hash then "O#{value.to_json}"
12
13
  when String then "S#{value}"
13
14
  when Numeric then "N#{value}"
@@ -52,5 +53,14 @@ module Deepstream
52
53
  url.concat("/#{DEFAULT_PATH}") unless url[/\/\w+$/]
53
54
  end
54
55
  end
56
+
57
+ def self.message_data(*args, **kwargs)
58
+ kwargs = kwargs.empty? ? nil : kwargs
59
+ if args.empty?
60
+ kwargs
61
+ else
62
+ (args << kwargs).compact.instance_eval { one? ? first : self }
63
+ end
64
+ end
55
65
  end
56
66
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: deepstream
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Currency-One S.A.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-02-08 00:00:00.000000000 Z
11
+ date: 2017-02-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: celluloid-websocket-client