Class: MrVideo::Episode

Inherits:
Object
  • Object
show all
Defined in:
app/models/mr_video/episode.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(cassette, http_interaction) ⇒ Episode

Returns a new instance of Episode.



6
7
8
9
# File 'app/models/mr_video/episode.rb', line 6

def initialize(cassette, http_interaction)
  @cassette = cassette
  @http_interaction = http_interaction
end

Instance Attribute Details

#cassetteObject (readonly)

Returns the value of attribute cassette.



4
5
6
# File 'app/models/mr_video/episode.rb', line 4

def cassette
  @cassette
end

Instance Method Details

#contentObject



27
28
29
# File 'app/models/mr_video/episode.rb', line 27

def content
  response['body']['string']
end

#content_typeObject



31
32
33
# File 'app/models/mr_video/episode.rb', line 31

def content_type
  headers['content-type'][0]
end

#destroyObject



39
40
41
# File 'app/models/mr_video/episode.rb', line 39

def destroy
  cassette.send(:destroy_episode, self)
end

#idObject



11
12
13
# File 'app/models/mr_video/episode.rb', line 11

def id
  @id ||= IdService.encode(url)
end

#inspectObject



43
44
45
# File 'app/models/mr_video/episode.rb', line 43

def inspect
  to_s
end

#recorded_atObject



35
36
37
# File 'app/models/mr_video/episode.rb', line 35

def recorded_at
  Time.zone.parse(http_interaction['recorded_at'].to_s).to_datetime
end

#request_methodObject



15
16
17
# File 'app/models/mr_video/episode.rb', line 15

def request_method
  request['method']
end

#to_paramObject



47
48
49
# File 'app/models/mr_video/episode.rb', line 47

def to_param
  id.to_s
end

#urlObject



19
20
21
# File 'app/models/mr_video/episode.rb', line 19

def url
  request['uri']
end

#website_urlObject



23
24
25
# File 'app/models/mr_video/episode.rb', line 23

def website_url
  @website_url ||= "#{uri.scheme}://#{uri.host}"
end