module NetSuiteRails::RecordSync::ClassMethods

Attributes

netsuite_custom_record_type_id[RW]
netsuite_sync_options[RW]

Public Instance Methods

after_netsuite_pull(callback = nil, &block) click to toggle source
# File lib/netsuite_rails/record_sync.rb, line 53
def after_netsuite_pull(callback = nil, &block)
  self.netsuite_settings[:after_netsuite_pull] << (callback || block) if callback || block
  self.netsuite_settings[:after_netsuite_pull]
end
after_netsuite_push(callback = nil, &block) click to toggle source
# File lib/netsuite_rails/record_sync.rb, line 48
def after_netsuite_push(callback = nil, &block)
  self.netsuite_settings[:after_netsuite_push] << (callback || block) if callback || block
  self.netsuite_settings[:after_netsuite_push]
end
before_netsuite_push(callback = nil, &block) click to toggle source

TODO is there a better way to implement callback chains?

https://github.com/rails/rails/blob/0c0f278ab20f3042cdb69604166e18a61f8605ad/activesupport/lib/active_support/callbacks.rb#L491
# File lib/netsuite_rails/record_sync.rb, line 43
def before_netsuite_push(callback = nil, &block)
  self.netsuite_settings[:before_netsuite_push] << (callback || block) if callback || block
  self.netsuite_settings[:before_netsuite_push]
end
netsuite_custom_record?() click to toggle source

there is a model level of this method in order to be based on the model level record class

# File lib/netsuite_rails/record_sync.rb, line 85
def netsuite_custom_record?
  self.netsuite_record_class == NetSuite::Records::CustomRecord
end
netsuite_field_hints(list = nil) click to toggle source
# File lib/netsuite_rails/record_sync.rb, line 66
def netsuite_field_hints(list = nil)
  if !list.nil?
    self.netsuite_settings[:netsuite_field_hints] = list
  end

  self.netsuite_settings[:netsuite_field_hints]
end
netsuite_field_map(field_mapping = nil) click to toggle source
# File lib/netsuite_rails/record_sync.rb, line 58
def netsuite_field_map(field_mapping = nil)
  if !field_mapping.nil?
    self.netsuite_settings[:netsuite_field_map] = field_mapping
  end

  self.netsuite_settings[:netsuite_field_map]
end
netsuite_poll(opts = {}) click to toggle source
# File lib/netsuite_rails/record_sync.rb, line 33
def netsuite_poll(opts = {})
  RecordSync::PollManager.poll(self, opts)
end
netsuite_record_class(record_class = nil, custom_record_type_id = nil) click to toggle source

TODO persist type for CustomRecordRef

# File lib/netsuite_rails/record_sync.rb, line 75
def netsuite_record_class(record_class = nil, custom_record_type_id = nil)
  if !record_class.nil?
    self.netsuite_settings[:netsuite_record_class] = record_class
    self.netsuite_custom_record_type_id = custom_record_type_id
  end

  self.netsuite_settings[:netsuite_record_class]
end
netsuite_sync(flag = nil, opts = {}) click to toggle source

:read, :write_only, :read_write

# File lib/netsuite_rails/record_sync.rb, line 90
def netsuite_sync(flag = nil, opts = {})
  if !flag.nil?
    self.netsuite_sync_options = opts
    self.netsuite_settings[:netsuite_sync] = flag
  end

  self.netsuite_settings[:netsuite_sync]
end