Current section
Files
Jump to
Current section
Files
lib/segment/hnsha.ex
defmodule FinTex.Segment.HNSHA do
@moduledoc false
alias FinTex.Model.Dialog
defstruct [:response, segment: nil]
def new(
s = %__MODULE__{response: response},
%Dialog{
bank: bank,
user_agent_name: user_agent_name,
pin: pin
}
) do
v = case bank.version do
"300" -> 2
_ -> 1
end
pin = case response do
nil -> pin
_ -> [pin, response]
end
%__MODULE__{ s |
segment:
[
["HNSHA", "?", v],
user_agent_name,
"",
pin
]
}
end
end
defimpl Inspect, for: FinTex.Segment.HNSHA do
@asterisks "******"
def inspect(%{segment: segment}, opts) do
segment
|> Enum.to_list
|> List.replace_at(3, @asterisks)
|> Inspect.inspect(opts)
end
end