deepstream 0.2.4 → 0.2.5

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