Module: Axn::Core
- Defined in:
- lib/axn/core.rb,
lib/axn/core/flow.rb,
lib/axn/core/hooks.rb,
lib/axn/core/naming.rb,
lib/axn/core/context.rb,
lib/axn/core/logging.rb,
lib/axn/core/tagging.rb,
lib/axn/core/contract.rb,
lib/axn/core/executor.rb,
lib/axn/core/versioning.rb,
lib/axn/core/memoization.rb,
lib/axn/core/default_call.rb,
lib/axn/core/use_strategy.rb,
lib/axn/core/flow/fails_on.rb,
lib/axn/core/flow/handlers.rb,
lib/axn/core/flow/messages.rb,
lib/axn/core/context/facade.rb,
lib/axn/core/flow/callbacks.rb,
lib/axn/core/semantic_hints.rb,
lib/axn/core/ambient_context.rb,
lib/axn/core/field_resolvers.rb,
lib/axn/core/context/internal.rb,
lib/axn/core/method_shadowing.rb,
lib/axn/core/nesting_tracking.rb,
lib/axn/core/tool_declaration.rb,
lib/axn/core/automatic_logging.rb,
lib/axn/core/schema_reflection.rb,
lib/axn/core/contract/redaction.rb,
lib/axn/core/extension_metadata.rb,
lib/axn/core/field_resolvers/model.rb,
lib/axn/core/flow/handlers/invoker.rb,
lib/axn/core/flow/handlers/matcher.rb,
lib/axn/core/contract_for_subfields.rb,
lib/axn/core/flow/handlers/registry.rb,
lib/axn/core/field_resolvers/extract.rb,
lib/axn/core/context/facade_inspector.rb,
lib/axn/core/contract/shape_declaration.rb,
lib/axn/core/flow/handlers/base_descriptor.rb,
lib/axn/core/contract/subfield_contradictions.rb,
lib/axn/core/flow/handlers/resolvers/base_resolver.rb,
lib/axn/core/flow/handlers/resolvers/message_resolver.rb,
lib/axn/core/flow/handlers/resolvers/callback_resolver.rb,
lib/axn/core/flow/handlers/descriptors/message_descriptor.rb,
lib/axn/core/flow/handlers/descriptors/callback_descriptor.rb
Defined Under Namespace
Modules: AmbientContext, AutomaticLogging, ClassMethods, Contract, ContractForSubfields, DefaultCall, ExtensionMetadata, FieldResolvers, Flow, Hooks, Logging, Memoization, MethodShadowing, Naming, NestingTracking, SchemaReflection, SemanticHints, Tagging, ToolDeclaration, UseStrategy, Versioning Classes: ActionAttempt, Context, ContextFacade, ContextFacadeInspector, Executor, InternalContext
Class Method Summary collapse
Instance Method Summary collapse
-
#_run ⇒ Object
Main entry point for action execution.
- #done!(message = nil, standalone: false, **exposures) ⇒ Object
- #fail!(message = nil, standalone: false, **exposures) ⇒ Object
Class Method Details
.included(base) ⇒ Object
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 |
# File 'lib/axn/core.rb', line 64 def self.included(base) base.class_eval do extend ClassMethods # DSL modules that add class methods/attributes users interact with include Core::Hooks include Core::Naming include Core::ToolDeclaration include Core::Logging include Core::AutomaticLogging include Core::Tagging include Core::Flow include Core::AmbientContext include Core::Contract include Core::ContractForSubfields include Core::UseStrategy include Core::Memoization include Core::DefaultCall include Core::ExtensionMetadata include Core::SemanticHints include Core::Versioning include Core::SchemaReflection # Per-class config overrides: gives the action class-level accessors # (`<name>` setter/reader, `<name>?`, `<name>_override`) for every # `overridable: true` setting on Axn.config. See Axn::Configurable. include Axn::Configuration.overrides # Internal: tracks nesting depth for logging and duplicate-log suppression include Core::NestingTracking # Actions are run via the sanctioned entry points (.call / .call!), which build # the instance internally. Block direct instantiation so callers can't bypass # hooks, validation, and the other guarantees those entry points provide. private_class_method :new end end |
Instance Method Details
#_run ⇒ Object
Main entry point for action execution
103 104 105 |
# File 'lib/axn/core.rb', line 103 def _run Axn::Core::Executor.new(self).run end |
#done!(message = nil, standalone: false, **exposures) ⇒ Object
112 113 114 115 |
# File 'lib/axn/core.rb', line 112 def done!( = nil, standalone: false, **exposures) expose(**exposures) if exposures.any? raise Axn::Internal::EarlyCompletion.new(, standalone:) end |