Packages
exvcr
0.13.4
0.17.1
0.17.0
0.16.0
0.15.2
0.15.1
0.15.0
0.14.4
0.14.3
0.14.2
0.14.1
0.14.0
0.13.5
0.13.4
0.13.3
0.13.2
0.13.1
0.13.0
0.12.3
0.12.2
0.12.1
0.12.0
0.11.2
0.11.1
0.11.0
0.10.4
0.10.3
0.10.2
0.10.1
0.10.0
0.9.1
0.9.0
0.8.12
0.8.11
0.8.10
0.8.9
0.8.8
0.8.7
0.8.6
0.8.5
0.8.4
0.8.3
0.8.2
0.8.1
0.8.0
0.7.4
0.7.3
0.7.2
0.7.1
0.7.0
0.6.1
0.6.0
0.5.2
0.5.1
0.5.0
0.4.1
0.4.0
0.3.9
0.3.8
0.3.7
0.3.6
0.3.5
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
0.2.1
0.2.0
0.1.7
0.1.6
0.1.5
HTTP request/response recording library for elixir, inspired by VCR.
Current section
Files
Jump to
Current section
Files
lib/exvcr/iex.ex
defmodule ExVCR.IEx do
@moduledoc """
Provides helper functions for IEx.
"""
alias ExVCR.Recorder
@doc """
Provides helper for monitoring http request/response in cassette json format.
"""
defmacro print(options \\ [], test) do
adapter = options[:adapter] || ExVCR.Adapter.IBrowse
method_name = :"ExVCR.IEx.Sample#{ExVCR.Util.uniq_id}"
quote do
defmodule unquote(method_name) do
use ExVCR.Mock, adapter: unquote(adapter)
def run do
recorder = Recorder.start(
unquote(options) ++ [fixture: "", adapter: unquote(adapter)])
try do
ExVCR.Mock.mock_methods(recorder, unquote(adapter))
unquote(test)
after
ExVCR.MockLock.release_lock()
Recorder.get(recorder)
|> JSX.encode!
|> JSX.prettify!
|> IO.puts
end
:ok
end
end
unquote(method_name).run()
end
end
end