ruby-sfn-local 0.1.5 → 0.1.6

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: 1d87496719dd8f50c7c11aabea2f8491490bf9de3d343c71a8bf81d977061711
4
- data.tar.gz: 971cf0f7a5bc42bac1bc696a88c70493675e868d3e02005765c215a171211eea
3
+ metadata.gz: 5fe17e00c8d4e14a4fce01894eb055a416e43abe8bcc9e7c9335a7af385e20af
4
+ data.tar.gz: d5fbd90070b32dd0c8d3afd1b6c7096842679b97028d8538efd19c0a70d29b98
5
5
  SHA512:
6
- metadata.gz: d3a80927e8f087ad773be0eb0c64e4b4be550a10929be43b45a79efad5923325f8bfc579906b1bb6e4520ea56e2a14e18010e538fa80e8a16b2f43eee57410cc
7
- data.tar.gz: f639bd302f6622747d3743745ed1264aca5d96103716d9e678f9d8a5e0b5bbf8b40d3959e19824da34ab71881bbcede1f7509d031c37b4dd913ae1a814746743
6
+ metadata.gz: fcde4ca78448650c0dfd234c9783a01f7ef9e90e819f3d678a9094a8702a2b3c3affdbcf99bd1450bfc04e74715f1c2e3de98bbe20098826758b71aa10eec79b
7
+ data.tar.gz: 2fdd25a501f35fd1d9b76198e1a3b71328eddc1b1c9dd470f8cf225655eb41f61271496cd6ba1bc3b0d1890c18be939e6d005d93d5fcf066a7077eec28148a73
data/lib/sfn/aws_cli.rb CHANGED
@@ -13,11 +13,13 @@ module Sfn
13
13
  "--#{k}=#{v}"
14
14
  end.join(' ')} \
15
15
  --no-cli-pager"
16
- stdout, stderr, _status = Open3.capture3(cmd)
16
+ if command == 'get-execution-history'
17
+ stdout = `#{cmd}`
18
+ else
19
+ stdout, stderr, _status = Open3.capture3(cmd)
20
+ raise raise ExecutionError, "#{stderr.strip}\n#{debug_info}" unless stderr.strip.empty?
21
+ end
17
22
 
18
- raise raise ExecutionError, "#{stderr.strip}\n#{debug_info}" unless stderr.strip.empty?
19
-
20
- stdout = `#{cmd}` if command == 'get-execution-history'
21
23
  unless key.nil?
22
24
  data = JSON.parse(stdout)
23
25
  return data[key].strip if data.key?(key)
@@ -15,11 +15,13 @@ module Sfn
15
15
  attr_accessor :event
16
16
 
17
17
  EVENTS = %w[stateEnteredEventDetails stateExitedEventDetails executionSucceededEventDetails
18
- executionFailedEventDetails].freeze
18
+ executionFailedEventDetails taskScheduledEventDetails].freeze
19
+
19
20
  def self.parse(execution_arn)
20
21
  profile = {}
21
22
  output = nil
22
23
  error = nil
24
+ state_name = nil
23
25
  events_json = AwsCli.run('stepfunctions', 'get-execution-history',
24
26
  { 'execution-arn': execution_arn.to_s, query: "'events[?#{EVENTS.join(' || ')}]'" })
25
27
  JSON.parse(events_json).each do |event|
@@ -27,13 +29,17 @@ module Sfn
27
29
 
28
30
  output ||= parsed_event.output
29
31
  error ||= parsed_event.error(events_json)
32
+ last_state_name = state_name
30
33
  state_name = parsed_event.state_name
31
34
 
32
- next if state_name.nil?
33
-
34
- profile[state_name] ||= { input: [], output: [] }
35
- profile[state_name][:input] << parsed_event.profile[:input] unless parsed_event.profile[:input].nil?
36
- profile[state_name][:output] << parsed_event.profile[:output] unless parsed_event.profile[:output].nil?
35
+ unless state_name.nil?
36
+ profile[state_name] ||= { input: [], output: [], parameters: [] }
37
+ profile[state_name][:input] << parsed_event.profile[:input] unless parsed_event.profile[:input].nil?
38
+ profile[state_name][:output] << parsed_event.profile[:output] unless parsed_event.profile[:output].nil?
39
+ end
40
+ if !last_state_name.nil? && !parsed_event.profile[:parameters].nil?
41
+ profile[last_state_name][:parameters] << parsed_event.profile[:parameters]
42
+ end
37
43
  end
38
44
  [output, profile]
39
45
  end
@@ -61,7 +67,8 @@ module Sfn
61
67
  def profile
62
68
  {
63
69
  input: try_parse(event.dig('stateEnteredEventDetails', 'input')),
64
- output: try_parse(event.dig('stateExitedEventDetails', 'output'))
70
+ output: try_parse(event.dig('stateExitedEventDetails', 'output')),
71
+ parameters: try_parse(event.dig('taskScheduledEventDetails', 'parameters'))
65
72
  }.compact
66
73
  end
67
74
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-sfn-local
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gianni Mazza
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-05-04 00:00:00.000000000 Z
11
+ date: 2022-05-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake-release