Sha256: ee600ad03ede49c24ef4803e175af77394c3409c40e8354187fc245dfd83a924

Contents?: true

Size: 1.01 KB

Versions: 4

Compression:

Stored size: 1.01 KB

Contents

require 'pina/models/uploaded_document_pairing'

module Pina
  class UploadedDocumentPairing
    class << self
      def find(id)
        response = Pina::RestAdapter.get([:uploaded_documents, id, :pairings])

        return Pina::Models::UploadedDocumentPairing.new(attributes(response)) if
          response.ok?

        response
      end

      def create(params)
        response = Pina::RestAdapter.post([:uploaded_documents, params[:uploaded_document_id], :pairings],
                                          params.except(:uploaded_document_id))

        if response.ok?
          # TODO: implement uploaded_documents/:id/pairings response object in Fantozzi api
          response
        else
          Pina::Models::Error.new(attributes_for_error(response))
        end
      end

      private

      def attributes(response)
        response.to_hash.merge(response: response)
      end

      def attributes_for_error(response)
        response.to_hash.merge(status_code: response.status_code)
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
pina-0.14.4 lib/pina/uploaded_document_pairing.rb
pina-0.14.3 lib/pina/uploaded_document_pairing.rb
pina-0.14.2 lib/pina/uploaded_document_pairing.rb
pina-0.14.0 lib/pina/uploaded_document_pairing.rb