rmessage 0.1.2 → 0.1.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
  SHA256:
3
- metadata.gz: f771b5b481689023a94dec959210999ef38cd0e043b7d32b60f2cf66e45f7f6c
4
- data.tar.gz: b05c425ee17726307234565fc174c07485b551fe7560db3a8df33a93f82a34f8
3
+ metadata.gz: 79600cc96aeee7a3ab6fc3f3f70e0993846069948749a7357042883b500ab6d1
4
+ data.tar.gz: 95d2eb5e92f60a90b3d9f2a476f09c47ab169f011a975a02b01239abc5ec313a
5
5
  SHA512:
6
- metadata.gz: 29a45abc74618f7c559da04ca0728fbc5979c211510185f311acf6178621e32bdd984d1e8d93c317c263a953aef00726c40c7dab6837959144d786af7fe7d383
7
- data.tar.gz: ffd9e32788dcf26e1647f9846ee9122f1b83e497b69e5c81abc996ce2c431db49449848415aacf20e8c763cf6793f54fdaed6287928f51afa7b058410ee64cfe
6
+ metadata.gz: 84fbd03fdc2203f20e0c8ac2f076e20db5434c606ce6d7e0c4260d1917ffa40e9036a0a3b77ed08cb1cad0af513cd722689129b6b4e62a30566fcc0cc76a7cf8
7
+ data.tar.gz: a8c91c22cdc8c12c5537aaf7e2afb0addd282fa5c67af4db68b3354bcac13bb5c304eb2bfa36d88ab86e5d9ebb8b08b5643d86eee5a1905011eff9a2b83dd145
@@ -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,38 +15,39 @@ 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
- # @param data [Hash, String] message data
23
- def initialize(opts = {}, data = nil)
24
- @label = opts[:label] || :UNTITLED
22
+ def initialize(opts = {})
23
+ @type = opts[:type] || :UNTITLED
25
24
  @signature = opts[:signature] || Druuid.gen
26
- @payload = data || opts[:payload]
25
+ read(opts)
27
26
  end
28
27
 
29
28
  # Read and parse data. Defaults to the Message#payload.
30
29
  # @param data [Hash, String] the data.
30
+ # @return [RMessage::Message]
31
31
  def read(data = @payload)
32
32
  case data
33
33
  when Hash
34
- @label ||= data[:label]
35
- @signature ||= data[:signature]
36
- @payload ||= data[:payload]
34
+ @type = data[:type]
35
+ @signature = data[:signature]
36
+ @payload ||= data[:payload] || data
37
37
  when String
38
38
  parsed = Oj.load(data)
39
- @label ||= parsed['label']
40
- @signature ||= parsed['signature']
41
- @payload ||= parsed['payload']
39
+ @type = parsed['type']
40
+ @signature = parsed['signature']
41
+ @payload ||= parsed['payload'] || parsed
42
42
  else raise TypeError, 'Invalid type for Message#payload'
43
43
  end
44
+ self
44
45
  end
45
46
 
46
47
  # Build a JSON string using data in this message
47
48
  # @param data [Hash, String] the payload.
48
49
  def build(data = @payload)
49
- Oj.dump({ 'label' => @label, 'signature' => @signature, 'payload' => data })
50
+ Oj.dump({ 'type' => @type, 'signature' => @signature, 'payload' => data })
50
51
  end
51
52
  end
52
53
  end
@@ -23,7 +23,7 @@ module RMessage::Subscriber
23
23
  end
24
24
 
25
25
  event.message do |_, message|
26
- auto_parse ? parse_message(message) : yield(message)
26
+ auto_parse ? yield(parse_message(message)) : yield(message)
27
27
  logger&.info("Received Message: #{message}")
28
28
  end
29
29
  end
@@ -32,9 +32,7 @@ module RMessage::Subscriber
32
32
  private
33
33
 
34
34
  def parse_message(message_data)
35
- msg = RMessage::Message.new(message_data)
36
- msg.read
37
- @events[msg.label].new(msg)
35
+ RMessage::Message.new.read(message_data)
38
36
  end
39
37
  end
40
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.2
4
+ version: 0.1.5
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
  - - ">="