Class: ActiveRecord::Duplicator::HandlerApi

Inherits:
Object
  • Object
show all
Defined in:
lib/active_record/duplicator/handler_api.rb,
sig/generated/active_record/duplicator/handler_api.rbs

Overview

The public API surface handed to blocks registered via Session#on. Wraps the current Session and exposes only the subset of methods a handler should call. Session-level methods such as on and duplicate are intentionally not surfaced here.

Instance Method Summary collapse

Constructor Details

#initialize(session) ⇒ HandlerApi

: (Session) -> void

Parameters:



13
14
15
# File 'lib/active_record/duplicator/handler_api.rb', line 13

def initialize(session)
  @session = session
end

Instance Method Details

#attributes_forHash[String, untyped]

: (Class, ActiveRecord::Base) -> Hash[String, untyped]

Parameters:

  • (Class)
  • (ActiveRecord::Base)

Returns:

  • (Hash[String, untyped])


48
49
50
# File 'lib/active_record/duplicator/handler_api.rb', line 48

def attributes_for(...)
  @session.attributes_for(...)
end

#bulk_insertvoid

This method returns an undefined value.

: (Class, untyped, ?batch_size: Integer, ?cursor: untyped) -> void

Parameters:

  • (Class)
  • (Object)
  • batch_size: (Integer)
  • cursor: (Object)


43
44
45
# File 'lib/active_record/duplicator/handler_api.rb', line 43

def bulk_insert(...)
  @session.bulk_insert(...)
end

#fetch_new_idObject

: (Class, old_id: untyped) -> untyped

Parameters:

  • (Class)
  • old_id: (Object)

Returns:

  • (Object)


38
39
40
# File 'lib/active_record/duplicator/handler_api.rb', line 38

def fetch_new_id(...)
  @session.fetch_new_id(...)
end

#mark_skipvoid

This method returns an undefined value.

: (*ActiveRecord::Base) -> void

Parameters:

  • (ActiveRecord::Base)


18
19
20
# File 'lib/active_record/duplicator/handler_api.rb', line 18

def mark_skip(...)
  @session.mark_skip(...)
end

#mark_skip_classvoid

This method returns an undefined value.

: (*Class) -> void

Parameters:

  • (Class)


28
29
30
# File 'lib/active_record/duplicator/handler_api.rb', line 28

def mark_skip_class(...)
  @session.mark_skip_class(...)
end

#mark_skip_idvoid

This method returns an undefined value.

: (Class, *untyped) -> void

Parameters:

  • (Class)
  • (Object)


23
24
25
# File 'lib/active_record/duplicator/handler_api.rb', line 23

def mark_skip_id(...)
  @session.mark_skip_id(...)
end

#store_new_idvoid

This method returns an undefined value.

: (Class, old_id: untyped, new_id: untyped) -> void

Parameters:

  • (Class)
  • old_id: (Object)
  • new_id: (Object)


33
34
35
# File 'lib/active_record/duplicator/handler_api.rb', line 33

def store_new_id(...)
  @session.store_new_id(...)
end