Method: Kennel::Syncer#initialize

Defined in:
lib/kennel/syncer.rb

#initialize(api, expected, project: nil) ⇒ Syncer

Returns a new instance of Syncer.



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/kennel/syncer.rb', line 7

def initialize(api, expected, project: nil)
  @api = api
  @project_filter = project
  @expected = expected
  if @project_filter
    original = @expected
    @expected = @expected.select { |e| e.project.kennel_id == @project_filter }
    if @expected.empty?
      possible = original.map { |e| e.project.kennel_id }.uniq.sort
      raise "#{@project_filter} does not match any projects, try any of these:\n#{possible.join("\n")}"
    end
  end
  @expected.each { |e| add_tracking_id e }
  calculate_diff
  prevent_irreversible_partial_updates
end