Commit Graph

34 Commits

Author SHA1 Message Date
Sebastian Thiel
79cbf3ee3f feat(docs): add more obvious crate and api version
Fixes #16
2015-03-17 09:21:53 +01:00
Sebastian Thiel
2c79f6e3cf feat(doit): authentication with and without scopes
It's quite rough around the edges, but has a slight chance to work.
Will still to handle return values accordingly.
2015-03-16 15:23:38 +01:00
Sebastian Thiel
7f33cf22a5 feat(docs): add cargo.toml dependency information
Fixes #10
2015-03-15 11:37:19 +01:00
Sebastian Thiel
8006bb8ca9 fix(activities): fully qualified activity names
Fixes #7
2015-03-14 11:23:01 +01:00
Sebastian Thiel
c8061ebe2f fix(#5): use function to make links correctly
It will automatically handle rust-doc mode, and use relative or absolute
links respectively.
2015-03-13 15:39:33 +01:00
Sebastian Thiel
4cf365d026 docs(todos): result handling and remaining todos
Basically there is no todo left, which puts us in a good position for
implementing more features, and get some feedback in the meanwhile.
2015-03-13 15:01:32 +01:00
Sebastian Thiel
9a17ab9e4e feat(docs): full usage example on landing page
Related to #4
2015-03-12 16:40:28 +01:00
Sebastian Thiel
9b308bb6dd fix(cosmetics): nicer code and identifiers 2015-03-11 11:29:57 +01:00
Sebastian Thiel
df9f0299bf fix(mako): deal with missing auth information
Now all APIs can be built successfully, which should help to
prevent things from getting hardcoded in any way.
2015-03-10 17:10:07 +01:00
Sebastian Thiel
7816cc8145 fix(util): do not degenerate during activity_split
First step, next one will actually be keeping that data ...
2015-03-10 16:10:19 +01:00
Sebastian Thiel
1e332ddb91 fix(libdocs): asssure candidate is in mapping
It seems nearly nothing can be taken for granted ;).
It's best to just run against a big set of APIs and fix issues as they
arise though.

More flexibility means more maintenance, after all.
2015-03-10 15:58:39 +01:00
Sebastian Thiel
92d8fa76d0 fix(apis): intermediate improvements ...
... it shows that the override I used previously won't work for `admin`.
Therefore we have to keep the actual value, instead of degenrating it.

Makes sense ... it's interesting how much one tends to hard-code things
to work just for a few cases, unless you opt in to see the whole picture
2015-03-10 15:54:43 +01:00
Sebastian Thiel
2531011fc5 fix(resource): now with flattened activities
That way, we don't have recursive method builders, but instead
flatten the hierarchy. In our case, this is easier and means
less to type. E.g.

`hub.user().message().import(...)` now is
`hub.user().message_import(...)`

In go it would look like this though
`hub.user.messages.import(...)
which is neater.

We will never have that though, as it will initialize a massive amount
of data right on the stack, even though only some of it is ever used
... .
2015-03-10 11:55:11 +01:00
Sebastian Thiel
28878e0618 fix(Scope): Manual scope parameter ...
... however, it should better be a set, and there must be a way to
control certain global names using the configuration :)
2015-03-10 09:05:03 +01:00
Sebastian Thiel
bb76832b2f feat(lib): new Scope enum type
For use in all places where scopes are desired. It will also be made
available for adding scopes by the user.
2015-03-10 08:35:57 +01:00
Sebastian Thiel
aabed38581 feat(doit): query string setup
It works for uploads as well as for others.

Next up is to setup the head and authentication. It will be as simple
as calling and handling `GetToken`, even though I think that there
needs to be better support for the scope that is asked for ... .
2015-03-09 17:29:44 +01:00
Sebastian Thiel
678b6929ca feat(delegate): first attempt to get it to work
With a big but ! The most simple thing to do it was to just add
additional type parameters to the respective method.

Now the type cannot be inferred, which means type-hints must be added.
This should be easy enough, but ... has to be done somehow.
2015-03-09 10:44:13 +01:00
Sebastian Thiel
ac35432b3f docs(lib): cross linking of resources/activities
This makes it so much easier to get to the example call you are
interested in.
It's getting there, slowly ;)
2015-03-08 18:58:15 +01:00
Sebastian Thiel
de0c7a4ae0 feat(mbuild): param() to set any parameter
That way, things like drive.files.insert alt=media has a chance to work.
We should actually check for this to support various 'alt' values
2015-03-08 14:00:02 +01:00
Sebastian Thiel
0d9f6363eb fix(nestedtypes): recursion for nested types
Drive has recursive nested types, which were not handled preeviously.
2015-03-08 12:45:02 +01:00
Sebastian Thiel
66f3ae14e5 feat(drive): added gogole drive API
Just to have another, different set of api information to deal with,
and not accidentally hard-code things to work with youtube only.

Prepared dealing with media uploads, and it turns out to be best to
adjust the 'doit()' to take the respective type parameter.

We also have to think about downloads, like the ones for google drive,
which requires custom query parameters.
2015-03-08 11:38:06 +01:00
Sebastian Thiel
020300af15 feat(type-params): ground work for upload media
This might mean we need additional type parameters, but I will see how
it's going to work out.

In theory, we could define a new trait for Seek+Read, but this would
mean that we couldn't contain owned streams.

For max flexibility, it's better to have additional type parameters
and use BorrowMut to allow ownership, and borrow.
2015-03-08 09:09:18 +01:00
Sebastian Thiel
fad0a7177a fix(docs): filter request value props by parts
Previously, it would just show all parts.
It's still not correct though as this isn't necessarily the parts used
in the request value, but only the ones in the response value.

It's as good as it gets though, that's all the information contained
in the json.
2015-03-05 17:47:35 +01:00
Sebastian Thiel
a3206abc92 fix(test): method builder examples work now
It was easier than expected, but in the end needs quite some custom
code and handling. Good to have mako (and python !!!)
2015-03-05 16:10:59 +01:00
Sebastian Thiel
942cbe18f1 feat(mbuild): infrastructure for method builders
Now comes the actual work of setting them up.
Additionally, the docs were decluttered to show comments only
were necessary. Now the code path to getting the hub is as concise as
possible.
2015-03-04 17:16:50 +01:00
Sebastian Thiel
01db89057d feat(builder): Partial MethodBuilder impl
Including documentation at least on the method builder part. The
great thing is that fully working examples are now included on
every type !

Now more involved part starts ... namely setting up the individual call
method signatures.
2015-03-04 15:24:23 +01:00
Sebastian Thiel
8746f5e0e2 fix(visuals): using visual markers now
Makes everything evaluate faster, and is good enough as well.
Besides, you don't have to think about whitespace too much, keeping
things simpler is usually better
2015-03-04 12:24:55 +01:00
Sebastian Thiel
e96260bacc feat(visuals): defs are now more readable
This works with a new `indent` and `unindent` filters respectively.
There are a few things to consider, but I have understood how it works
and can handle it.
There is some overhead just to give me nicer visuals ... might choose
a different route, like annotations.
2015-03-04 12:03:31 +01:00
Sebastian Thiel
615a124654 feat(hub): generate hub implementation and docs
This includes docs for the library usage.
It's totally great to be able to paste example code right were it
belongs, and also put the same elsewhere to compose more complex docs.
2015-03-04 11:07:14 +01:00
Sebastian Thiel
74aa7bba2d docs(lib): library overview as far as possible
Everything we have, feature wise, is now documented in a first version
at least.

We shall keep this uptodate with what we are implementing, which also
helps figuring out a good api.
2015-03-03 12:53:38 +01:00
Sebastian Thiel
ba98bee62f feat(lookup): LUTs and context to make better docs
Now a context is passed to utility functions, which contains the state
these may be interested in. This keeps it clean from global state.

With the lookup tables, it is possible to figure out relations between
types and document them accordingly.
2015-03-03 08:06:37 +01:00
Sebastian Thiel
475163ec29 feat(mako): now sets up entire project structure
That way, we have a common library to pull in from the main repository,
and a space for testing new code (in a partial implementation).

Next there will be generated object structures.
2015-03-02 16:50:22 +01:00
Sebastian Thiel
fc15a7030f feat(license): improved license information
... and readme, and looks of author listing.
Slowly getting into the flow, possibilities seem thrilling.
2015-03-02 15:23:41 +01:00
Sebastian Thiel
3670e4f6c9 feat(mako): LICENSE + README.md
Readme is very initial, but the architecture is set to evolve it to
something no less than beatiful.
2015-03-02 14:58:18 +01:00