aws-liam 0.0.6 → 0.0.7

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
- SHA256:
3
- metadata.gz: 70a368862d4c3d3591a5833913f7b6c31a63882b5d05a55cdd86ab02256c2e3e
4
- data.tar.gz: 1479349eadc2b67d850effa3d9d0b6f1f0c58ed23b9356587f544115b3a228c5
2
+ SHA1:
3
+ metadata.gz: ca62555809a9e79275146771a80aa72f2d6bd595
4
+ data.tar.gz: 86bcc1a6ae4cc503b9bf2d47454d38dacc90da4c
5
5
  SHA512:
6
- metadata.gz: c8d36999774659a68c92fc248163b3fdb8d2e01cdadf5d78f503b6d11f079e82630b0382ac799cae69447dc999976dfff6e71f786a6c729e192ae804f73cf173
7
- data.tar.gz: fbe6fb495a0d930f680a1d175fccdb92e7f38724180e733de6801a38ac91eaf2a2a6237aa06b24246d6ee7a47f38c1c33ecb3e716b7b1757889d480ec6cc59fc
6
+ metadata.gz: da4597e779ea8d6a0466865fed72ceddd3d166675f3d001c7d69c92b16c59ca9c9a41cbb1c300913fdd54a442c994f59a41a940ecf3471c306ca4413a744a949
7
+ data.tar.gz: f853d341dd2468c6c304ed400e9b3c792c8463b24373eb64d6585d0e87f6e9adde2e9229d972d150504e0e697b7a40af07ca19c71cc548cb8037f2a1df6aabba
@@ -4,6 +4,7 @@ on: [pull_request]
4
4
 
5
5
  jobs:
6
6
  vm-job:
7
+ if: contains(toJson(github.event.commits), '[ci skip]') == false
7
8
  runs-on: ubuntu-latest
8
9
  strategy:
9
10
  max-parallel: 4
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- aws-liam (0.0.5)
4
+ aws-liam (0.0.7)
5
5
  aws-sdk-sns (~> 1.21)
6
6
  aws-sdk-sqs (~> 1.23, >= 1.23.1)
7
7
 
@@ -11,16 +11,16 @@ GEM
11
11
  addressable (2.7.0)
12
12
  public_suffix (>= 2.0.2, < 5.0)
13
13
  aws-eventstream (1.0.3)
14
- aws-partitions (1.279.0)
15
- aws-sdk-core (3.90.1)
14
+ aws-partitions (1.295.0)
15
+ aws-sdk-core (3.93.0)
16
16
  aws-eventstream (~> 1.0, >= 1.0.2)
17
17
  aws-partitions (~> 1, >= 1.239.0)
18
18
  aws-sigv4 (~> 1.1)
19
19
  jmespath (~> 1.0)
20
- aws-sdk-sns (1.21.0)
20
+ aws-sdk-sns (1.22.0)
21
21
  aws-sdk-core (~> 3, >= 3.71.0)
22
22
  aws-sigv4 (~> 1.1)
23
- aws-sdk-sqs (1.23.1)
23
+ aws-sdk-sqs (1.24.0)
24
24
  aws-sdk-core (~> 3, >= 3.71.0)
25
25
  aws-sigv4 (~> 1.1)
26
26
  aws-sigv4 (1.1.1)
@@ -3,6 +3,7 @@
3
3
  require 'aws-sdk-sqs'
4
4
  require 'liam/common'
5
5
  require 'liam/message_processor'
6
+ require 'pp'
6
7
 
7
8
  module Liam
8
9
  class Consumer
@@ -22,9 +23,9 @@ module Liam
22
23
 
23
24
  def execute
24
25
  poller.poll(poller_options) do |messages|
25
- puts "[aws-liam] Received #{messages} messages"
26
- puts messages.join("\n")
26
+ puts "INFO -- [aws-liam] : ** Received messages: #{messages.size} ** --"
27
27
  messages.each do |message|
28
+ pp message
28
29
  MessageProcessor.process(message)
29
30
  end
30
31
  end
@@ -13,7 +13,7 @@ module Liam
13
13
 
14
14
  def self.process(message)
15
15
  raise UnexpectedMessageError, message unless message.is_a?(Aws::SQS::Types::Message)
16
- puts "[aws-liam] Processing #{message}"
16
+ puts "[aws-liam] Processing..."
17
17
 
18
18
  new(message).send(:process)
19
19
  end
@@ -23,12 +23,17 @@ module Liam
23
23
  attr_reader :message
24
24
 
25
25
  private(*def_delegator(:message, :body))
26
+ private(*def_delegator(:message, :message_attributes))
26
27
  private(*def_delegator(:processor, :process))
27
28
 
28
- def parsed_message
29
+ def parsed_body
29
30
  JSON.parse(body)
30
31
  end
31
32
 
33
+ def parsed_message
34
+ JSON.parse(parsed_body['Message'])
35
+ end
36
+
32
37
  def processor
33
38
  Object.const_get(message_topic_name).new(parsed_message)
34
39
  rescue NameError => e
@@ -46,12 +51,14 @@ module Liam
46
51
  end
47
52
 
48
53
  def value
49
- @value ||= begin
50
- return if parsed_message.nil? || parsed_message.empty?
54
+ return @value if defined?(@value)
55
+
56
+ @value = begin
57
+ return if parsed_body.nil? || parsed_body.empty?
51
58
 
52
- message.message_attributes['event_name']&.string_value ||
53
- parsed_message.dig('MessageAttributes', 'event_name', 'Value')
54
- end
59
+ message_attributes['event_name']&.string_value ||
60
+ parsed_body.dig('MessageAttributes', 'event_name', 'Value')
61
+ end
55
62
  end
56
63
  end
57
64
  end
@@ -34,7 +34,7 @@ module Liam
34
34
  return UNSUPPORTED_TOPIC_ERROR unless supported_topic?
35
35
  return UNSUPPORTED_MESSAGE_ERROR unless message.is_a?(Hash)
36
36
 
37
- puts "[aws-liam] Publishing message: #{message}"
37
+ puts "INFO -- [aws-liam]: ** Publishing message: #{message} ** --"
38
38
  Aws::SNS::Client.new(client_options).publish(
39
39
  topic_arn: topic_arn,
40
40
  message: message.to_json,
@@ -58,7 +58,9 @@ module Liam
58
58
  end
59
59
 
60
60
  def topics
61
- @topics ||= env_credentials['events']
61
+ return @topics if defined?(@topics)
62
+
63
+ @topics = env_credentials['events']
62
64
  end
63
65
  end
64
66
  end
@@ -1,3 +1,3 @@
1
1
  module Liam
2
- VERSION = '0.0.6'
2
+ VERSION = '0.0.7'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-liam
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - alexismansilla
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2020-03-03 00:00:00.000000000 Z
13
+ date: 2020-04-07 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: aws-sdk-sns
@@ -161,7 +161,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
161
161
  - !ruby/object:Gem::Version
162
162
  version: '0'
163
163
  requirements: []
164
- rubygems_version: 3.0.3
164
+ rubyforge_project:
165
+ rubygems_version: 2.5.2
165
166
  signing_key:
166
167
  specification_version: 4
167
168
  summary: AWS SQS+SNS middleware integration between Ruby microservices