Packages
exvcr
0.3.1
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
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 Mix.Project.config[:test_coverage][:tool] == ExVCR do
ExVCR.Checker.append({type, ExVCR.Recorder.get_file_path(recorder)})
end
end
end