Packages
exvcr
0.8.0
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/checker.ex
defmodule ExVCR.Checker do
@moduledoc """
Provides data store for checking which cassette files are used.
It's for [mix vcr.check] task.
"""
use ExActor.GenServer, export: :singleton
defstart start(arg), do: initial_state(arg)
defcall get, state: state, do: reply(state)
defcast set(x), do: new_state(x)
defcast append(x), state: state, do: new_state(%{state | files: [x|state.files]})
@doc """
Increment the counter for cache cassettes hit.
"""
def add_cache_count(recorder), do: add_count(recorder, :cache)
@doc """
Increment the counter for server request hit.
"""
def add_server_count(recorder), do: add_count(recorder, :server)
defp add_count(recorder, type) do
if ExVCR.Checker.get != [] do
ExVCR.Checker.append({type, ExVCR.Recorder.get_file_path(recorder)})
end
end
end