Sha256: 6200ed31cd2550d2917fcc03a2fe7bd794a3b7ec9540f7075e1aaa837555321f

Contents?: true

Size: 1.28 KB

Versions: 8

Compression:

Stored size: 1.28 KB

Contents

# frozen_string_literal: true

module Dhis2
  module Api
    module Version224
      module SaveValidator
        def self.included(base)
          base.extend(ClassMethods)
        end

        private

        def validate_instance_update(response)
          unless instance_update_success?(response)
            raise Dhis2::UpdateError, "Update error. #{response}"
          end
        end

        def instance_update_success?(response)
          self.class.base_response_check(response) &&
            Dhis2::Api::ImportSummary.new(response["response"]).update_success?
        end

        module ClassMethods
          def validate_instance_creation(response)
            unless instance_creation_success?(response)
              raise Dhis2::CreationError, "Creation error. #{response}"
            end
          end

          def instance_creation_success?(response)
            base_response_check(response) &&
              Dhis2::Api::ImportSummary.new(response["response"]).creation_success?
          end

          def created_instance_id(response)
            response["response"]["last_imported"]
          end

          def base_response_check(response)
            response["status"] == "OK" &&
              response["response"]
          end
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
dhis2-3.3.1 lib/dhis2/api/version224/save_validator.rb
dhis2-3.2.1 lib/dhis2/api/version224/save_validator.rb
dhis2-3.0.7 lib/dhis2/api/version224/save_validator.rb
dhis2-3.0.5 lib/dhis2/api/version224/save_validator.rb
dhis2-3.0.4 lib/dhis2/api/version224/save_validator.rb
dhis2-3.0.3 lib/dhis2/api/version224/save_validator.rb
dhis2-3.0.2 lib/dhis2/api/version224/save_validator.rb
dhis2-3.0.0 lib/dhis2/api/version224/save_validator.rb