Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Mobility currently has an interface for accessing certain model-global methods like
names
which returns the attribute names on the model (for all backends). This is accessible viaPost.mobility
.However, with the extensive changes in #225, I'm finding that having both the class query scope
Post.i18n
and the interface onPost.mobility
is getting pretty clumsy. Here I am going to try to move this interface stuff into theAttributes
module builder so that class methods are defined on the model as soon as any attributes are defined, without using a memoized instance variable (which requires extra precautions whendup
ing etc.)The goal here is to have this type of interface for accessors and backends:
In the
i18n
scope, you also get the[]
shortcut to access nodes:Although I made querying into a plugin (on the
master
branch only), I'm going to convert it into a normal module which is included by default when you extendMobility
. Querying in the end is something global that should only enabled on an entire model, or not at all.