aws-liam 0.0.6 → 0.0.7

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