Class: Dhis2::Status

Inherits:
Object
  • Object
show all
Defined in:
lib/dhis2/status.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(raw_status) ⇒ Status

Returns a new instance of Status.



7
8
9
# File 'lib/dhis2/status.rb', line 7

def initialize(raw_status)
  @raw_status = raw_status
end

Instance Attribute Details

#raw_statusObject (readonly)

Returns the value of attribute raw_status.



5
6
7
# File 'lib/dhis2/status.rb', line 5

def raw_status
  @raw_status
end

Instance Method Details

#import_summariesObject



37
38
39
40
# File 'lib/dhis2/status.rb', line 37

def import_summaries
  return [] unless @raw_status["response"]["import_summaries"]
  @raw_status["response"]["import_summaries"].map { |it| OpenStruct.new(it) }
end

#last_imported_idsObject



32
33
34
35
# File 'lib/dhis2/status.rb', line 32

def last_imported_ids
  return [] unless @raw_status["import_type_summaries"]
  @raw_status["import_type_summaries"].map { |summary| summary["last_imported"] }
end

#success?Boolean

Returns:

  • (Boolean)


11
12
13
14
15
16
17
18
# File 'lib/dhis2/status.rb', line 11

def success?
  if @raw_status["import_type_summaries"]
    return @raw_status["import_type_summaries"].all? do |summary|
      summary["status"] == "SUCCESS"
    end
  end
  %w[SUCCESS OK].include?(@raw_status["status"])
end

#total_importedObject



20
21
22
23
24
25
26
27
28
29
30
# File 'lib/dhis2/status.rb', line 20

def total_imported
  total = 0
  if @raw_status["import_count"]
    @raw_status["import_count"].each do |_, count|
      total += count
    end
  elsif @raw_status["type_reports"]
    total += @raw_status["type_reports"].first["stats"]["total"]
  end
  total
end