class WinRM::PSRP::MessageData::ErrorRecord
error record message type
Public Instance Methods
doc()
click to toggle source
# File lib/winrm/psrp/message_data/error_record.rb, line 40 def doc @doc ||= REXML::Document.new(raw) end
error_category_message()
click to toggle source
# File lib/winrm/psrp/message_data/error_record.rb, line 32 def error_category_message @error_category_message ||= string_prop('ErrorCategory_Message') end
error_details_script_stack_trace()
click to toggle source
# File lib/winrm/psrp/message_data/error_record.rb, line 36 def error_details_script_stack_trace @error_details_script_stack_trace ||= string_prop('ErrorDetails_ScriptStackTrace') end
exception()
click to toggle source
# File lib/winrm/psrp/message_data/error_record.rb, line 20 def exception @exception ||= property_hash('Exception') end
fully_qualified_error_id()
click to toggle source
# File lib/winrm/psrp/message_data/error_record.rb, line 24 def fully_qualified_error_id @fully_qualified_error_id ||= string_prop('FullyQualifiedErrorId') end
invocation_info()
click to toggle source
# File lib/winrm/psrp/message_data/error_record.rb, line 28 def invocation_info @invocation_info ||= property_hash('InvocationInfo') end
property_hash(prop_name)
click to toggle source
# File lib/winrm/psrp/message_data/error_record.rb, line 49 def property_hash(prop_name) prop_nodes = REXML::XPath.first(doc, "//*[@N='#{prop_name}']/Props") return {} if prop_nodes.nil? prop_nodes.elements.each_with_object({}) do |node, props| name = node.attributes['N'] props[underscore(name).to_sym] = node.text if node.text end end
string_prop(prop_name)
click to toggle source
# File lib/winrm/psrp/message_data/error_record.rb, line 44 def string_prop(prop_name) prop = REXML::XPath.first(doc, "//*[@N='#{prop_name}']") prop.text if prop end
underscore(camel)
click to toggle source
# File lib/winrm/psrp/message_data/error_record.rb, line 59 def underscore(camel) camel.gsub(/::/, '/') .gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2') .gsub(/([a-z\d])([A-Z])/, '\1_\2') .tr('-', '_').downcase end