Class: Jumbotron::Deserializers::Clients::Espn::Competition

Inherits:
Object
  • Object
show all
Defined in:
app/deserializers/jumbotron/deserializers/clients/espn/competition.rb

Defined Under Namespace

Classes: Result

Class Method Summary collapse

Class Method Details

.call(payload) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'app/deserializers/jumbotron/deserializers/clients/espn/competition.rb', line 19

def self.call(payload)
  Support.ensure_hash!(payload, label: "competition")

  Result.build!(
    id: coerce_id(Support.payload.fetch(payload, "id")),
    uid: Support.payload.fetch(payload, "uid"),
    date: Support.payload.fetch(payload, "date"),
    start_date: Support.payload.fetch(payload, "startDate"),
    neutral_site: Support.payload.fetch(payload, "neutralSite"),
    status: Support.nest("status", Support.payload.fetch(payload, "status")) { |raw| Status.call(raw) },
    venue: Support.nest("venue", Support.payload.fetch(payload, "venue")) { |raw| Venue.call(raw) },
    competitors: map_competitors(Support.payload.fetch(payload, "competitors"))
  )
end