Class: CassetteRack::Drawer

Inherits:
Object
  • Object
show all
Defined in:
lib/cassette-rack/drawer.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, options = {}) ⇒ Drawer

Returns a new instance of Drawer.



9
10
11
# File 'lib/cassette-rack/drawer.rb', line 9

def initialize(name, options={})
  @name = name
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



7
8
9
# File 'lib/cassette-rack/drawer.rb', line 7

def name
  @name
end

Instance Method Details

#cassetteObject



13
14
15
# File 'lib/cassette-rack/drawer.rb', line 13

def cassette
  @cassette ||= VCR::Cassette.new(name)
end

#deleteObject



21
22
23
# File 'lib/cassette-rack/drawer.rb', line 21

def delete
  File.delete cassette.file if self.exist?
end

#exist?Boolean

Returns:

  • (Boolean)


25
26
27
# File 'lib/cassette-rack/drawer.rb', line 25

def exist?
  File.exist?(cassette.file)
end

#httpObject



37
38
39
# File 'lib/cassette-rack/drawer.rb', line 37

def http
  cassette.http_interactions.interactions.last
end

#pullObject



29
30
31
32
33
34
35
# File 'lib/cassette-rack/drawer.rb', line 29

def pull
  request = CassetteRack::Decorator::Request.new(http.request)
  response = CassetteRack::Decorator::Response.new(http.response)

  template = Liquid::Template.parse(CassetteRack::Configure.content_template)
  template.render('title' => name, 'request' => request, 'response' => response)
end

#renderObject



17
18
19
# File 'lib/cassette-rack/drawer.rb', line 17

def render
  Kramdown::Document.new(self.pull).to_html
end