Delegate module for resource introspection.
Provides a single entry point for reading both table and form configuration.
For direct access use MishkaGervaz.Resource.Info.Table or
MishkaGervaz.Resource.Info.Form.
Naming convention
Every delegate follows the same rule:
table_<fn>— delegates toMishkaGervaz.Resource.Info.Table.<fn>with the exact same name.form_<fn>— delegates toMishkaGervaz.Resource.Info.Form.<fn>with the exact same name.
No unprefixed shortcuts, no renames, no suffixes. If you find an accessor
on Info.Table named x, the delegate here is table_x. Same for Form.
Examples
# Table — top-level / structural
ResourceInfo.table_config(MyResource)
ResourceInfo.table_columns(MyResource)
ResourceInfo.table_filters(MyResource)
ResourceInfo.table_pagination(MyResource)
ResourceInfo.table_hooks(MyResource)
ResourceInfo.table_route(MyResource)
# Table — chrome / notices / archive / features
ResourceInfo.table_header(MyResource)
ResourceInfo.table_footer(MyResource)
ResourceInfo.table_notices(MyResource)
ResourceInfo.table_archive_enabled?(MyResource)
ResourceInfo.table_features(MyResource)
# Table — overridable pillars
ResourceInfo.table_state(MyResource)
ResourceInfo.table_events(MyResource)
ResourceInfo.table_data_loader(MyResource)
# Form — top-level / structural
ResourceInfo.form_config(MyResource)
ResourceInfo.form_fields(MyResource)
ResourceInfo.form_groups(MyResource)
ResourceInfo.form_steps(MyResource)
ResourceInfo.form_hooks(MyResource)
ResourceInfo.form_route(MyResource)
# Form — chrome / notices / component / JS hooks
ResourceInfo.form_header(MyResource)
ResourceInfo.form_notices(MyResource)
ResourceInfo.form_component_id(MyResource)
ResourceInfo.form_js_hook(MyResource, :on_save)
# Form — overridable pillars
ResourceInfo.form_state(MyResource)
ResourceInfo.form_events(MyResource)
ResourceInfo.form_data_loader(MyResource)Not delegated (internal-only)
These accessors are intentionally not exposed here — they are framework-internal and only meaningful inside the dispatcher / hook runner / query builder. Call them on the info modules directly if needed:
MishkaGervaz.Resource.Info.Table.builtins/1— internal hook-builtin mapMishkaGervaz.Resource.Info.Table.get_hook/2— internal sugar overhooks/1MishkaGervaz.Resource.Info.Table.preload_aliases/2— used by the query builderMishkaGervaz.Resource.Info.Form.preload_aliases/2— used by the form data loader