class NetSuite::Actions::Initialize

Public Class Methods

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

Public Instance Methods

request(credentials={}) click to toggle source
# File lib/netsuite/actions/initialize.rb, line 12
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",
      'xmlns:platformCoreTyp' => "urn:types.core_#{NetSuite::Configuration.api_version}.platform.webservices.netsuite.com",
    }}, credentials
  ).call :initialize, :message => request_body
end
request_body() click to toggle source

<platformMsgs:initializeRecord>

<platformCore:type>invoice</platformCore:type>
<platformCore:reference internalId="1513" type="salesOrder">
  <platformCore:name>1511</platformCore:name>
</platformCore:reference>

</platformMsgs:initializeRecord>

# File lib/netsuite/actions/initialize.rb, line 28
def request_body
  {
    'platformMsgs:initializeRecord' => {
      'platformCore:type'      => @klass.to_s.split('::').last.lower_camelcase,
      'platformCore:reference' => {},
      :attributes!             => {
        'platformCore:reference' => {
          'internalId' => @object.internal_id,
          :type        => @object.class.to_s.split('::').last.lower_camelcase
        }
      }
    }
  }
end
response_body() click to toggle source
# File lib/netsuite/actions/initialize.rb, line 51
def response_body
  @response_body ||= response_hash[:record]
end
response_hash() click to toggle source
# File lib/netsuite/actions/initialize.rb, line 43
def response_hash
  @response_hash ||= @response.to_hash[:initialize_response][:read_response]
end
success?() click to toggle source
# File lib/netsuite/actions/initialize.rb, line 47
def success?
  @success ||= response_hash[:status][:@is_success] == 'true'
end