Sha256: 7b4b2ba4bcc1e5d624d1acdaac7cdcba914c21af2471194c1875583d1684776b

Contents?: true

Size: 887 Bytes

Versions: 7

Compression:

Stored size: 887 Bytes

Contents

module Dhis2
  class Status
    attr_reader :raw_status

    def initialize(raw_status)
      @raw_status = raw_status
    end

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

    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

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

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
dhis2-2.3.5 lib/dhis2/status.rb
dhis2-2.3.4 lib/dhis2/status.rb
dhis2-2.3.3 lib/dhis2/status.rb
dhis2-2.3.2 lib/dhis2/status.rb
dhis2-2.3.1 lib/dhis2/status.rb
dhis2-2.2.1 lib/dhis2/status.rb
dhis2-2.2.0 lib/dhis2/status.rb