class HotsApi::Repositories::ReplayRepository

Public Instance Methods

fingerprint_uploaded?(fingerprint) click to toggle source
# 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) click to toggle source
# 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_build() click to toggle source
# 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) click to toggle source
# 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) click to toggle source
# 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_players() click to toggle source
# File lib/hots_api/repositories/replay_repository.rb, line 42
def with_players
  copy { @where_values[:with_players] = 1 }
end

Private Instance Methods

collection_path() click to toggle source
# File lib/hots_api/repositories/replay_repository.rb, line 90
def collection_path
  'replays'
end
date_string_for(date) click to toggle source
# File lib/hots_api/repositories/replay_repository.rb, line 78
def date_string_for(date)
  if date.respond_to?(:strftime)
    date.strftime('%F %T')
  else
    date.to_s
  end
end
end_date=(date) click to toggle source
# File lib/hots_api/repositories/replay_repository.rb, line 52
def end_date=(date)
  @where_values[:end_date] = date_string_for(date)
end
game_map=(map) click to toggle source
# File lib/hots_api/repositories/replay_repository.rb, line 56
def game_map=(map)
  @where_values[:game_map] = map
end
game_type=(game_type) click to toggle source
# File lib/hots_api/repositories/replay_repository.rb, line 60
def game_type=(game_type)
  @where_values[:game_type] = game_type
end
hero=(hero) click to toggle source
# File lib/hots_api/repositories/replay_repository.rb, line 73
def hero=(hero)
  raise 'filtering by hero is currently deactivated on hotsapi.net'
  @where_values[:hero] = hero
end
instantiate_record_with(attributes) click to toggle source
# File lib/hots_api/repositories/replay_repository.rb, line 86
def instantiate_record_with(attributes)
  Models::Replay.new(attributes)
end
min_id=(id) click to toggle source
# File lib/hots_api/repositories/replay_repository.rb, line 64
def min_id=(id)
  @where_values[:min_id] = id
end
player=(player) click to toggle source
# File lib/hots_api/repositories/replay_repository.rb, line 68
def player=(player)
  raise 'filtering by player is currently deactivated on hotsapi.net'
  @where_values[:player] = player
end
start_date=(date) click to toggle source
# File lib/hots_api/repositories/replay_repository.rb, line 48
def start_date=(date)
  @where_values[:start_date] = date_string_for(date)
end