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_copy, #last, #next_page, #spawn, #where

Instance Method Details

#fingerprint_uploaded?(fingerprint) ⇒ Boolean

Returns:

  • (Boolean)


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

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

#fingerprints_uploaded?(fingerprints) ⇒ Boolean

Returns:

  • (Boolean)


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

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

  upload_statuses = HotsApi.post('replays/fingerprints', body: fingerprints.join("\n")).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



35
36
37
# File 'lib/hots_api/repositories/replay_repository.rb', line 35

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

#trigger_hotslogs_upload(fingerprint) ⇒ Object



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

def trigger_hotslogs_upload(fingerprint)
  HotsApi.get("replays/fingerprints/v3/#{fingerprint}", params: {uploadToHotslogs: 1}).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



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

def with_players
  spawn { where_values[:with_players] = 1 }
end