class NetSuite::Actions::DeleteList
Public Class Methods
new(klass, options = { })
click to toggle source
# File lib/netsuite/actions/delete_list.rb, line 6 def initialize(klass, options = { }) @klass = klass @options = options end
Private Instance Methods
errors()
click to toggle source
# File lib/netsuite/actions/delete_list.rb, line 74 def errors errors = response_list.select { |r| r[:status] && r[:status][:status_detail] }.map do |obj| error_obj = obj[:status][:status_detail] error_obj = [error_obj] if error_obj.class == Hash errors = error_obj.map do |error| NetSuite::Error.new(error) end [obj[:base_ref][:@internal_id], errors] end Hash[errors] end
request(credentials={})
click to toggle source
# File lib/netsuite/actions/delete_list.rb, line 13 def request(credentials={}) NetSuite::Configuration.connection( {namespaces: { 'xmlns:platformMsgs' => "urn:messages_#{NetSuite::Configuration.api_version}.platform.webservices.netsuite.com", 'xmlns:platformCore' => "urn:core_#{NetSuite::Configuration.api_version}.platform.webservices.netsuite.com" }}, credentials ).call :delete_list, message: request_body end
request_body()
click to toggle source
<soap:Body>
<platformMsgs:deleteList> <platformMsgs:baseRef internalId="1" type="customer" xsi:type="platformCore:RecordRef"/> <platformMsgs:baseRef internalId="2" type="customer" xsi:type="platformCore:RecordRef"/> </platformMsgs:deleteList>
</soap:Body>
# File lib/netsuite/actions/delete_list.rb, line 28 def request_body list = @options.is_a?(Hash) ? @options[:list] : @options formatted_list = if @options[:type_id] type_id = @options[:type_id] record_type = 'platformCore:CustomRecordRef' list.map do |internal_id| { '@internalId' => internal_id, '@typeId' => type_id, '@xsi:type' => record_type } end else type = @klass.to_s.split('::').last.lower_camelcase record_type = 'platformCore:RecordRef' list.map do |internal_id| { '@internalId' => internal_id, '@type' => type, '@xsi:type' => record_type } end end { baseRef: formatted_list } end
response_body()
click to toggle source
# File lib/netsuite/actions/delete_list.rb, line 87 def response_body @response_body ||= response_list end
response_errors()
click to toggle source
# File lib/netsuite/actions/delete_list.rb, line 68 def response_errors if response_list.any? { |r| r[:status][:@is_success] == 'false' } @response_errors ||= errors end end
response_list()
click to toggle source
# File lib/netsuite/actions/delete_list.rb, line 60 def response_list @response_list ||= array_wrap(@response.to_hash[:delete_list_response][:write_response_list][:write_response]) end
success?()
click to toggle source
# File lib/netsuite/actions/delete_list.rb, line 64 def success? @success ||= response_errors.blank? end