wisco 0.2.0 → 0.2.1

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: e3f19309282c91c6852cb1f154f9207313d1ad22d6765720f3b343684ce038aa
4
- data.tar.gz: 9d1283d9cddffa149458e2e951bf519db1ef6d6bf09aaccf8a9e0b963ae2600b
3
+ metadata.gz: bd806fc6e7654c8df8d7fb20d08bd64f33cde8cff24770362a1752d2af96a23b
4
+ data.tar.gz: 9b834ed0d9f1d6242be4b61bdefd15b46184b4d815d892c258e69ba341a5591d
5
5
  SHA512:
6
- metadata.gz: 640ab92b67cbb771f4e7240f0884fc00afea45a14c4d4797ba4669babd13b4427bf079d9d907fc72ec6219dd8b7b4b013f6587518743f8e5e0c9ab19f20592bb
7
- data.tar.gz: 07fbe166f632e635a612c1162e2b8b9394bd225a1b08df080296cee2d5ce7332feb418a9fb67637cb7db9f91e28fb863b5c2bee4f08eed49b17e7dbcb19e324d
6
+ metadata.gz: 453649dd03027111cbc4fc0f0add8256c9369cfb971e941286df3021338d1bcaf1df6f09970d91c7e66604ac182be7933b31198a5cd3ff155160c2a6cff70671
7
+ data.tar.gz: d6fe40803f89746010bc2cbb450abff2fa6713db9c120c6b3e1d5fab29120724fda5b090a35d9c04c7d43274202fb6253dde0c2d3f116de58f3a0d6e7022e96f
@@ -49,7 +49,12 @@ module Wisco
49
49
  input_files = resolve_input_files(input, fixtures_dir)
50
50
 
51
51
  if input_files.empty?
52
- warn "\tWarning: No ready input files found in #{fixture_dir_output}"
52
+ if section == 'pick_lists'
53
+ # Static/dynamic pick list — no args needed; execute once with no input file
54
+ execute_one(section, key, nil, fixtures_dir, connector_full_path, connection, debug: debug)
55
+ else
56
+ warn "\tWarning: No ready input files found in #{fixture_dir_output}"
57
+ end
53
58
  next
54
59
  end
55
60
 
@@ -88,27 +93,35 @@ module Wisco
88
93
  end
89
94
 
90
95
  def execute_one(section, key, input_file, fixtures_dir, connector_full_path, connection, debug: false)
91
- stem = File.basename(input_file, '.*')
96
+ stem = input_file ? File.basename(input_file, '.*') : 'execute'
92
97
  output_file = File.join(fixtures_dir, "output_#{stem}.json")
93
98
  error_file = File.join(fixtures_dir, "error_#{stem}.txt")
94
99
 
95
- options = { connector: connector_full_path, input: input_file, output: output_file }
100
+ pick_list = (section == 'pick_lists')
101
+ exec_path = pick_list ? "#{section}.#{key}" : "#{section}.#{key}.execute"
102
+
103
+ options = { connector: connector_full_path, output: output_file }
96
104
  options[:connection] = connection if connection
105
+ if pick_list
106
+ options[:args] = input_file if input_file
107
+ else
108
+ options[:input] = input_file
109
+ end
97
110
 
98
111
  if debug
99
- warn "[exec] path: #{section}.#{key}.execute"
112
+ warn "[exec] path: #{exec_path}"
100
113
  warn "[exec] connector: #{connector_full_path}"
101
114
  warn "[exec] connection: #{connection.inspect}"
102
- warn "[exec] input: #{input_file}"
115
+ warn "[exec] #{pick_list ? 'args' : 'input'}: #{input_file.inspect}"
103
116
  warn "[exec] output: #{output_file}"
104
117
  end
105
118
 
106
119
  begin
107
- cmd = Workato::CLI::ExecCommand.new(path: "#{section}.#{key}.execute", options: options)
120
+ cmd = Workato::CLI::ExecCommand.new(path: exec_path, options: options)
108
121
  cmd.call
109
122
  rescue StandardError => e
110
123
  File.write(error_file, "#{e.class}: #{e.message}\n\n#{e.backtrace.join("\n")}\n")
111
- warn "Error executing #{section}.#{key} with #{File.basename(input_file)}: #{e.message}"
124
+ warn "Error executing #{section}.#{key} with #{input_file ? File.basename(input_file) : 'no input'}: #{e.message}"
112
125
  warn " Details written to: #{error_file}"
113
126
  return
114
127
  end
data/lib/wisco/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Wisco
2
- VERSION = '0.2.0'
2
+ VERSION = '0.2.1'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wisco
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - mbillington