Class: Assonnato::Episode

Inherits:
Object
  • Object
show all
Includes:
Parser
Defined in:
lib/assonnato/api/episode.rb

Instance Method Summary collapse

Methods included from Parser

#parse

Constructor Details

#initialize(client) ⇒ Episode

Returns a new instance of Episode.



13
14
15
# File 'lib/assonnato/api/episode.rb', line 13

def initialize(client)
  @client = client
end

Instance Method Details

#all(show) ⇒ Object



17
18
19
# File 'lib/assonnato/api/episode.rb', line 17

def all(show)
  parse @client.get("/api/v1/episodes/#{URI.escape show}")
end

#edit(name, episode, fields) ⇒ Object



33
34
35
36
37
38
# File 'lib/assonnato/api/episode.rb', line 33

def edit(name, episode, fields)
  path = '/api/v1/episode/edit'
  data = { name: name, episode: episode, _csrf: @client.user.csrf_token }.merge fields
  
  @client.post path, data
end

#get(show, episode) ⇒ Object



21
22
23
# File 'lib/assonnato/api/episode.rb', line 21

def get(show, episode)
  all(show).select { |ep| ep.episode == episode }
end

#last(status) ⇒ Object



25
26
27
# File 'lib/assonnato/api/episode.rb', line 25

def last(status)
  parse @client.get("/api/v1/episodes/last/#{status}")
end

#search(keyword) ⇒ Object

Raises:

  • (NotImplementedError)


29
30
31
# File 'lib/assonnato/api/episode.rb', line 29

def search(keyword)
  raise NotImplementedError, 'you cannot search episodes'
end