TomHale
How do I overload @doc strings?
I’m trying to work around the following warning:
warning: redefining @doc attribute previously set at line 78.
Please remove the duplicate docs. If instead you want to override a previously defined @doc, attach the @doc attribute to a function head (the function signature not followed by any do-block). For example:
@doc """
new docs
"""
def get_futures_instruments(...)
I’ve tried to implement this advice, but can’t seem to work it out. What I’m doing is:
@doc """
Get all instruments, optionally filtered by underlying instrument(s)
*** This is the main doc string that I'm trying to override below. ***
"""
def get_futures_instruments(filter \\ nil)
@doc "Get all instruments whose names start with the given `filter_str`"
@spec get_futures_instruments(String.t() | nil) :: {:ok, list(map)} | error_response()
def get_futures_instruments(filter_str) when is_binary(filter_str) or is_nil(filter_str) do
...
end
@doc "Get all instruments whose names start with any of those given in `filter_list`"
@spec get_futures_instruments(list(String.t())) :: {:ok, list(map)} | error_response()
def get_futures_instruments(filter_list) when is_list(filter_list) do
...
end
Most Liked
APB9785
Creator of ECSx
I think what the warning is getting at, is that all your docs should be above
def get_futures_instruments(filter \\ nil)
Checking the docs for the docs (Writing Documentation — Elixir v1.12.3), it says:
- Place documentation before the first clause of multi-clause functions. Documentation is always per function and arity and not per clause.
It seems like what you’re trying to do in the OP goes against this rule.
1
Nicd
Popular in Questions
I have VueJS GUIs with the project generated using Webpack.
I have Elixir modules that will need to be used by the VueJS GUIs.
I forese...
New
Why is it that the mnesia database isn’t the most preferred database for use in Elixir/Phoenix?
New
What is the idiomatic way of matching for not nil in Elixir?
E.g.,
First way:
defp halt_if_not_signed_in(conn, signed_in_account) when...
New
Hi All,
I set a environment variables in dev.exs , like below code.
when i start server, how can i set the ${enable} value?
thanks.
d...
New
Hi everyone,
I was playing with phoenix liveView but I run into an issue. I have a form and want to validate each input text when the te...
New
Hi,
I have to write a raw query for one of my project. But till now I have used ecto queries and don’t have much experience writing raw ...
New
I’ve got an issue with an app and I’ve no idea of how to troubleshoot it. I’m hoping someone here might have seen something similar.
I p...
New
Other popular topics
I would like to know what is the best IDE for elixir development?
New
What is the proper way to load a module from a file in to IEX?
In the python world, doing something like this pretty standard:
from ....
New
If I have a post route which an argument:
post /my_post_route/:my_param1, MyController.my_post_handler
How would get the post params ...
New
Phoenix 1.4.0 released
Phoenix 1.4 is out! This release ships with exciting new features, most notably
with HTTP2 support, improved deve...
New
I am trying to run a deploy with docker and I successfully runned with this command:
docker build -t romenigld/blog-prod .
but when I t...
New
In the code below, if the create action is not set to accept “extra_key” as an input, it errors out with a message shown above. Is there ...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #elixirconf-us
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #metaprogramming
- #security
- #hex









