Class: VersioRac1::Podcast::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/versio_rac1/podcast/client.rb

Class Method Summary collapse

Class Method Details

.fetch(*args) ⇒ Object



11
12
13
14
15
16
17
18
19
# File 'lib/versio_rac1/podcast/client.rb', line 11

def self.fetch(*args)
  response = Faraday.get(FeedUrl.list(*args))

  if response.status == 200
    response.body
  else
    fail ClientError
  end
end

.list(*args) ⇒ Object



7
8
9
# File 'lib/versio_rac1/podcast/client.rb', line 7

def self.list(*args)
  parse(fetch(*args))
end

.parse(body) ⇒ Object



21
22
23
24
25
# File 'lib/versio_rac1/podcast/client.rb', line 21

def self.parse(body)
  Nokogiri::Slop(body).xpath("//channel//item").map do |item|
    Episode.from_slop(item)
  end
end