class NetSuite::Actions::Get

Public Class Methods

new(klass, options = {}) click to toggle source
# File lib/netsuite/actions/get.rb, line 7
def initialize(klass, options = {})
  @klass   = klass
  @options = options
end

Private Instance Methods

request(credentials={}) click to toggle source
# File lib/netsuite/actions/get.rb, line 14
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 :get, message: request_body
end
request_body() click to toggle source

<soap:Body>

<platformMsgs:get>
  <platformMsgs:baseRef internalId="983" type="customer" xsi:type="platformCore:RecordRef">
    <platformCore:name/>
  </platformMsgs:baseRef>
</platformMsgs:get>

</soap:Body>

# File lib/netsuite/actions/get.rb, line 34
def request_body
  body = {
    'platformMsgs:baseRef' => {
      '@xsi:type'  => (@options[:custom] ? 'platformCore:CustomRecordRef' : 'platformCore:RecordRef')
    }
  }
  body['platformMsgs:baseRef']['@externalId'] = @options[:external_id] if @options[:external_id]
  body['platformMsgs:baseRef']['@internalId'] = @options[:internal_id] if @options[:internal_id]
  body['platformMsgs:baseRef']['@typeId']     = @options[:type_id]     if @options[:type_id]
  body['platformMsgs:baseRef']['@type']       = soap_type              unless @options[:custom]
  body
end
response_body() click to toggle source
# File lib/netsuite/actions/get.rb, line 51
def response_body
  @response_body ||= response_hash[:record]
end
response_hash() click to toggle source
# File lib/netsuite/actions/get.rb, line 55
def response_hash
  @response_hash = @response.body[:get_response][:read_response]
end
soap_type() click to toggle source
# File lib/netsuite/actions/get.rb, line 23
def soap_type
  @klass.to_s.split('::').last.lower_camelcase
end
success?() click to toggle source
# File lib/netsuite/actions/get.rb, line 47
def success?
  @success ||= response_hash[:status][:@is_success] == 'true'
end