Class: BulkImports::ExportStatus

Inherits:
Object
  • Object
show all
Includes:
Gitlab::Utils::StrongMemoize
Defined in:
app/models/bulk_imports/export_status.rb

Instance Method Summary collapse

Constructor Details

#initialize(pipeline_tracker, relation) ⇒ ExportStatus

Returns a new instance of ExportStatus.



7
8
9
10
11
12
13
# File 'app/models/bulk_imports/export_status.rb', line 7

def initialize(pipeline_tracker, relation)
  @pipeline_tracker = pipeline_tracker
  @relation = relation
  @entity = @pipeline_tracker.entity
  @configuration = @entity.bulk_import.configuration
  @client = Clients::HTTP.new(url: @configuration.url, token: @configuration.access_token)
end

Instance Method Details

#batch(batch_number) ⇒ Object

Raises:

  • (ArgumentError)


39
40
41
42
43
44
45
# File 'app/models/bulk_imports/export_status.rb', line 39

def batch(batch_number)
  raise ArgumentError if batch_number < 1

  return unless batched?

  status['batches'].find { |item| item['batch_number'] == batch_number }
end

#batched?Boolean

Returns:

  • (Boolean)


31
32
33
# File 'app/models/bulk_imports/export_status.rb', line 31

def batched?
  status['batched'] == true
end

#batches_countObject



35
36
37
# File 'app/models/bulk_imports/export_status.rb', line 35

def batches_count
  status['batches_count'].to_i
end

#empty?Boolean

Returns:

  • (Boolean)


23
24
25
# File 'app/models/bulk_imports/export_status.rb', line 23

def empty?
  status.nil?
end

#errorObject



27
28
29
# File 'app/models/bulk_imports/export_status.rb', line 27

def error
  status['error']
end

#failed?Boolean

Returns:

  • (Boolean)


19
20
21
# File 'app/models/bulk_imports/export_status.rb', line 19

def failed?
  !empty? && status['status'] == Export::FAILED
end

#started?Boolean

Returns:

  • (Boolean)


15
16
17
# File 'app/models/bulk_imports/export_status.rb', line 15

def started?
  !empty? && status['status'] == Export::STARTED
end