rmessage 0.1.3 → 0.1.6

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
  SHA256:
3
- metadata.gz: a49ac884778c35479a6f9bd22cdf223aac6d02ef586d61c41cd16b1278c4be97
4
- data.tar.gz: d2d69bc681472e741c9eaec10dab3903c2014488030c8fae76d05908c14b4eb7
3
+ metadata.gz: 8e4de78b3d594d8614aaf2b4e9e79a5ebde9e7cb5bc0f67910f14fc864f096fc
4
+ data.tar.gz: 71fd9575ea9aa282c285975df97157d1722fb83c507eac03f3922e3864140bc4
5
5
  SHA512:
6
- metadata.gz: 9c35501badb73bf98833fb58703167cae86ce0ceccee81e3e416b7f9a76e63f4173f19307e12bacd8c1e4e3eb173f39ce2b6965ab433c8cf97ec44b632d87c5a
7
- data.tar.gz: 8dc719f163a85322f28b0cb10674113ab0993e1983429999c71d0f3057a017d47979719a781a9c4962bbe0faddd732376c107cdf42f1bd2e024cd6ba694a800c
6
+ metadata.gz: 140827cd81a1b0ab14d021b190b74184317cf48e8c06e8e28fe8ddca6c440fbc4f92926aaa59478f65c0fb15f2004fb11c87688024c8c9bba002668fa647a45b
7
+ data.tar.gz: 31fb24d8197fd9bdede42fa4be861c5c6dbd2d9fd04b133db0014998e06ca6036842181fe370903fc1a06228fae9dacbd6c74ea913a9938db63100a1eaa52835
@@ -2,9 +2,9 @@ module RMessage
2
2
  # A Message encapsulates a JSON payload that is sent to or received from Redis.
3
3
  class Message
4
4
 
5
- # @!attribute [r] label
5
+ # @!attribute [r] type
6
6
  # @return [Symbol, String] the label.
7
- attr :label
7
+ attr :type
8
8
 
9
9
  # @!attribute [r] signature
10
10
  # @return [Integer, String] the signature.
@@ -15,14 +15,14 @@ module RMessage
15
15
  attr :payload
16
16
 
17
17
  # Constructs a new Message
18
- # @param opts [Hash] message options
19
- # * label [Symbol, String] the Message label
18
+ # @param opts [Hash, String] message options
19
+ # * type [Symbol, String] the Message label
20
20
  # * signature [Integer, String] the Message signature
21
21
  # * payload [Hash, String] the Message data
22
22
  def initialize(opts = {})
23
- @label = opts[:label] || :UNTITLED
24
- @signature = opts[:signature] || Druuid.gen
25
- @payload = opts[:payload] || {}
23
+ @type = opts[:type] || opts['type'] || :UNTITLED
24
+ @signature = opts[:signature] || opts['signature']
25
+ read(opts)
26
26
  end
27
27
 
28
28
  # Read and parse data. Defaults to the Message#payload.
@@ -31,14 +31,14 @@ module RMessage
31
31
  def read(data = @payload)
32
32
  case data
33
33
  when Hash
34
- @label ||= data[:label]
34
+ @type = data[:type]
35
35
  @signature ||= data[:signature]
36
- @payload ||= data[:payload]
36
+ @payload = data[:payload] || data
37
37
  when String
38
38
  parsed = Oj.load(data)
39
- @label ||= parsed['label']
39
+ @type = parsed['type']
40
40
  @signature ||= parsed['signature']
41
- @payload ||= parsed['payload']
41
+ @payload = parsed['payload'] || parsed
42
42
  else raise TypeError, 'Invalid type for Message#payload'
43
43
  end
44
44
  self
@@ -47,7 +47,7 @@ module RMessage
47
47
  # Build a JSON string using data in this message
48
48
  # @param data [Hash, String] the payload.
49
49
  def build(data = @payload)
50
- Oj.dump({ 'label' => @label, 'signature' => @signature, 'payload' => data })
50
+ Oj.dump({ 'type' => @type, 'signature' => @signature, 'payload' => data })
51
51
  end
52
52
  end
53
53
  end
@@ -32,7 +32,7 @@ module RMessage::Subscriber
32
32
  private
33
33
 
34
34
  def parse_message(message_data)
35
- RMessage::Message.new(message_data).read
35
+ RMessage::Message.new.read(message_data)
36
36
  end
37
37
  end
38
38
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rmessage
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Patrick W.
@@ -109,6 +109,7 @@ post_install_message:
109
109
  rdoc_options: []
110
110
  require_paths:
111
111
  - lib
112
+ - lib/rmessage
112
113
  required_ruby_version: !ruby/object:Gem::Requirement
113
114
  requirements:
114
115
  - - ">="