Class: KudagoClient::Requests::EventOfTheDayRequest

Inherits:
BaseRequest
  • Object
show all
Defined in:
lib/kudago_client/requests/event_of_the_day_request.rb

Constant Summary collapse

PATH =
"events-of-the-day/"
DIFFERENT_ATTRS =
[:ctype, :daterange, :first_image, :title, :date, :location, :item_url].freeze

Class Method Summary collapse

Methods inherited from BaseRequest

connection, get

Class Method Details

.list(params = {}) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/kudago_client/requests/event_of_the_day_request.rb', line 11

def self.list(params = {})
  params.slice!(:lang, :page, :page_size, :fields, :expand, :text_format, :location, :date)
  res = get(PATH, params)

  # looks bad a little :(
  results = res.data[:results]
  res.data[:results] =
    if results.nil?
      []
    else
      res.data[:results] = res.data[:results].map do |event_data|
        parse_event_data(event_data)
      end
    end

  res
end

.parse_event_data(event_data) ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
# File 'lib/kudago_client/requests/event_of_the_day_request.rb', line 31

def self.parse_event_data(event_data)
  attr_diff = event_data[:object].slice(*DIFFERENT_ATTRS)
  event = event_data[:object].except(*DIFFERENT_ATTRS)

  event[:location] = {slug: event_data[:location]}
  event[:dates] = [attr_diff[:daterange] || {start_date: event_data[:date]}]
  event[:title] = event_data[:title]
  event[:images] = [attr_diff[:first_image]] if attr_diff[:first_image]
  event[:site_url] = attr_diff[:item_url] if attr_diff[:item_url]
  event
end