Sha256: 891c827f8d01b081f9bd90f87074662abdc1f86e1da371ce469e38fae7800f9d
Contents?: true
Size: 1.25 KB
Versions: 17
Compression:
Stored size: 1.25 KB
Contents
module Eco::API::UseCases::GraphQL::Helpers::Location::Command class Result attr_reader :input, :result def initialize(input, result) @input = input @result = result end def command input.keys.first end def command_input_data input[command] end def node_id command_input_data[:nodeId] end def pending? !result || !success? end def applied? !pending? end def success? result&.ok end def error result&.error end def error? !!error end def error_msg return nil unless error? msg = [] msg << "(#{command} '#{node_id}') #{error.message}" feed = [] feed.concat(error.validationErrors.map(&:message)) unless error.validationErrors.empty? feed << "Command: #{command_input_data.pretty_inspect}" msg << " • #{feed.join("\n • ")}" msg.join("\n") end def command_result result&.command end def command_id return unless result command_result["id"] end def as_json { "request" => input, "response" => result.doc } end end end
Version data entries
17 entries across 17 versions & 1 rubygems