Hologram.Compiler.Reflection (hologram v0.1.0)
Link to this section Summary
Functions
Returns the corresponding module definition.
Returns the file path of the given module's source code.
Link to this section Functions
Link to this function
app_path(opts \\ [])
Link to this function
assets_path(opts \\ [{:app_path, "/Users/bart/Files/Projects/hologram/e2e"}, {:env, :dev}, {Hologram.E2E.Web.Endpoint, [pubsub_server: Hologram.E2E.PubSub, render_errors: [view: Hologram.E2E.Web.ErrorView, accepts: ["html", "json"], layout: false], secret_key_base: "/t99BcKoIa8IKka6K9dhpfoRHHYP0fK/FXFNdWO5Wlt+h1wlFeBODgIi8U4XACBE", url: [host: "localhost"], check_origin: false, code_reloader: false, debug_errors: true, http: [ip: {127, 0, 0, 1}, port: 4000], watchers: [esbuild: {Esbuild, :install_and_run, [:hologram, ["--sourcemap=inline", "--watch"]]}]]}, default_layout: Hologram.E2E.DefaultLayout, otp_app: :hologram, ignored_namespaces: [Hologram.Commons, Hologram.Compiler, Hologram.Template]])
Link to this function
ast(module)
Link to this function
has_function?(module, function, arity)
Link to this function
has_macro?(module, function, arity)
Link to this function
has_release_page_list?()
Link to this function
has_template?(module)
Link to this function
hologram_ui_components_path()
Link to this function
ir(code, context \\ %Context{})
Link to this function
is_alias?(term)
Link to this function
is_ignored_module?(module)
Link to this function
is_module?(term)
Link to this function
is_protocol?(term)
Link to this function
lib_path(opts \\ [])
Link to this function
list_components(opts \\ [])
Link to this function
list_layouts(opts \\ [])
Link to this function
list_modules(app)
Link to this function
list_pages(opts \\ [])
Link to this function
list_release_pages()
Link to this function
list_templatables(opts \\ [])
Link to this function
macro_definition(module, name, args)
Link to this function
mix_lock_path(opts \\ [])
Link to this function
mix_path(opts \\ [])
Link to this function
module?(arg)
Link to this function
module_definition(module)
Specs
module_definition(module()) :: %Hologram.Compiler.IR.ModuleDefinition{ aliases: term(), attributes: term(), component?: term(), functions: term(), imports: term(), layout?: term(), macros: term(), module: term(), page?: term(), requires: term(), templatable?: term(), uses: term() }
Returns the corresponding module definition.
Examples
iex> Reflection.get_module_definition(Abc.Bcd)
%ModuleDefinition{module: Abc.Bcd, ...}
Link to this function
otp_app()
Link to this function
release_page_digest_store_path()
Link to this function
release_page_list_path()
Link to this function
release_priv_path()
Link to this function
release_static_path()
Link to this function
release_template_store_path()
Link to this function
root_page_digest_store_path(opts \\ [])
Link to this function
root_page_list_path()
Link to this function
root_path(opts \\ [{:app_path, "/Users/bart/Files/Projects/hologram/e2e"}, {:env, :dev}, {Hologram.E2E.Web.Endpoint, [pubsub_server: Hologram.E2E.PubSub, render_errors: [view: Hologram.E2E.Web.ErrorView, accepts: ["html", "json"], layout: false], secret_key_base: "/t99BcKoIa8IKka6K9dhpfoRHHYP0fK/FXFNdWO5Wlt+h1wlFeBODgIi8U4XACBE", url: [host: "localhost"], check_origin: false, code_reloader: false, debug_errors: true, http: [ip: {127, 0, 0, 1}, port: 4000], watchers: [esbuild: {Esbuild, :install_and_run, [:hologram, ["--sourcemap=inline", "--watch"]]}]]}, default_layout: Hologram.E2E.DefaultLayout, otp_app: :hologram, ignored_namespaces: [Hologram.Commons, Hologram.Compiler, Hologram.Template]])
Link to this function
root_priv_path(opts \\ [])
Link to this function
root_source_digest_path(opts \\ [])
Link to this function
root_template_store_path(opts \\ [])
Link to this function
source_code(module)
Link to this function
source_path(module)
Specs
Returns the file path of the given module's source code.
Examples
iex> Reflection.source_path(Hologram.Compiler.Reflection)
"/Users/bart/Files/Projects/hologram/lib/hologram/compiler/reflection.ex"
Link to this function