Sha256: 746973a6e188e2bc4e75215d892eca106fa4d08f26d70907144fc17e3b1c25ab

Contents?: true

Size: 981 Bytes

Versions: 7

Compression:

Stored size: 981 Bytes

Contents

module Rentvine
  class Client
    module Files
      def files(args = {})
        results = process_request(:get, 'files', params: args)
        return results if results.is_a?(RentvineError)

        results.map { |result| Rentvine::File.new(result[:file]) }
      end
      alias list_files files

      def file(file_id)
        result = process_request(:get, "files/#{file_id}")
        return result if result.is_a?(RentvineError)

        Rentvine::File.new(result[:file])
      end

      def upload_file(path_to_file, object_type_id, object_id)
        result = process_file(
          path_to_file,
          { object_type_id: object_type_id, object_id: object_id }
        )
        return result if result.is_a?(RentvineError)

        Rentvine::File.new(result[:file])
      end

      def delete_file(file_id)
        result = process_request(:delete, "files/#{file_id}")
        return result if result.is_a?(RentvineError)

        true
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
rentvine-0.4.0 lib/rentvine/client/files.rb
rentvine-0.3.3 lib/rentvine/client/files.rb
rentvine-0.3.2 lib/rentvine/client/files.rb
rentvine-0.3.1 lib/rentvine/client/files.rb
rentvine-0.3.0 lib/rentvine/client/files.rb
rentvine-0.2.0 lib/rentvine/client/files.rb
rentvine-0.1.0 lib/rentvine/client/files.rb