From 59cacc347041afdfbd8530c08e5fa1d49db55e66 Mon Sep 17 00:00:00 2001 From: The1hauntedX Date: Tue, 1 Mar 2022 01:01:31 -0600 Subject: [PATCH] Read JSON definition from file or STDIN The awslabs/j2119 module specifically says "json_source is the text to be validated; it can be a string or an IO or a filename, J2119 tries to do the right thing.". Use it. --- bin/statelint | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/bin/statelint b/bin/statelint index ea4c7b7..25b94d2 100755 --- a/bin/statelint +++ b/bin/statelint @@ -16,18 +16,16 @@ require 'statelint' linter = StateMachineLint::Linter.new -# arguments are JSON filenames -ARGV.each do |file| - problems = linter.validate(ARGV[0]) +# arguments are JSON filenames or STDIN +problems = linter.validate(ARGF.file) - if !problems.empty? - header = (problems.size == 1) ? 'One error:' : "#{problems.size} errors:" - puts header - problems.each do |problem| - puts " #{problem}" - end - - exit 1 +if !problems.empty? + header = (problems.size == 1) ? 'One error:' : "#{problems.size} errors:" + puts header + problems.each do |problem| + puts " #{problem}" end + +exit 1 end