Sha256: cdeae34b85201b388cc6c9c218ef2cce1571af9458470de07da3648cc777751a

Contents?: true

Size: 1.64 KB

Versions: 13

Compression:

Stored size: 1.64 KB

Contents

# encoding: utf-8
module Mutx
  module API
    class Result
      def self.get_for_task(task_id)
        task = Mutx::Tasks::Task.get(task_id)
        if task
          {
            "project_name" => Dir.pwd.split("/").last,
            "task" => {id:task.id, name:task.name},
            "results" => results_list_for(task.id)
          }
        else
          {"results" => results_list}
        end
      end

      def self.results_list_for(task_id)
        task_results = Mutx::Results.results_ids_for(task_id)
        task_results.map do |result_id|
          info(result_id)
        end
      end

      def self.info(result_id)
        result = Mutx::Results::Result.get(result_id)
        if result
          result.api_response
        else
          {"message" => "Result #{result_id} not found"}
        end
      end

      # query_string is like "first.object.in.a.json"
      def self.data result_id, query_string=nil
        result = self.info result_id
        if query_string
          {"execution_data" =>Mutx::API::Path.data(result["execution_data"], query_string)}
        else
          {"type" => "result", "_id" => result["_id"], "status" => result["status"], "execution_data" => result["execution_data"]}
        end
      end

      # def self.path_data data, query_string
      #     query_string.split(".").each do |key|
      #       key = key.to_i if key =~ /^\d+$/
      #       data = data[key]
      #     end
      #     data
      # end

      def self.status result_id
        result = self.info result_id
        {"type" => "result", "status" => result["status"]}
      end

      # def self.results_list

      # end

    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
mutx-0.1.18 lib/mutx/API/result.rb
mutx-0.1.17 lib/mutx/API/result.rb
mutx-0.1.16 lib/mutx/API/result.rb
mutx-0.1.15 lib/mutx/API/result.rb
mutx-0.1.14 lib/mutx/API/result.rb
mutx-0.1.13 lib/mutx/API/result.rb
mutx-0.1.12 lib/mutx/API/result.rb
mutx-0.1.11 lib/mutx/API/result.rb
mutx-0.1.10 lib/mutx/API/result.rb
mutx-0.1.9 lib/mutx/API/result.rb
mutx-0.1.8 lib/mutx/API/result.rb
mutx-0.1.7 lib/mutx/API/result.rb
mutx-0.1.6 lib/mutx/API/result.rb