Comments (3)
Let me offer an analogy. Presumably you're familiar with Ecto. Definitely not prototype software.
You misunderstand what ExAws.S3 is. It operates in a manner very similar to an Ecto Repo, in that it simply implements the callbacks defined in a behaviour module, in this case ExAws.S3.Client. The documentation and typespecs are associated with the callbacks, they are not and to my knowledge cannot be injected into every module that implements that behaviour via use ExAws.S3.Client
.
I do see your point though, in that it would be nice to be able to point people to a good module for documentation in iex. If you do h ExAws.S3.Client
you get the moduledoc but not the callback docs. Perhaps there's a way to access that via h/1
.
from ex_aws.
From what I've gathered on IRC it is not possible at this time to get the docs for individual callbacks from h/1 in iex. This is definitely unfortunate, and you should consider making an issue for it there. However, this isn't anything to do with ExAws. I will add a note to the moduledoc of the S3, Dynamo and so on modules to make it clear that you should look at the docs in the .Client modules.
from ex_aws.
Presumably you're familiar with Ecto.
Barely. I'm very new to Elixir and have played with Ecto for a day or so but that's it. I don't remember having any particular problem getting docs for ecto in iex. For the specific example you showed, it at least names the arguments to the ecto function. For ExAws, the arguments are named in iex as arg0
, arg1
, etc, which gives no suggestion about their purpose. Is it possible to at least get the arguments named in the minimal bit displayed in iex?
Anyhow, being new to elixir, I confess I don't understand what the issue with behavior modules and callbacks is that prevents the docs from being usable in iex. Seeing the method signature with arg0
, arg1
, etc made me initially think that ExAws
was just a prototype (or in some alpha status) and not something I should bother with trying yet. If it's going to remain like that (and it sounds like it is, due to elixir restrictions), I'd recommend adding a note to your README to mention that this is a known, unsolvable issue due to elixir restrictions and that folks should consult the hexdocs.pm docs instead. That'll help keep new users like me from getting frustrated and thinking this is just a prototype.
Thanks!
from ex_aws.
Related Issues (20)
- Unable to get error details HOT 2
- ExAws.request attempting to parse XML with Jason when S3.put_bucket bucket exists
- >= 2.3.0 AuthCache issue HOT 1
- 2.3.3 — `ExAws.STS.AuthCache.AssumeRoleWebIdentityAdapter` Fails in China HOT 2
- Retry cycle is performed one attempt less than expected HOT 1
- Crash when HOME is not set HOT 2
- secret_access_key must be a string, but instead is [{:awscli, :system, 30}] HOT 4
- Compilation Error: Cyclical Module Declaration HOT 1
- Please include the "x-amz-target" header value in telemetry events HOT 1
- Credential loading doesn't respect XDG_CONFIG_HOME HOT 1
- partial step function binding example
- Compatibility with other providers? HOT 4
- Add timestream to aws-us-gov partition HOT 1
- v2.4.2 refreshable feature backwards incompatible with v2.4.1 HOT 5
- S3 objects with `?` in key cannot be queried HOT 1
- AccesDenied - ExAws Request Error! HOT 2
- process attempted to call itself HOT 4
- FSx endpoints HOT 1
- With sso-session config "Required key: :secret_access_key must be a string, but instead is..." HOT 6
- S3 object upload request failing for different regions HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ex_aws.