class Mumukit::Bridge::ResponseType::Structured

Public Instance Methods

build_hash(response) click to toggle source
# File lib/mumukit/bridge/runner/response_type.rb, line 32
def build_hash(response)
  test_results = parse_test_results(response['testResults'])
  {response_type: :structured,
   test_results: test_results,
   status: test_results.fetch_mumuki_status(:status)}
end

Private Instance Methods

parse_test_results(results) click to toggle source
# File lib/mumukit/bridge/runner/response_type.rb, line 41
def parse_test_results(results)
  results.map do |it|
    { summary: safe_compact(it['summary'])&.symbolize_keys.presence }
      .compact
      .merge(
        title: it['title'],
        status: it['status'].to_sym,
        result: it['result'])
  end
end
safe_compact(hash) click to toggle source
# File lib/mumukit/bridge/runner/response_type.rb, line 52
def safe_compact(hash)
  hash.try { |it| it.transform_values(&:presence).compact rescue nil }
end