Sha256: ccbd86eda597d34a1d12ad2eac362c37c8e54a15985878298aa6ae169b873bc2

Contents?: true

Size: 917 Bytes

Versions: 6

Compression:

Stored size: 917 Bytes

Contents

module Roqua
  module CoreApi
    # @api private
    class Dossiers < Base
      model :session, class: Sessions::AuthSession
      string :dossier_group_id, default: nil
      string :with_name, default: nil
      string :with_external_identifier, default: nil

      validates :dossier_group_id, presence: true, if: :with_external_identifier?

      # usage:
      # Roqua.CoreApi.Dossiers.run!.each do |d|
      #   puts d.id, d.birth_year, d.gender, d.firstname, d.lastname
      # end
      def execute
        response = session.get "#{url_prefix}/dossiers", params
        create_enum(response['headers'], response['rows'])
      end

      def url_prefix
        dossier_group_id.present? ? "/dossier_groups/#{dossier_group_id}" : ''
      end

      def params
        {name: with_name,
         external_identifier: with_external_identifier
        }.delete_if { |k, v| v.nil? }
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
roqua-core-api-0.1.1 lib/roqua/core_api/dossiers.rb
roqua-core-api-0.1.0 lib/roqua/core_api/dossiers.rb
roqua-core-api-0.0.39 lib/roqua/core_api/dossiers.rb
roqua-core-api-0.0.38 lib/roqua/core_api/dossiers.rb
roqua-core-api-0.0.37 lib/roqua/core_api/dossiers.rb
roqua-core-api-0.0.36 lib/roqua/core_api/dossiers.rb