This commit is contained in:
parent
7e30db3864
commit
f79f0db862
@ -1,8 +1,12 @@
|
|||||||
defmodule LolAnalytics.Facts.ChampionPickedSummonerSpell.FactProcessor do
|
defmodule LolAnalytics.Facts.ChampionPickedSummonerSpell.FactProcessor do
|
||||||
|
@behaviour LolAnalytics.Facts.FactBehaviour
|
||||||
|
|
||||||
require Logger
|
require Logger
|
||||||
|
|
||||||
alias LolAnalytics.Facts.ChampionPickedSummonerSpell
|
alias LolAnalytics.Facts.ChampionPickedSummonerSpell
|
||||||
|
|
||||||
|
@impl true
|
||||||
|
@spec process_game_at_url(String.t()) :: any()
|
||||||
def process_game_at_url(url) do
|
def process_game_at_url(url) do
|
||||||
data = HTTPoison.get!(url)
|
data = HTTPoison.get!(url)
|
||||||
process_game_data(data.body)
|
process_game_data(data.body)
|
||||||
|
@ -37,15 +37,14 @@ defmodule LolAnalytics.Facts.ChampionPickedSummonerSpell.Repo do
|
|||||||
)
|
)
|
||||||
|> Repo.one()
|
|> Repo.one()
|
||||||
|
|
||||||
changeset = Schema.changeset(prev || %Schema{}, attrs)
|
Schema.changeset(prev || %Schema{}, attrs)
|
||||||
|
|> Repo.insert_or_update()
|
||||||
Repo.insert_or_update(changeset)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def get_champion_picked_summoners(championId, team_position \\ "MIDDLE") do
|
def get_champion_picked_summoners(champion_id, team_position \\ "MIDDLE") do
|
||||||
query =
|
query =
|
||||||
from f in Schema,
|
from f in Schema,
|
||||||
where: f.champion_id == ^championId and f.team_position == ^team_position,
|
where: f.champion_id == ^champion_id and f.team_position == ^team_position,
|
||||||
join: c in ChampionSchema,
|
join: c in ChampionSchema,
|
||||||
on: c.champion_id == f.champion_id,
|
on: c.champion_id == f.champion_id,
|
||||||
join: s in SummonerSpellSchema,
|
join: s in SummonerSpellSchema,
|
||||||
@ -59,10 +58,8 @@ defmodule LolAnalytics.Facts.ChampionPickedSummonerSpell.Repo do
|
|||||||
)",
|
)",
|
||||||
f.is_win
|
f.is_win
|
||||||
),
|
),
|
||||||
id: f.champion_id,
|
|
||||||
spell_id: f.summoner_spell_id,
|
spell_id: f.summoner_spell_id,
|
||||||
metadata: s.metadata,
|
metadata: s.metadata,
|
||||||
champion_name: c.name,
|
|
||||||
champion_id: c.champion_id,
|
champion_id: c.champion_id,
|
||||||
team_position: f.team_position,
|
team_position: f.team_position,
|
||||||
total_games: count("*")
|
total_games: count("*")
|
||||||
@ -71,8 +68,6 @@ defmodule LolAnalytics.Facts.ChampionPickedSummonerSpell.Repo do
|
|||||||
f.champion_id,
|
f.champion_id,
|
||||||
f.summoner_spell_id,
|
f.summoner_spell_id,
|
||||||
s.metadata,
|
s.metadata,
|
||||||
c.image,
|
|
||||||
c.name,
|
|
||||||
c.champion_id,
|
c.champion_id,
|
||||||
f.team_position
|
f.team_position
|
||||||
]
|
]
|
||||||
|
@ -1,6 +1,10 @@
|
|||||||
defmodule LolAnalytics.Facts.ChampionPlayedGame.FactProcessor do
|
defmodule LolAnalytics.Facts.ChampionPlayedGame.FactProcessor do
|
||||||
require Logger
|
require Logger
|
||||||
|
|
||||||
|
@behaviour LolAnalytics.Facts.FactBehaviour
|
||||||
|
|
||||||
|
@impl true
|
||||||
|
@spec process_game_at_url(String.t()) :: none()
|
||||||
def process_game_at_url(path) do
|
def process_game_at_url(path) do
|
||||||
data = HTTPoison.get!(path)
|
data = HTTPoison.get!(path)
|
||||||
process_game_data(data.body)
|
process_game_data(data.body)
|
||||||
|
@ -0,0 +1,3 @@
|
|||||||
|
defmodule LolAnalytics.Facts.FactBehaviour do
|
||||||
|
@callback process_game_at_url(String.t()) :: any()
|
||||||
|
end
|
Loading…
x
Reference in New Issue
Block a user