class NetSuite::Records::MatrixOptionList

Public Class Methods

new(attributes = {}) click to toggle source

Deals with both hash and arrays of attributes

Hash:

<listAcct:matrixOptionList>
  <listAcct:matrixOption internalId="47" scriptId="custitem15">
    <platformCore:value internalId="2" typeId="36"/>
  </listAcct:matrixOption>
</listAcct:matrixOptionList>

Array:

<listAcct:matrixOptionList>
  <listAcct:matrixOption internalId="45" scriptId="custitem13">
    <platformCore:value internalId="4" typeId="28">
      <platformCore:name>foo</platformCore:name>
    </platformCore:value>
  </listAcct:matrixOption>
  <listAcct:matrixOption internalId="46" scriptId="custitem14">
    <platformCore:value internalId="1" typeId="29">
      <platformCore:name>bar</platformCore:name>
    </platformCore:value>
  </listAcct:matrixOption>
</listAcct:matrixOptionList>
# File lib/netsuite/records/matrix_option_list.rb, line 29
def initialize(attributes = {})
  case attributes[:matrix_option]
  when Hash
    options << OpenStruct.new(
      type_id: attributes[:matrix_option][:value][:'@type_id'],
      value_id: attributes[:matrix_option][:value][:'@internal_id'],
      script_id: attributes[:matrix_option][:@script_id],
      name: attributes[:matrix_option][:value][:name]
    )
  when Array
    attributes[:matrix_option].each do |option|
      options << OpenStruct.new(
        type_id: option[:value][:'@type_id'],
        value_id: option[:value][:'@internal_id'],
        script_id: option[:@script_id],
        name: option[:value][:name]
      )
    end
  end
end

Public Instance Methods

options() click to toggle source
# File lib/netsuite/records/matrix_option_list.rb, line 50
def options
  @options ||= []
end