Module: Axn::Core
- Defined in:
- lib/axn/core.rb,
lib/axn/core/flow.rb,
lib/axn/core/hooks.rb,
lib/axn/core/logging.rb,
lib/axn/core/contract.rb,
lib/axn/core/memoization.rb,
lib/axn/core/default_call.rb,
lib/axn/core/use_strategy.rb,
lib/axn/core/flow/handlers.rb,
lib/axn/core/flow/messages.rb,
lib/axn/core/flow/callbacks.rb,
lib/axn/core/field_resolvers.rb,
lib/axn/core/nesting_tracking.rb,
lib/axn/core/automatic_logging.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/flow/handlers/base_descriptor.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: AutomaticLogging, ClassMethods, Contract, ContractForSubfields, DefaultCall, FieldResolvers, Flow, Hooks, Logging, Memoization, NestingTracking, UseStrategy
Class Method Summary collapse
Instance Method Summary collapse
-
#_run ⇒ Object
Main entry point for action execution.
- #done!(message = nil, **exposures) ⇒ Object
- #fail!(message = nil, **exposures) ⇒ Object
Class Method Details
.included(base) ⇒ Object
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/axn/core.rb', line 48 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::Logging include Core::AutomaticLogging include Core::Flow include Core::Contract include Core::ContractForSubfields include Core::UseStrategy include Core::Memoization include Core::DefaultCall # Internal: adds _nested_in_another_axn? class method used by call! include Core::NestingTracking end end |
Instance Method Details
#_run ⇒ Object
Main entry point for action execution
69 70 71 |
# File 'lib/axn/core.rb', line 69 def _run Axn::Executor.new(self).run end |
#done!(message = nil, **exposures) ⇒ Object
78 79 80 81 |
# File 'lib/axn/core.rb', line 78 def done!( = nil, **exposures) expose(**exposures) if exposures.any? raise Axn::Internal::EarlyCompletion, end |