Class: HotsApi::Repositories::ReplayRepository

Inherits:
Repository
  • Object
show all
Defined in:
lib/hots_api/repositories/replay_repository.rb

Instance Method Summary collapse

Methods inherited from Repository

#each, #find, #find_each, #initialize, #last, #length, #next_page, #size, #where

Constructor Details

This class inherits a constructor from HotsApi::Repositories::Repository

Instance Method Details

#fingerprint_uploaded?(fingerprint) ⇒ Boolean

Returns:

  • (Boolean)


16
17
18
19
# File 'lib/hots_api/repositories/replay_repository.rb', line 16

def fingerprint_uploaded?(fingerprint)
  response = HotsApi.get("replays/fingerprints/v3/#{fingerprint}")
  response.parse['exists']
end

#fingerprints_uploaded?(fingerprints) ⇒ Boolean

Returns:

  • (Boolean)


21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/hots_api/repositories/replay_repository.rb', line 21

def fingerprints_uploaded?(fingerprints)
  return {} if fingerprints.empty?

  response = HotsApi.post('replays/fingerprints', body: fingerprints.join("\n"))
  upload_statuses = response.parse

  {}.tap do |fingerprint_statuses|
    upload_statuses['exists'].each do |fingerprint|
      fingerprint_statuses[fingerprint] = true
    end

    upload_statuses['absent'].each do |fingerprint|
      fingerprint_statuses[fingerprint] = false
    end
  end
end

#minimum_supported_buildObject



38
39
40
# File 'lib/hots_api/repositories/replay_repository.rb', line 38

def minimum_supported_build
  HotsApi.get('replays/min-build').to_s.to_i
end

#trigger_hotslogs_upload(fingerprint) ⇒ Object



11
12
13
14
# File 'lib/hots_api/repositories/replay_repository.rb', line 11

def trigger_hotslogs_upload(fingerprint)
  response = HotsApi.get("replays/fingerprints/v3/#{fingerprint}", params: {uploadToHotslogs: 1})
  response.parse['exists']
end

#upload(file) ⇒ Object



6
7
8
9
# File 'lib/hots_api/repositories/replay_repository.rb', line 6

def upload(file)
  response = HotsApi.post('replays', file: file)
  Models::UploadedReplay.new(response.parse)
end

#with_playersObject



42
43
44
# File 'lib/hots_api/repositories/replay_repository.rb', line 42

def with_players
  copy { @where_values[:with_players] = 1 }
end