inspect — я хочу выводить структурированные данные для анализа другой функцией

#ruby #inspec

#ruby #inspect

Вопрос:

У меня есть тест inspect, это здорово:

 inspec exec scratchpad/profiles/forum_profile --reporter yaml
  

Проблема в том, что я хочу запустить это в скрипте и вывести это в массив

Я не могу найти документацию, в которой указано, какой метод мне нужно использовать для имитации того же

Я делаю это

 def my_func
  http_checker = Inspec::Runner.new()
  http_checker.add_target('scratchpad/profiles/forum_profile')
  http_checker.run
  puts http_checker.report
  

Итак, метод report, похоже, дает мне загрузку эквивалентного типа и многое другое — есть ли у кого-нибудь документация или рекомендации по возврату того же результата, что и ответ --reporter yaml типа, но в сценарии? Я хочу проанализировать ответ, чтобы я мог поделиться выводом с другой функцией

Ответ №1:

Я никогда не касался inspec , поэтому отнеситесь к следующему с недоверием, но в соответствии с https://github.com/inspec/inspec/blob/master/lib/inspec/runner.rb#L140 , вы можете предоставить reporter опцию при создании экземпляра runner. Глядя на https://github.com/inspec/inspec/blob/master/lib/inspec/reporters.rb#L11 Я думаю, что это должно быть что-то. Нравится ["yaml", {}] . Итак, не могли бы вы попробовать

 # ...
http_checker = Inspec::Runner.new(reporter: ["yaml", {}])
# ...
  

(скорее всего, это даст вам желаемый результат)

Комментарии:

1. Казалось, что это работает отлично http_checker = Inspec::Runner.new(reporter: ["yaml"])