class NetSuite::Actions::Add

Attributes

response_hash[R]

Public Class Methods

new(object = nil) click to toggle source
# File lib/netsuite/actions/add.rb, line 9
def initialize(object = nil)
  @object = object
end

Private Instance Methods

errors() click to toggle source
# File lib/netsuite/actions/add.rb, line 65
def errors
  error_obj = response_hash[:status][:status_detail]
  error_obj = [error_obj] if error_obj.class == Hash
  error_obj.map do |error|
    NetSuite::Error.new(error)
  end
end
request(credentials={}) click to toggle source
# File lib/netsuite/actions/add.rb, line 15
def request(credentials={})
  NetSuite::Configuration.connection({}, credentials).call(:add, :message => request_body)
end
request_body() click to toggle source

<soap:Body>

<platformMsgs:add>
  <platformMsgs:record xsi:type="listRel:Customer">
    <listRel:entityId>Shutter Fly</listRel:entityId>
    <listRel:companyName>Shutter Fly, Inc</listRel:companyName>
  </platformMsgs:record>
</platformMsgs:add>

</soap:Body>

# File lib/netsuite/actions/add.rb, line 28
def request_body
  hash = {
    'platformMsgs:record' => {
      :content! => @object.to_record,
      '@xsi:type' => @object.record_type
    }
  }

  if @object.respond_to?(:internal_id) && @object.internal_id
    hash['platformMsgs:record']['@platformMsgs:internalId'] = @object.internal_id
  end

  if @object.respond_to?(:external_id) && @object.external_id
    hash['platformMsgs:record']['@platformMsgs:externalId'] = @object.external_id
  end

  hash
end
response_body() click to toggle source
# File lib/netsuite/actions/add.rb, line 51
def response_body
  @response_body ||= response_hash[:base_ref]
end
response_errors() click to toggle source
# File lib/netsuite/actions/add.rb, line 55
def response_errors
  if response_hash[:status] && response_hash[:status][:status_detail]
    @response_errors ||= errors
  end
end
success?() click to toggle source
# File lib/netsuite/actions/add.rb, line 47
def success?
  @success ||= response_hash[:status][:@is_success] == 'true'
end