module NetSuiteRails::RecordSync

Public Class Methods

included(klass) click to toggle source
# File lib/netsuite_rails/record_sync.rb, line 4
def self.included(klass)
  klass.class_eval do
    class_attribute :netsuite_settings

    self.netsuite_settings = {
      before_netsuite_push: [],
      after_netsuite_push: [],
      after_netsuite_pull: [],

      netsuite_sync: :read,
      netsuite_field_map: {},
      netsuite_field_hints: {},
      netsuite_record_class: nil,
    }

    cattr_accessor :netsuite_custom_record_type_id
    cattr_accessor :netsuite_sync_options

    self.netsuite_sync_options = {}
  end

  klass.send(:extend, ClassMethods)
  klass.send(:include, InstanceMethods)

  SyncTrigger.attach(klass)
  PollTrigger.attach(klass)
end