Class: Maglev::SnapshotBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/maglev/snapshot_builder.rb

Instance Method Summary collapse

Constructor Details

#initialize(record, config, path: nil, visited: nil, attachment_extractor: nil, remaining_depth: Maglev.configuration.max_relation_depth) ⇒ SnapshotBuilder

Returns a new instance of SnapshotBuilder.



10
11
12
13
14
15
16
17
# File 'lib/maglev/snapshot_builder.rb', line 10

def initialize(record, config, path: nil, visited: nil, attachment_extractor: nil, remaining_depth: Maglev.configuration.max_relation_depth)
  @record = record
  @config = config
  @path = path
  @visited = visited || {}
  @attachment_extractor = attachment_extractor || Maglev.configuration.attachment_extractor || AttachmentExtractor.new
  @remaining_depth = remaining_depth
end

Instance Method Details

#buildObject



19
20
21
22
23
24
# File 'lib/maglev/snapshot_builder.rb', line 19

def build
  return Snapshot.new([]) if visited?

  mark_visited
  Snapshot.new(lines)
end