tasker-engine 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/LICENSE +22 -0
- data/README.md +443 -0
- data/Rakefile +10 -0
- data/app/controllers/tasker/analytics_controller.rb +179 -0
- data/app/controllers/tasker/application_controller.rb +45 -0
- data/app/controllers/tasker/graphql_controller.rb +193 -0
- data/app/controllers/tasker/handlers_controller.rb +217 -0
- data/app/controllers/tasker/health_controller.rb +229 -0
- data/app/controllers/tasker/metrics_controller.rb +111 -0
- data/app/controllers/tasker/page_sort.rb +97 -0
- data/app/controllers/tasker/task_diagrams_controller.rb +30 -0
- data/app/controllers/tasker/tasks_controller.rb +123 -0
- data/app/controllers/tasker/workflow_steps_controller.rb +69 -0
- data/app/graphql/examples/all_tasks.graphql +22 -0
- data/app/graphql/examples/pending_tasks.graphql +23 -0
- data/app/graphql/tasker/graph_ql_types/annotation_type.rb +14 -0
- data/app/graphql/tasker/graph_ql_types/base_argument.rb +9 -0
- data/app/graphql/tasker/graph_ql_types/base_connection.rb +11 -0
- data/app/graphql/tasker/graph_ql_types/base_edge.rb +10 -0
- data/app/graphql/tasker/graph_ql_types/base_enum.rb +9 -0
- data/app/graphql/tasker/graph_ql_types/base_field.rb +10 -0
- data/app/graphql/tasker/graph_ql_types/base_input_object.rb +10 -0
- data/app/graphql/tasker/graph_ql_types/base_interface.rb +14 -0
- data/app/graphql/tasker/graph_ql_types/base_object.rb +10 -0
- data/app/graphql/tasker/graph_ql_types/base_scalar.rb +9 -0
- data/app/graphql/tasker/graph_ql_types/base_union.rb +11 -0
- data/app/graphql/tasker/graph_ql_types/dependent_system_object_map_type.rb +18 -0
- data/app/graphql/tasker/graph_ql_types/dependent_system_type.rb +13 -0
- data/app/graphql/tasker/graph_ql_types/mutation_type.rb +16 -0
- data/app/graphql/tasker/graph_ql_types/named_step_type.rb +16 -0
- data/app/graphql/tasker/graph_ql_types/named_task_type.rb +14 -0
- data/app/graphql/tasker/graph_ql_types/named_tasks_named_step_type.rb +19 -0
- data/app/graphql/tasker/graph_ql_types/node_type.rb +12 -0
- data/app/graphql/tasker/graph_ql_types/query_type.rb +20 -0
- data/app/graphql/tasker/graph_ql_types/task_annotation_type.rb +17 -0
- data/app/graphql/tasker/graph_ql_types/task_interface.rb +17 -0
- data/app/graphql/tasker/graph_ql_types/task_type.rb +26 -0
- data/app/graphql/tasker/graph_ql_types/workflow_step_type.rb +154 -0
- data/app/graphql/tasker/graph_ql_types.rb +42 -0
- data/app/graphql/tasker/mutations/base_mutation.rb +13 -0
- data/app/graphql/tasker/mutations/cancel_step.rb +29 -0
- data/app/graphql/tasker/mutations/cancel_task.rb +29 -0
- data/app/graphql/tasker/mutations/create_task.rb +52 -0
- data/app/graphql/tasker/mutations/update_step.rb +36 -0
- data/app/graphql/tasker/mutations/update_task.rb +41 -0
- data/app/graphql/tasker/queries/all_annotation_types.rb +17 -0
- data/app/graphql/tasker/queries/all_tasks.rb +23 -0
- data/app/graphql/tasker/queries/base_query.rb +9 -0
- data/app/graphql/tasker/queries/helpers.rb +16 -0
- data/app/graphql/tasker/queries/one_step.rb +24 -0
- data/app/graphql/tasker/queries/one_task.rb +18 -0
- data/app/graphql/tasker/queries/tasks_by_annotation.rb +31 -0
- data/app/graphql/tasker/queries/tasks_by_status.rb +30 -0
- data/app/graphql/tasker/tasker_rails_schema.rb +52 -0
- data/app/jobs/tasker/application_job.rb +8 -0
- data/app/jobs/tasker/metrics_export_job.rb +252 -0
- data/app/jobs/tasker/task_runner_job.rb +224 -0
- data/app/models/tasker/annotation_type.rb +26 -0
- data/app/models/tasker/application_record.rb +70 -0
- data/app/models/tasker/dependent_system.rb +26 -0
- data/app/models/tasker/dependent_system_object_map.rb +64 -0
- data/app/models/tasker/diagram/edge.rb +106 -0
- data/app/models/tasker/diagram/flowchart.rb +137 -0
- data/app/models/tasker/diagram/node.rb +99 -0
- data/app/models/tasker/named_step.rb +41 -0
- data/app/models/tasker/named_task.rb +121 -0
- data/app/models/tasker/named_tasks_named_step.rb +82 -0
- data/app/models/tasker/step_dag_relationship.rb +65 -0
- data/app/models/tasker/step_readiness_status.rb +59 -0
- data/app/models/tasker/task.rb +424 -0
- data/app/models/tasker/task_annotation.rb +36 -0
- data/app/models/tasker/task_diagram.rb +332 -0
- data/app/models/tasker/task_execution_context.rb +29 -0
- data/app/models/tasker/task_namespace.rb +41 -0
- data/app/models/tasker/task_transition.rb +235 -0
- data/app/models/tasker/workflow_step.rb +461 -0
- data/app/models/tasker/workflow_step_edge.rb +94 -0
- data/app/models/tasker/workflow_step_transition.rb +434 -0
- data/app/serializers/tasker/annotation_type_serializer.rb +8 -0
- data/app/serializers/tasker/handler_serializer.rb +109 -0
- data/app/serializers/tasker/task_annotation_serializer.rb +32 -0
- data/app/serializers/tasker/task_serializer.rb +168 -0
- data/app/serializers/tasker/workflow_step_serializer.rb +27 -0
- data/app/services/tasker/analytics_service.rb +409 -0
- data/app/views/tasker/task/_diagram.html.erb +32 -0
- data/config/initializers/dry_struct.rb +11 -0
- data/config/initializers/statesman.rb +6 -0
- data/config/initializers/tasker_orchestration.rb +17 -0
- data/config/initializers/time_formats.rb +4 -0
- data/config/routes.rb +34 -0
- data/config/tasker/subscriptions/example_integrations.yml +67 -0
- data/config/tasker/system_events.yml +305 -0
- data/db/functions/calculate_dependency_levels_v01.sql +45 -0
- data/db/functions/get_analytics_metrics_v01.sql +137 -0
- data/db/functions/get_slowest_steps_v01.sql +82 -0
- data/db/functions/get_slowest_tasks_v01.sql +96 -0
- data/db/functions/get_step_readiness_status_batch_v01.sql +140 -0
- data/db/functions/get_step_readiness_status_v01.sql +139 -0
- data/db/functions/get_system_health_counts_v01.sql +108 -0
- data/db/functions/get_task_execution_context_v01.sql +108 -0
- data/db/functions/get_task_execution_contexts_batch_v01.sql +104 -0
- data/db/init/schema.sql +2277 -0
- data/db/migrate/20250701165431_initial_tasker_schema.rb +116 -0
- data/db/views/tasker_step_dag_relationships_v01.sql +69 -0
- data/docs/APPLICATION_GENERATOR.md +384 -0
- data/docs/AUTH.md +1780 -0
- data/docs/CIRCUIT_BREAKER.md +224 -0
- data/docs/DEVELOPER_GUIDE.md +2665 -0
- data/docs/EVENT_SYSTEM.md +637 -0
- data/docs/EXECUTION_CONFIGURATION.md +341 -0
- data/docs/FLOW_CHART.md +149 -0
- data/docs/HEALTH.md +542 -0
- data/docs/METRICS.md +731 -0
- data/docs/OPTIMIZATION_PLAN.md +1479 -0
- data/docs/OVERVIEW.md +552 -0
- data/docs/QUICK_START.md +270 -0
- data/docs/REGISTRY_SYSTEMS.md +373 -0
- data/docs/REST_API.md +632 -0
- data/docs/ROADMAP.md +221 -0
- data/docs/SQL_FUNCTIONS.md +1408 -0
- data/docs/TASK_DIAGRAM.md +252 -0
- data/docs/TASK_EXECUTION_CONTROL_FLOW.md +237 -0
- data/docs/TELEMETRY.md +795 -0
- data/docs/TROUBLESHOOTING.md +756 -0
- data/docs/TaskHandlerGenerator.html +255 -0
- data/docs/Tasker/Analysis/RuntimeGraphAnalyzer.html +907 -0
- data/docs/Tasker/Analysis/TemplateGraphAnalyzer.html +1236 -0
- data/docs/Tasker/Analysis.html +117 -0
- data/docs/Tasker/AnalyticsController.html +450 -0
- data/docs/Tasker/AnalyticsService/BottleneckAnalytics.html +816 -0
- data/docs/Tasker/AnalyticsService/PerformanceAnalytics.html +586 -0
- data/docs/Tasker/AnalyticsService.html +2221 -0
- data/docs/Tasker/AnnotationType.html +137 -0
- data/docs/Tasker/AnnotationTypeSerializer.html +124 -0
- data/docs/Tasker/ApplicationController.html +147 -0
- data/docs/Tasker/ApplicationJob.html +128 -0
- data/docs/Tasker/ApplicationRecord.html +378 -0
- data/docs/Tasker/Authentication/AuthenticationError.html +124 -0
- data/docs/Tasker/Authentication/ConfigurationError.html +124 -0
- data/docs/Tasker/Authentication/Coordinator.html +242 -0
- data/docs/Tasker/Authentication/Interface.html +560 -0
- data/docs/Tasker/Authentication/InterfaceError.html +124 -0
- data/docs/Tasker/Authentication/NoneAuthenticator.html +338 -0
- data/docs/Tasker/Authentication.html +119 -0
- data/docs/Tasker/Authorization/AuthorizationError.html +139 -0
- data/docs/Tasker/Authorization/BaseCoordinator.html +927 -0
- data/docs/Tasker/Authorization/ConfigurationError.html +153 -0
- data/docs/Tasker/Authorization/ResourceConstants/ACTIONS.html +428 -0
- data/docs/Tasker/Authorization/ResourceConstants/RESOURCES.html +365 -0
- data/docs/Tasker/Authorization/ResourceConstants.html +146 -0
- data/docs/Tasker/Authorization/ResourceRegistry.html +882 -0
- data/docs/Tasker/Authorization/UnauthorizedError.html +153 -0
- data/docs/Tasker/Authorization.html +582 -0
- data/docs/Tasker/CacheCapabilities.html +167 -0
- data/docs/Tasker/CacheStrategy.html +1297 -0
- data/docs/Tasker/Concerns/Authenticatable.html +116 -0
- data/docs/Tasker/Concerns/Authorizable/AdminStatusChecker.html +256 -0
- data/docs/Tasker/Concerns/Authorizable.html +816 -0
- data/docs/Tasker/Concerns/ControllerAuthorizable.html +157 -0
- data/docs/Tasker/Concerns/EventPublisher.html +4023 -0
- data/docs/Tasker/Concerns/IdempotentStateTransitions.html +806 -0
- data/docs/Tasker/Concerns/LifecycleEventHelpers.html +129 -0
- data/docs/Tasker/Concerns/OrchestrationPublisher.html +129 -0
- data/docs/Tasker/Concerns/StateMachineBase/ClassMethods.html +1075 -0
- data/docs/Tasker/Concerns/StateMachineBase/StateMachineBase/ClassMethods.html +191 -0
- data/docs/Tasker/Concerns/StateMachineBase/StateMachineBase.html +126 -0
- data/docs/Tasker/Concerns/StateMachineBase.html +153 -0
- data/docs/Tasker/Concerns/StructuredLogging.html +1413 -0
- data/docs/Tasker/Concerns.html +117 -0
- data/docs/Tasker/Configuration/AuthConfiguration.html +1023 -0
- data/docs/Tasker/Configuration/ConfigurationProxy.html +581 -0
- data/docs/Tasker/Configuration/DatabaseConfiguration.html +475 -0
- data/docs/Tasker/Configuration/EngineConfiguration.html +1265 -0
- data/docs/Tasker/Configuration/HealthConfiguration.html +791 -0
- data/docs/Tasker/Configuration/TelemetryConfiguration.html +1308 -0
- data/docs/Tasker/Configuration/TelemetryConfigurationProxy.html +388 -0
- data/docs/Tasker/Configuration.html +1669 -0
- data/docs/Tasker/ConfigurationError.html +143 -0
- data/docs/Tasker/ConfiguredTask.html +514 -0
- data/docs/Tasker/Constants/EventDefinitions.html +590 -0
- data/docs/Tasker/Constants/LifecycleEvents.html +137 -0
- data/docs/Tasker/Constants/ObservabilityEvents/Step.html +152 -0
- data/docs/Tasker/Constants/ObservabilityEvents/Task.html +142 -0
- data/docs/Tasker/Constants/ObservabilityEvents.html +126 -0
- data/docs/Tasker/Constants/RegistryEvents.html +285 -0
- data/docs/Tasker/Constants/StepEvents.html +177 -0
- data/docs/Tasker/Constants/TaskEvents.html +167 -0
- data/docs/Tasker/Constants/TaskExecution/ExecutionStatus.html +207 -0
- data/docs/Tasker/Constants/TaskExecution/HealthStatus.html +191 -0
- data/docs/Tasker/Constants/TaskExecution/RecommendedAction.html +207 -0
- data/docs/Tasker/Constants/TaskExecution.html +126 -0
- data/docs/Tasker/Constants/TaskFinalization/ErrorMessages.html +132 -0
- data/docs/Tasker/Constants/TaskFinalization/PendingReasons.html +207 -0
- data/docs/Tasker/Constants/TaskFinalization/ReenqueueReasons.html +239 -0
- data/docs/Tasker/Constants/TaskFinalization.html +126 -0
- data/docs/Tasker/Constants/TaskStatuses.html +223 -0
- data/docs/Tasker/Constants/TestEvents.html +163 -0
- data/docs/Tasker/Constants/WorkflowEvents.html +222 -0
- data/docs/Tasker/Constants/WorkflowStepStatuses.html +223 -0
- data/docs/Tasker/Constants.html +561 -0
- data/docs/Tasker/DependentSystem.html +137 -0
- data/docs/Tasker/DependentSystemObjectMap.html +250 -0
- data/docs/Tasker/DetectorRegistry.html +598 -0
- data/docs/Tasker/Diagram/Edge.html +1191 -0
- data/docs/Tasker/Diagram/Flowchart.html +1539 -0
- data/docs/Tasker/Diagram/Node.html +1165 -0
- data/docs/Tasker/Diagram.html +117 -0
- data/docs/Tasker/Engine.html +215 -0
- data/docs/Tasker/Error.html +139 -0
- data/docs/Tasker/Events/Bus.html +1226 -0
- data/docs/Tasker/Events/Catalog/CatalogPrinter.html +258 -0
- data/docs/Tasker/Events/Catalog/CustomEventRegistrar.html +276 -0
- data/docs/Tasker/Events/Catalog/ExamplePayloadGenerator.html +294 -0
- data/docs/Tasker/Events/Catalog.html +1291 -0
- data/docs/Tasker/Events/CustomRegistry.html +943 -0
- data/docs/Tasker/Events/DefinitionLoader.html +575 -0
- data/docs/Tasker/Events/EventPayloadBuilder/ErrorInfoExtractor.html +286 -0
- data/docs/Tasker/Events/EventPayloadBuilder/StepPayloadBuilder.html +312 -0
- data/docs/Tasker/Events/EventPayloadBuilder.html +664 -0
- data/docs/Tasker/Events/Publisher.html +365 -0
- data/docs/Tasker/Events/Subscribers/BaseSubscriber/ErrorCategorizer/ErrorTypeClassifier.html +1128 -0
- data/docs/Tasker/Events/Subscribers/BaseSubscriber/ErrorCategorizer.html +270 -0
- data/docs/Tasker/Events/Subscribers/BaseSubscriber/MetricTagsExtractor.html +266 -0
- data/docs/Tasker/Events/Subscribers/BaseSubscriber.html +2556 -0
- data/docs/Tasker/Events/Subscribers/MetricsSubscriber.html +723 -0
- data/docs/Tasker/Events/Subscribers/TelemetrySubscriber.html +2251 -0
- data/docs/Tasker/Events/Subscribers.html +117 -0
- data/docs/Tasker/Events/SubscriptionLoader.html +493 -0
- data/docs/Tasker/Events.html +294 -0
- data/docs/Tasker/EventsGenerator.html +459 -0
- data/docs/Tasker/Functions/FunctionBasedAnalyticsMetrics/AnalyticsMetrics.html +135 -0
- data/docs/Tasker/Functions/FunctionBasedAnalyticsMetrics.html +412 -0
- data/docs/Tasker/Functions/FunctionBasedDependencyLevels.html +598 -0
- data/docs/Tasker/Functions/FunctionBasedSlowestSteps/SlowestStep.html +135 -0
- data/docs/Tasker/Functions/FunctionBasedSlowestSteps.html +453 -0
- data/docs/Tasker/Functions/FunctionBasedSlowestTasks/SlowestTask.html +135 -0
- data/docs/Tasker/Functions/FunctionBasedSlowestTasks.html +453 -0
- data/docs/Tasker/Functions/FunctionBasedStepReadinessStatus.html +1457 -0
- data/docs/Tasker/Functions/FunctionBasedSystemHealthCounts/HealthMetrics.html +135 -0
- data/docs/Tasker/Functions/FunctionBasedSystemHealthCounts.html +370 -0
- data/docs/Tasker/Functions/FunctionBasedTaskExecutionContext.html +1250 -0
- data/docs/Tasker/Functions/FunctionWrapper.html +479 -0
- data/docs/Tasker/Functions.html +117 -0
- data/docs/Tasker/Generators/AuthenticatorGenerator/UsageInstructionsFormatter.html +244 -0
- data/docs/Tasker/Generators/AuthenticatorGenerator.html +373 -0
- data/docs/Tasker/Generators/AuthorizationCoordinatorGenerator.html +430 -0
- data/docs/Tasker/Generators/SubscriberGenerator.html +377 -0
- data/docs/Tasker/Generators/TaskHandlerGenerator.html +263 -0
- data/docs/Tasker/Generators.html +117 -0
- data/docs/Tasker/GraphQLTypes/AnnotationType.html +132 -0
- data/docs/Tasker/GraphQLTypes/BaseArgument.html +124 -0
- data/docs/Tasker/GraphQLTypes/BaseConnection.html +124 -0
- data/docs/Tasker/GraphQLTypes/BaseEdge.html +130 -0
- data/docs/Tasker/GraphQLTypes/BaseEnum.html +124 -0
- data/docs/Tasker/GraphQLTypes/BaseField.html +124 -0
- data/docs/Tasker/GraphQLTypes/BaseInputObject.html +124 -0
- data/docs/Tasker/GraphQLTypes/BaseInterface.html +116 -0
- data/docs/Tasker/GraphQLTypes/BaseObject.html +128 -0
- data/docs/Tasker/GraphQLTypes/BaseScalar.html +124 -0
- data/docs/Tasker/GraphQLTypes/BaseUnion.html +124 -0
- data/docs/Tasker/GraphQLTypes/DependentSystemObjectMapType.html +132 -0
- data/docs/Tasker/GraphQLTypes/DependentSystemType.html +132 -0
- data/docs/Tasker/GraphQLTypes/MutationType.html +132 -0
- data/docs/Tasker/GraphQLTypes/NamedStepType.html +132 -0
- data/docs/Tasker/GraphQLTypes/NamedTaskType.html +132 -0
- data/docs/Tasker/GraphQLTypes/NamedTasksNamedStepType.html +132 -0
- data/docs/Tasker/GraphQLTypes/NodeType.html +118 -0
- data/docs/Tasker/GraphQLTypes/QueryType.html +139 -0
- data/docs/Tasker/GraphQLTypes/TaskAnnotationType.html +132 -0
- data/docs/Tasker/GraphQLTypes/TaskInterface.html +111 -0
- data/docs/Tasker/GraphQLTypes/TaskType.html +201 -0
- data/docs/Tasker/GraphQLTypes/WorkflowStepType.html +694 -0
- data/docs/Tasker/GraphQLTypes.html +130 -0
- data/docs/Tasker/GraphqlController.html +251 -0
- data/docs/Tasker/HandlerFactory.html +1518 -0
- data/docs/Tasker/HandlerSerializer.html +682 -0
- data/docs/Tasker/HandlersController.html +574 -0
- data/docs/Tasker/HashIdentityStrategy.html +278 -0
- data/docs/Tasker/Health/ReadinessChecker.html +712 -0
- data/docs/Tasker/Health/StatusChecker.html +653 -0
- data/docs/Tasker/Health.html +117 -0
- data/docs/Tasker/HealthController.html +523 -0
- data/docs/Tasker/IdentityStrategy.html +276 -0
- data/docs/Tasker/InvalidTaskHandlerConfig.html +135 -0
- data/docs/Tasker/LifecycleEvents/Events/Step.html +162 -0
- data/docs/Tasker/LifecycleEvents/Events/Task.html +162 -0
- data/docs/Tasker/LifecycleEvents/Events.html +204 -0
- data/docs/Tasker/LifecycleEvents/Publisher.html +132 -0
- data/docs/Tasker/LifecycleEvents.html +799 -0
- data/docs/Tasker/Logging/CorrelationIdGenerator.html +688 -0
- data/docs/Tasker/Logging.html +115 -0
- data/docs/Tasker/MetricsController.html +293 -0
- data/docs/Tasker/MetricsExportJob.html +414 -0
- data/docs/Tasker/Mutations/BaseMutation.html +128 -0
- data/docs/Tasker/Mutations/CancelStep.html +219 -0
- data/docs/Tasker/Mutations/CancelTask.html +221 -0
- data/docs/Tasker/Mutations/CreateTask.html +243 -0
- data/docs/Tasker/Mutations/UpdateStep.html +243 -0
- data/docs/Tasker/Mutations/UpdateTask.html +243 -0
- data/docs/Tasker/Mutations.html +117 -0
- data/docs/Tasker/NamedStep.html +216 -0
- data/docs/Tasker/NamedTask.html +910 -0
- data/docs/Tasker/NamedTasksNamedStep.html +435 -0
- data/docs/Tasker/Orchestration/BackoffCalculator.html +404 -0
- data/docs/Tasker/Orchestration/ConnectionBuilder/ConfigValidator.html +258 -0
- data/docs/Tasker/Orchestration/ConnectionBuilder.html +435 -0
- data/docs/Tasker/Orchestration/ConnectionPoolIntelligence.html +513 -0
- data/docs/Tasker/Orchestration/Coordinator.html +641 -0
- data/docs/Tasker/Orchestration/FutureStateAnalyzer.html +1045 -0
- data/docs/Tasker/Orchestration/Orchestrator.html +679 -0
- data/docs/Tasker/Orchestration/PluginIntegration.html +1127 -0
- data/docs/Tasker/Orchestration/ResponseProcessor.html +504 -0
- data/docs/Tasker/Orchestration/RetryHeaderParser.html +304 -0
- data/docs/Tasker/Orchestration/StepExecutor.html +995 -0
- data/docs/Tasker/Orchestration/StepSequenceFactory.html +644 -0
- data/docs/Tasker/Orchestration/TaskFinalizer/BlockageChecker.html +264 -0
- data/docs/Tasker/Orchestration/TaskFinalizer/ContextManager.html +254 -0
- data/docs/Tasker/Orchestration/TaskFinalizer/DelayCalculator.html +556 -0
- data/docs/Tasker/Orchestration/TaskFinalizer/FinalizationDecisionMaker.html +348 -0
- data/docs/Tasker/Orchestration/TaskFinalizer/FinalizationProcessor.html +286 -0
- data/docs/Tasker/Orchestration/TaskFinalizer/ReasonDeterminer.html +432 -0
- data/docs/Tasker/Orchestration/TaskFinalizer/ReenqueueManager.html +296 -0
- data/docs/Tasker/Orchestration/TaskFinalizer/UnclearStateHandler.html +314 -0
- data/docs/Tasker/Orchestration/TaskFinalizer.html +1212 -0
- data/docs/Tasker/Orchestration/TaskInitializer.html +766 -0
- data/docs/Tasker/Orchestration/TaskReenqueuer.html +506 -0
- data/docs/Tasker/Orchestration/ViableStepDiscovery.html +442 -0
- data/docs/Tasker/Orchestration/WorkflowCoordinator.html +510 -0
- data/docs/Tasker/Orchestration.html +130 -0
- data/docs/Tasker/PageSort/PageSortParamsBuilder.html +296 -0
- data/docs/Tasker/PageSort.html +247 -0
- data/docs/Tasker/PermanentError.html +518 -0
- data/docs/Tasker/ProceduralError.html +147 -0
- data/docs/Tasker/Queries/AllAnnotationTypes.html +217 -0
- data/docs/Tasker/Queries/AllTasks.html +221 -0
- data/docs/Tasker/Queries/BaseQuery.html +128 -0
- data/docs/Tasker/Queries/Helpers.html +187 -0
- data/docs/Tasker/Queries/OneStep.html +225 -0
- data/docs/Tasker/Queries/OneTask.html +217 -0
- data/docs/Tasker/Queries/TasksByAnnotation.html +231 -0
- data/docs/Tasker/Queries/TasksByStatus.html +233 -0
- data/docs/Tasker/Queries.html +119 -0
- data/docs/Tasker/Railtie.html +124 -0
- data/docs/Tasker/Registry/BaseRegistry.html +1690 -0
- data/docs/Tasker/Registry/EventPublisher.html +667 -0
- data/docs/Tasker/Registry/InterfaceValidator.html +569 -0
- data/docs/Tasker/Registry/RegistrationError.html +132 -0
- data/docs/Tasker/Registry/RegistryError.html +139 -0
- data/docs/Tasker/Registry/StatisticsCollector.html +841 -0
- data/docs/Tasker/Registry/SubscriberRegistry.html +1504 -0
- data/docs/Tasker/Registry/ValidationError.html +132 -0
- data/docs/Tasker/Registry.html +119 -0
- data/docs/Tasker/RetryableError.html +515 -0
- data/docs/Tasker/StateMachine/Compatibility.html +282 -0
- data/docs/Tasker/StateMachine/InvalidStateTransition.html +135 -0
- data/docs/Tasker/StateMachine/StepStateMachine/StandardizedPayloadBuilder.html +260 -0
- data/docs/Tasker/StateMachine/StepStateMachine.html +2215 -0
- data/docs/Tasker/StateMachine/TaskStateMachine.html +734 -0
- data/docs/Tasker/StateMachine.html +602 -0
- data/docs/Tasker/StepDagRelationship.html +657 -0
- data/docs/Tasker/StepHandler/Api/Config.html +1091 -0
- data/docs/Tasker/StepHandler/Api.html +884 -0
- data/docs/Tasker/StepHandler/AutomaticEventPublishing.html +321 -0
- data/docs/Tasker/StepHandler/Base.html +970 -0
- data/docs/Tasker/StepHandler.html +119 -0
- data/docs/Tasker/StepReadinessStatus.html +836 -0
- data/docs/Tasker/Task.html +2575 -0
- data/docs/Tasker/TaskAnnotation.html +137 -0
- data/docs/Tasker/TaskAnnotationSerializer.html +124 -0
- data/docs/Tasker/TaskBuilder/StepNameValidator.html +264 -0
- data/docs/Tasker/TaskBuilder/StepTemplateDefiner.html +264 -0
- data/docs/Tasker/TaskBuilder.html +764 -0
- data/docs/Tasker/TaskDiagram/StepToStepEdgeBuilder.html +260 -0
- data/docs/Tasker/TaskDiagram/TaskToRootStepEdgeBuilder.html +290 -0
- data/docs/Tasker/TaskDiagram.html +548 -0
- data/docs/Tasker/TaskDiagramsController.html +240 -0
- data/docs/Tasker/TaskExecutionContext.html +469 -0
- data/docs/Tasker/TaskHandler/ClassMethods/StepTemplateDefiner/ClassBasedEventRegistrar.html +238 -0
- data/docs/Tasker/TaskHandler/ClassMethods/StepTemplateDefiner/YamlEventRegistrar.html +254 -0
- data/docs/Tasker/TaskHandler/ClassMethods/StepTemplateDefiner.html +988 -0
- data/docs/Tasker/TaskHandler/ClassMethods.html +357 -0
- data/docs/Tasker/TaskHandler/InstanceMethods.html +1396 -0
- data/docs/Tasker/TaskHandler/StepGroup.html +1748 -0
- data/docs/Tasker/TaskHandler.html +271 -0
- data/docs/Tasker/TaskNamespace.html +312 -0
- data/docs/Tasker/TaskRunnerJob.html +406 -0
- data/docs/Tasker/TaskSerializer.html +474 -0
- data/docs/Tasker/TaskTransition.html +1517 -0
- data/docs/Tasker/TaskWorkflowSummary.html +988 -0
- data/docs/Tasker/TaskerRailsSchema/InvalidObjectTypeError.html +132 -0
- data/docs/Tasker/TaskerRailsSchema/TypeResolutionError.html +139 -0
- data/docs/Tasker/TaskerRailsSchema/UnknownInterfaceError.html +132 -0
- data/docs/Tasker/TaskerRailsSchema.html +384 -0
- data/docs/Tasker/TasksController.html +595 -0
- data/docs/Tasker/Telemetry/EventMapping.html +1307 -0
- data/docs/Tasker/Telemetry/EventRouter.html +2178 -0
- data/docs/Tasker/Telemetry/Events/ExportEvents.html +246 -0
- data/docs/Tasker/Telemetry/Events.html +115 -0
- data/docs/Tasker/Telemetry/ExportCoordinator/DistributedLockTimeoutError.html +135 -0
- data/docs/Tasker/Telemetry/ExportCoordinator.html +2137 -0
- data/docs/Tasker/Telemetry/IntelligentCacheManager.html +1083 -0
- data/docs/Tasker/Telemetry/LogBackend.html +1088 -0
- data/docs/Tasker/Telemetry/MetricTypes/Counter.html +1054 -0
- data/docs/Tasker/Telemetry/MetricTypes/Gauge.html +1270 -0
- data/docs/Tasker/Telemetry/MetricTypes/Histogram.html +1492 -0
- data/docs/Tasker/Telemetry/MetricTypes.html +153 -0
- data/docs/Tasker/Telemetry/MetricsBackend.html +2510 -0
- data/docs/Tasker/Telemetry/MetricsExportService.html +578 -0
- data/docs/Tasker/Telemetry/PluginRegistry.html +1774 -0
- data/docs/Tasker/Telemetry/Plugins/BaseExporter.html +1835 -0
- data/docs/Tasker/Telemetry/Plugins/CsvExporter.html +768 -0
- data/docs/Tasker/Telemetry/Plugins/JsonExporter.html +747 -0
- data/docs/Tasker/Telemetry/Plugins.html +117 -0
- data/docs/Tasker/Telemetry/PrometheusExporter.html +481 -0
- data/docs/Tasker/Telemetry/TraceBackend.html +891 -0
- data/docs/Tasker/Telemetry.html +130 -0
- data/docs/Tasker/Types/AuthConfig.html +886 -0
- data/docs/Tasker/Types/BackoffConfig.html +1063 -0
- data/docs/Tasker/Types/BaseConfig.html +227 -0
- data/docs/Tasker/Types/CacheConfig.html +1731 -0
- data/docs/Tasker/Types/DatabaseConfig.html +388 -0
- data/docs/Tasker/Types/DependencyGraph.html +526 -0
- data/docs/Tasker/Types/DependencyGraphConfig.html +753 -0
- data/docs/Tasker/Types/EngineConfig.html +1181 -0
- data/docs/Tasker/Types/ExecutionConfig.html +1963 -0
- data/docs/Tasker/Types/GraphEdge.html +517 -0
- data/docs/Tasker/Types/GraphMetadata.html +781 -0
- data/docs/Tasker/Types/GraphNode.html +694 -0
- data/docs/Tasker/Types/HealthConfig.html +784 -0
- data/docs/Tasker/Types/StepSequence.html +353 -0
- data/docs/Tasker/Types/StepTemplate.html +1193 -0
- data/docs/Tasker/Types/TaskRequest.html +1179 -0
- data/docs/Tasker/Types/TelemetryConfig.html +2746 -0
- data/docs/Tasker/Types.html +154 -0
- data/docs/Tasker/WorkflowStep/StepFinder.html +282 -0
- data/docs/Tasker/WorkflowStep.html +2724 -0
- data/docs/Tasker/WorkflowStepEdge.html +304 -0
- data/docs/Tasker/WorkflowStepSerializer.html +305 -0
- data/docs/Tasker/WorkflowStepTransition/TransitionDescriptionFormatter.html +282 -0
- data/docs/Tasker/WorkflowStepTransition.html +2201 -0
- data/docs/Tasker/WorkflowStepsController.html +462 -0
- data/docs/Tasker.html +452 -0
- data/docs/VISION.md +584 -0
- data/docs/WHY.md +21 -0
- data/docs/_index.html +2375 -0
- data/docs/class_list.html +54 -0
- data/docs/css/common.css +1 -0
- data/docs/css/full_list.css +58 -0
- data/docs/css/style.css +503 -0
- data/docs/events/migration_plan_outcomes.md +80 -0
- data/docs/file.README.html +541 -0
- data/docs/file_list.html +59 -0
- data/docs/frames.html +22 -0
- data/docs/index.html +541 -0
- data/docs/js/app.js +344 -0
- data/docs/js/full_list.js +242 -0
- data/docs/js/jquery.js +4 -0
- data/docs/method_list.html +9182 -0
- data/docs/top-level-namespace.html +110 -0
- data/lib/generators/tasker/authenticator_generator.rb +301 -0
- data/lib/generators/tasker/authorization_coordinator_generator.rb +139 -0
- data/lib/generators/tasker/events_generator.rb +91 -0
- data/lib/generators/tasker/subscriber_generator.rb +107 -0
- data/lib/generators/tasker/task_handler_generator.rb +138 -0
- data/lib/generators/tasker/templates/api_token_authenticator.rb.erb +113 -0
- data/lib/generators/tasker/templates/api_token_authenticator_spec.rb.erb +144 -0
- data/lib/generators/tasker/templates/authorization_coordinator.rb.erb +95 -0
- data/lib/generators/tasker/templates/authorization_coordinator_spec.rb.erb +142 -0
- data/lib/generators/tasker/templates/custom_authenticator.rb.erb +108 -0
- data/lib/generators/tasker/templates/custom_authenticator_spec.rb.erb +162 -0
- data/lib/generators/tasker/templates/custom_events.yml.erb +62 -0
- data/lib/generators/tasker/templates/custom_subscriber.rb.erb +72 -0
- data/lib/generators/tasker/templates/devise_authenticator.rb.erb +101 -0
- data/lib/generators/tasker/templates/devise_authenticator_spec.rb.erb +126 -0
- data/lib/generators/tasker/templates/initialize.rb.erb +202 -0
- data/lib/generators/tasker/templates/jwt_authenticator.rb.erb +144 -0
- data/lib/generators/tasker/templates/jwt_authenticator_spec.rb.erb +298 -0
- data/lib/generators/tasker/templates/metrics_subscriber.rb.erb +258 -0
- data/lib/generators/tasker/templates/metrics_subscriber_spec.rb.erb +308 -0
- data/lib/generators/tasker/templates/omniauth_authenticator.rb.erb +135 -0
- data/lib/generators/tasker/templates/omniauth_authenticator_spec.rb.erb +196 -0
- data/lib/generators/tasker/templates/opentelemetry_initializer.rb +52 -0
- data/lib/generators/tasker/templates/subscriber.rb.erb +64 -0
- data/lib/generators/tasker/templates/subscriber_spec.rb.erb +80 -0
- data/lib/generators/tasker/templates/task_config.yaml.erb +117 -0
- data/lib/generators/tasker/templates/task_handler.rb.erb +59 -0
- data/lib/generators/tasker/templates/task_handler_spec.rb.erb +159 -0
- data/lib/tasker/analysis/runtime_graph_analyzer.rb +1168 -0
- data/lib/tasker/analysis/template_graph_analyzer.rb +328 -0
- data/lib/tasker/authentication/coordinator.rb +78 -0
- data/lib/tasker/authentication/errors.rb +9 -0
- data/lib/tasker/authentication/interface.rb +36 -0
- data/lib/tasker/authentication/none_authenticator.rb +26 -0
- data/lib/tasker/authorization/base_coordinator.rb +112 -0
- data/lib/tasker/authorization/errors.rb +26 -0
- data/lib/tasker/authorization/resource_constants.rb +74 -0
- data/lib/tasker/authorization/resource_registry.rb +143 -0
- data/lib/tasker/authorization.rb +75 -0
- data/lib/tasker/cache_capabilities.rb +131 -0
- data/lib/tasker/cache_strategy.rb +469 -0
- data/lib/tasker/concerns/authenticatable.rb +41 -0
- data/lib/tasker/concerns/authorizable.rb +204 -0
- data/lib/tasker/concerns/controller_authorizable.rb +124 -0
- data/lib/tasker/concerns/event_publisher.rb +716 -0
- data/lib/tasker/concerns/idempotent_state_transitions.rb +128 -0
- data/lib/tasker/concerns/state_machine_base.rb +218 -0
- data/lib/tasker/concerns/structured_logging.rb +387 -0
- data/lib/tasker/configuration.rb +325 -0
- data/lib/tasker/constants/event_definitions.rb +147 -0
- data/lib/tasker/constants/registry_events.rb +54 -0
- data/lib/tasker/constants.rb +417 -0
- data/lib/tasker/engine.rb +90 -0
- data/lib/tasker/errors.rb +90 -0
- data/lib/tasker/events/catalog.rb +432 -0
- data/lib/tasker/events/custom_registry.rb +175 -0
- data/lib/tasker/events/definition_loader.rb +199 -0
- data/lib/tasker/events/event_payload_builder.rb +461 -0
- data/lib/tasker/events/publisher.rb +149 -0
- data/lib/tasker/events/subscribers/base_subscriber.rb +601 -0
- data/lib/tasker/events/subscribers/metrics_subscriber.rb +120 -0
- data/lib/tasker/events/subscribers/telemetry_subscriber.rb +462 -0
- data/lib/tasker/events/subscription_loader.rb +161 -0
- data/lib/tasker/events.rb +37 -0
- data/lib/tasker/functions/function_based_analytics_metrics.rb +103 -0
- data/lib/tasker/functions/function_based_dependency_levels.rb +54 -0
- data/lib/tasker/functions/function_based_slowest_steps.rb +84 -0
- data/lib/tasker/functions/function_based_slowest_tasks.rb +84 -0
- data/lib/tasker/functions/function_based_step_readiness_status.rb +183 -0
- data/lib/tasker/functions/function_based_system_health_counts.rb +94 -0
- data/lib/tasker/functions/function_based_task_execution_context.rb +148 -0
- data/lib/tasker/functions/function_wrapper.rb +42 -0
- data/lib/tasker/functions.rb +12 -0
- data/lib/tasker/handler_factory.rb +322 -0
- data/lib/tasker/health/readiness_checker.rb +186 -0
- data/lib/tasker/health/status_checker.rb +203 -0
- data/lib/tasker/identity_strategy.rb +38 -0
- data/lib/tasker/logging/correlation_id_generator.rb +120 -0
- data/lib/tasker/orchestration/backoff_calculator.rb +184 -0
- data/lib/tasker/orchestration/connection_builder.rb +122 -0
- data/lib/tasker/orchestration/connection_pool_intelligence.rb +177 -0
- data/lib/tasker/orchestration/coordinator.rb +119 -0
- data/lib/tasker/orchestration/future_state_analyzer.rb +137 -0
- data/lib/tasker/orchestration/plugin_integration.rb +124 -0
- data/lib/tasker/orchestration/response_processor.rb +168 -0
- data/lib/tasker/orchestration/retry_header_parser.rb +78 -0
- data/lib/tasker/orchestration/step_executor.rb +941 -0
- data/lib/tasker/orchestration/step_sequence_factory.rb +67 -0
- data/lib/tasker/orchestration/task_finalizer.rb +564 -0
- data/lib/tasker/orchestration/task_initializer.rb +140 -0
- data/lib/tasker/orchestration/task_reenqueuer.rb +71 -0
- data/lib/tasker/orchestration/viable_step_discovery.rb +65 -0
- data/lib/tasker/orchestration/workflow_coordinator.rb +294 -0
- data/lib/tasker/orchestration.rb +45 -0
- data/lib/tasker/railtie.rb +9 -0
- data/lib/tasker/registry/base_registry.rb +177 -0
- data/lib/tasker/registry/event_publisher.rb +91 -0
- data/lib/tasker/registry/interface_validator.rb +140 -0
- data/lib/tasker/registry/statistics_collector.rb +381 -0
- data/lib/tasker/registry/subscriber_registry.rb +285 -0
- data/lib/tasker/registry.rb +22 -0
- data/lib/tasker/state_machine/step_state_machine.rb +508 -0
- data/lib/tasker/state_machine/task_state_machine.rb +192 -0
- data/lib/tasker/state_machine.rb +83 -0
- data/lib/tasker/step_handler/api.rb +410 -0
- data/lib/tasker/step_handler/base.rb +206 -0
- data/lib/tasker/task_builder.rb +432 -0
- data/lib/tasker/task_handler/class_methods.rb +324 -0
- data/lib/tasker/task_handler/instance_methods.rb +293 -0
- data/lib/tasker/task_handler/step_group.rb +182 -0
- data/lib/tasker/task_handler.rb +43 -0
- data/lib/tasker/telemetry/event_mapping.rb +126 -0
- data/lib/tasker/telemetry/event_router.rb +318 -0
- data/lib/tasker/telemetry/events/export_events.rb +38 -0
- data/lib/tasker/telemetry/export_coordinator.rb +497 -0
- data/lib/tasker/telemetry/intelligent_cache_manager.rb +508 -0
- data/lib/tasker/telemetry/log_backend.rb +224 -0
- data/lib/tasker/telemetry/metric_types.rb +368 -0
- data/lib/tasker/telemetry/metrics_backend.rb +1227 -0
- data/lib/tasker/telemetry/metrics_export_service.rb +392 -0
- data/lib/tasker/telemetry/plugin_registry.rb +333 -0
- data/lib/tasker/telemetry/plugins/base_exporter.rb +246 -0
- data/lib/tasker/telemetry/plugins/csv_exporter.rb +198 -0
- data/lib/tasker/telemetry/plugins/json_exporter.rb +141 -0
- data/lib/tasker/telemetry/prometheus_exporter.rb +249 -0
- data/lib/tasker/telemetry/trace_backend.rb +186 -0
- data/lib/tasker/telemetry.rb +59 -0
- data/lib/tasker/types/auth_config.rb +81 -0
- data/lib/tasker/types/backoff_config.rb +142 -0
- data/lib/tasker/types/cache_config.rb +257 -0
- data/lib/tasker/types/database_config.rb +39 -0
- data/lib/tasker/types/dependency_graph.rb +225 -0
- data/lib/tasker/types/dependency_graph_config.rb +149 -0
- data/lib/tasker/types/engine_config.rb +131 -0
- data/lib/tasker/types/execution_config.rb +289 -0
- data/lib/tasker/types/health_config.rb +84 -0
- data/lib/tasker/types/step_sequence.rb +24 -0
- data/lib/tasker/types/step_template.rb +63 -0
- data/lib/tasker/types/task_request.rb +60 -0
- data/lib/tasker/types/telemetry_config.rb +273 -0
- data/lib/tasker/types.rb +64 -0
- data/lib/tasker/version.rb +7 -0
- data/lib/tasker.rb +82 -0
- data/lib/tasks/tasker_tasks.rake +302 -0
- metadata +958 -0
@@ -0,0 +1,1517 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8">
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6
|
+
<title>
|
7
|
+
Class: Tasker::TaskTransition
|
8
|
+
|
9
|
+
— Documentation by YARD 0.9.37
|
10
|
+
|
11
|
+
</title>
|
12
|
+
|
13
|
+
<link rel="stylesheet" href="../css/style.css" type="text/css" />
|
14
|
+
|
15
|
+
<link rel="stylesheet" href="../css/common.css" type="text/css" />
|
16
|
+
|
17
|
+
<script type="text/javascript">
|
18
|
+
pathId = "Tasker::TaskTransition";
|
19
|
+
relpath = '../';
|
20
|
+
</script>
|
21
|
+
|
22
|
+
|
23
|
+
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
|
24
|
+
|
25
|
+
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
|
26
|
+
|
27
|
+
|
28
|
+
</head>
|
29
|
+
<body>
|
30
|
+
<div class="nav_wrap">
|
31
|
+
<iframe id="nav" src="../class_list.html?1"></iframe>
|
32
|
+
<div id="resizer"></div>
|
33
|
+
</div>
|
34
|
+
|
35
|
+
<div id="main" tabindex="-1">
|
36
|
+
<div id="header">
|
37
|
+
<div id="menu">
|
38
|
+
|
39
|
+
<a href="../_index.html">Index (T)</a> »
|
40
|
+
<span class='title'><span class='object_link'><a href="../Tasker.html" title="Tasker (module)">Tasker</a></span></span>
|
41
|
+
»
|
42
|
+
<span class="title">TaskTransition</span>
|
43
|
+
|
44
|
+
</div>
|
45
|
+
|
46
|
+
<div id="search">
|
47
|
+
|
48
|
+
<a class="full_list_link" id="class_list_link"
|
49
|
+
href="../class_list.html">
|
50
|
+
|
51
|
+
<svg width="24" height="24">
|
52
|
+
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
|
53
|
+
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
|
54
|
+
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
|
55
|
+
</svg>
|
56
|
+
</a>
|
57
|
+
|
58
|
+
</div>
|
59
|
+
<div class="clear"></div>
|
60
|
+
</div>
|
61
|
+
|
62
|
+
<div id="content"><h1>Class: Tasker::TaskTransition
|
63
|
+
|
64
|
+
|
65
|
+
|
66
|
+
</h1>
|
67
|
+
<div class="box_info">
|
68
|
+
|
69
|
+
<dl>
|
70
|
+
<dt>Inherits:</dt>
|
71
|
+
<dd>
|
72
|
+
<span class="inheritName"><span class='object_link'><a href="ApplicationRecord.html" title="Tasker::ApplicationRecord (class)">ApplicationRecord</a></span></span>
|
73
|
+
|
74
|
+
<ul class="fullTree">
|
75
|
+
<li>Object</li>
|
76
|
+
|
77
|
+
<li class="next">ActiveRecord::Base</li>
|
78
|
+
|
79
|
+
<li class="next"><span class='object_link'><a href="ApplicationRecord.html" title="Tasker::ApplicationRecord (class)">ApplicationRecord</a></span></li>
|
80
|
+
|
81
|
+
<li class="next">Tasker::TaskTransition</li>
|
82
|
+
|
83
|
+
</ul>
|
84
|
+
<a href="#" class="inheritanceTree">show all</a>
|
85
|
+
|
86
|
+
</dd>
|
87
|
+
</dl>
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
|
96
|
+
|
97
|
+
|
98
|
+
|
99
|
+
<dl>
|
100
|
+
<dt>Defined in:</dt>
|
101
|
+
<dd>app/models/tasker/task_transition.rb</dd>
|
102
|
+
</dl>
|
103
|
+
|
104
|
+
</div>
|
105
|
+
|
106
|
+
<h2>Overview</h2><div class="docstring">
|
107
|
+
<div class="discussion">
|
108
|
+
|
109
|
+
<p>TaskTransition represents state transitions for Task entities using Statesman</p>
|
110
|
+
|
111
|
+
<p>This model stores the audit trail of all task state changes, providing a complete history of task lifecycle events with metadata and timestamps.</p>
|
112
|
+
|
113
|
+
|
114
|
+
</div>
|
115
|
+
</div>
|
116
|
+
<div class="tags">
|
117
|
+
|
118
|
+
|
119
|
+
</div>
|
120
|
+
|
121
|
+
|
122
|
+
|
123
|
+
|
124
|
+
|
125
|
+
|
126
|
+
|
127
|
+
<h2>
|
128
|
+
Class Method Summary
|
129
|
+
<small><a href="#" class="summary_toggle">collapse</a></small>
|
130
|
+
</h2>
|
131
|
+
|
132
|
+
<ul class="summary">
|
133
|
+
|
134
|
+
<li class="public ">
|
135
|
+
<span class="summary_signature">
|
136
|
+
|
137
|
+
<a href="#in_time_range-class_method" title="in_time_range (class method)">.<strong>in_time_range</strong>(start_time, end_time) ⇒ ActiveRecord::Relation </a>
|
138
|
+
|
139
|
+
|
140
|
+
|
141
|
+
</span>
|
142
|
+
|
143
|
+
|
144
|
+
|
145
|
+
|
146
|
+
|
147
|
+
|
148
|
+
|
149
|
+
|
150
|
+
|
151
|
+
<span class="summary_desc"><div class='inline'>
|
152
|
+
<p>Find all transitions that occurred within a time range.</p>
|
153
|
+
</div></span>
|
154
|
+
|
155
|
+
</li>
|
156
|
+
|
157
|
+
|
158
|
+
<li class="public ">
|
159
|
+
<span class="summary_signature">
|
160
|
+
|
161
|
+
<a href="#most_recent_to_state-class_method" title="most_recent_to_state (class method)">.<strong>most_recent_to_state</strong>(state) ⇒ TaskTransition<sup>?</sup> </a>
|
162
|
+
|
163
|
+
|
164
|
+
|
165
|
+
</span>
|
166
|
+
|
167
|
+
|
168
|
+
|
169
|
+
|
170
|
+
|
171
|
+
|
172
|
+
|
173
|
+
|
174
|
+
|
175
|
+
<span class="summary_desc"><div class='inline'>
|
176
|
+
<p>Find the most recent transition to a specific state.</p>
|
177
|
+
</div></span>
|
178
|
+
|
179
|
+
</li>
|
180
|
+
|
181
|
+
|
182
|
+
<li class="public ">
|
183
|
+
<span class="summary_signature">
|
184
|
+
|
185
|
+
<a href="#statistics-class_method" title="statistics (class method)">.<strong>statistics</strong> ⇒ Hash </a>
|
186
|
+
|
187
|
+
|
188
|
+
|
189
|
+
</span>
|
190
|
+
|
191
|
+
|
192
|
+
|
193
|
+
|
194
|
+
|
195
|
+
|
196
|
+
|
197
|
+
|
198
|
+
|
199
|
+
<span class="summary_desc"><div class='inline'>
|
200
|
+
<p>Get transition statistics for analytics.</p>
|
201
|
+
</div></span>
|
202
|
+
|
203
|
+
</li>
|
204
|
+
|
205
|
+
|
206
|
+
<li class="public ">
|
207
|
+
<span class="summary_signature">
|
208
|
+
|
209
|
+
<a href="#with_metadata_value-class_method" title="with_metadata_value (class method)">.<strong>with_metadata_value</strong>(key, value) ⇒ ActiveRecord::Relation </a>
|
210
|
+
|
211
|
+
|
212
|
+
|
213
|
+
</span>
|
214
|
+
|
215
|
+
|
216
|
+
|
217
|
+
|
218
|
+
|
219
|
+
|
220
|
+
|
221
|
+
|
222
|
+
|
223
|
+
<span class="summary_desc"><div class='inline'>
|
224
|
+
<p>Find transitions with specific metadata values.</p>
|
225
|
+
</div></span>
|
226
|
+
|
227
|
+
</li>
|
228
|
+
|
229
|
+
|
230
|
+
</ul>
|
231
|
+
|
232
|
+
<h2>
|
233
|
+
Instance Method Summary
|
234
|
+
<small><a href="#" class="summary_toggle">collapse</a></small>
|
235
|
+
</h2>
|
236
|
+
|
237
|
+
<ul class="summary">
|
238
|
+
|
239
|
+
<li class="public ">
|
240
|
+
<span class="summary_signature">
|
241
|
+
|
242
|
+
<a href="#cancellation_transition%3F-instance_method" title="#cancellation_transition? (instance method)">#<strong>cancellation_transition?</strong> ⇒ Boolean </a>
|
243
|
+
|
244
|
+
|
245
|
+
|
246
|
+
</span>
|
247
|
+
|
248
|
+
|
249
|
+
|
250
|
+
|
251
|
+
|
252
|
+
|
253
|
+
|
254
|
+
|
255
|
+
|
256
|
+
<span class="summary_desc"><div class='inline'>
|
257
|
+
<p>Check if this transition represents cancellation.</p>
|
258
|
+
</div></span>
|
259
|
+
|
260
|
+
</li>
|
261
|
+
|
262
|
+
|
263
|
+
<li class="public ">
|
264
|
+
<span class="summary_signature">
|
265
|
+
|
266
|
+
<a href="#completion_transition%3F-instance_method" title="#completion_transition? (instance method)">#<strong>completion_transition?</strong> ⇒ Boolean </a>
|
267
|
+
|
268
|
+
|
269
|
+
|
270
|
+
</span>
|
271
|
+
|
272
|
+
|
273
|
+
|
274
|
+
|
275
|
+
|
276
|
+
|
277
|
+
|
278
|
+
|
279
|
+
|
280
|
+
<span class="summary_desc"><div class='inline'>
|
281
|
+
<p>Check if this transition represents completion.</p>
|
282
|
+
</div></span>
|
283
|
+
|
284
|
+
</li>
|
285
|
+
|
286
|
+
|
287
|
+
<li class="public ">
|
288
|
+
<span class="summary_signature">
|
289
|
+
|
290
|
+
<a href="#description-instance_method" title="#description (instance method)">#<strong>description</strong> ⇒ String </a>
|
291
|
+
|
292
|
+
|
293
|
+
|
294
|
+
</span>
|
295
|
+
|
296
|
+
|
297
|
+
|
298
|
+
|
299
|
+
|
300
|
+
|
301
|
+
|
302
|
+
|
303
|
+
|
304
|
+
<span class="summary_desc"><div class='inline'>
|
305
|
+
<p>Get human-readable description of the transition.</p>
|
306
|
+
</div></span>
|
307
|
+
|
308
|
+
</li>
|
309
|
+
|
310
|
+
|
311
|
+
<li class="public ">
|
312
|
+
<span class="summary_signature">
|
313
|
+
|
314
|
+
<a href="#duration_since_previous-instance_method" title="#duration_since_previous (instance method)">#<strong>duration_since_previous</strong> ⇒ Float<sup>?</sup> </a>
|
315
|
+
|
316
|
+
|
317
|
+
|
318
|
+
</span>
|
319
|
+
|
320
|
+
|
321
|
+
|
322
|
+
|
323
|
+
|
324
|
+
|
325
|
+
|
326
|
+
|
327
|
+
|
328
|
+
<span class="summary_desc"><div class='inline'>
|
329
|
+
<p>Get the duration since the previous transition.</p>
|
330
|
+
</div></span>
|
331
|
+
|
332
|
+
</li>
|
333
|
+
|
334
|
+
|
335
|
+
<li class="public ">
|
336
|
+
<span class="summary_signature">
|
337
|
+
|
338
|
+
<a href="#error_transition%3F-instance_method" title="#error_transition? (instance method)">#<strong>error_transition?</strong> ⇒ Boolean </a>
|
339
|
+
|
340
|
+
|
341
|
+
|
342
|
+
</span>
|
343
|
+
|
344
|
+
|
345
|
+
|
346
|
+
|
347
|
+
|
348
|
+
|
349
|
+
|
350
|
+
|
351
|
+
|
352
|
+
<span class="summary_desc"><div class='inline'>
|
353
|
+
<p>Check if this transition represents an error state.</p>
|
354
|
+
</div></span>
|
355
|
+
|
356
|
+
</li>
|
357
|
+
|
358
|
+
|
359
|
+
<li class="public ">
|
360
|
+
<span class="summary_signature">
|
361
|
+
|
362
|
+
<a href="#formatted_metadata-instance_method" title="#formatted_metadata (instance method)">#<strong>formatted_metadata</strong> ⇒ Hash </a>
|
363
|
+
|
364
|
+
|
365
|
+
|
366
|
+
</span>
|
367
|
+
|
368
|
+
|
369
|
+
|
370
|
+
|
371
|
+
|
372
|
+
|
373
|
+
|
374
|
+
|
375
|
+
|
376
|
+
<span class="summary_desc"><div class='inline'>
|
377
|
+
<p>Get formatted metadata for display.</p>
|
378
|
+
</div></span>
|
379
|
+
|
380
|
+
</li>
|
381
|
+
|
382
|
+
|
383
|
+
<li class="public ">
|
384
|
+
<span class="summary_signature">
|
385
|
+
|
386
|
+
<a href="#get_metadata-instance_method" title="#get_metadata (instance method)">#<strong>get_metadata</strong>(key, default = nil) ⇒ Object </a>
|
387
|
+
|
388
|
+
|
389
|
+
|
390
|
+
</span>
|
391
|
+
|
392
|
+
|
393
|
+
|
394
|
+
|
395
|
+
|
396
|
+
|
397
|
+
|
398
|
+
|
399
|
+
|
400
|
+
<span class="summary_desc"><div class='inline'>
|
401
|
+
<p>Get metadata value with default.</p>
|
402
|
+
</div></span>
|
403
|
+
|
404
|
+
</li>
|
405
|
+
|
406
|
+
|
407
|
+
<li class="public ">
|
408
|
+
<span class="summary_signature">
|
409
|
+
|
410
|
+
<a href="#has_metadata%3F-instance_method" title="#has_metadata? (instance method)">#<strong>has_metadata?</strong>(key) ⇒ Boolean </a>
|
411
|
+
|
412
|
+
|
413
|
+
|
414
|
+
</span>
|
415
|
+
|
416
|
+
|
417
|
+
|
418
|
+
|
419
|
+
|
420
|
+
|
421
|
+
|
422
|
+
|
423
|
+
|
424
|
+
<span class="summary_desc"><div class='inline'>
|
425
|
+
<p>Check if transition has specific metadata.</p>
|
426
|
+
</div></span>
|
427
|
+
|
428
|
+
</li>
|
429
|
+
|
430
|
+
|
431
|
+
<li class="public ">
|
432
|
+
<span class="summary_signature">
|
433
|
+
|
434
|
+
<a href="#set_metadata-instance_method" title="#set_metadata (instance method)">#<strong>set_metadata</strong>(key, value) ⇒ Object </a>
|
435
|
+
|
436
|
+
|
437
|
+
|
438
|
+
</span>
|
439
|
+
|
440
|
+
|
441
|
+
|
442
|
+
|
443
|
+
|
444
|
+
|
445
|
+
|
446
|
+
|
447
|
+
|
448
|
+
<span class="summary_desc"><div class='inline'>
|
449
|
+
<p>Set metadata value.</p>
|
450
|
+
</div></span>
|
451
|
+
|
452
|
+
</li>
|
453
|
+
|
454
|
+
|
455
|
+
</ul>
|
456
|
+
|
457
|
+
|
458
|
+
|
459
|
+
|
460
|
+
|
461
|
+
|
462
|
+
|
463
|
+
|
464
|
+
|
465
|
+
|
466
|
+
|
467
|
+
<h3 class="inherited">Methods inherited from <span class='object_link'><a href="ApplicationRecord.html" title="Tasker::ApplicationRecord (class)">ApplicationRecord</a></span></h3>
|
468
|
+
<p class="inherited"><span class='object_link'><a href="ApplicationRecord.html#configure_database_connections-class_method" title="Tasker::ApplicationRecord.configure_database_connections (method)">configure_database_connections</a></span>, <span class='object_link'><a href="ApplicationRecord.html#database_configuration_exists%3F-class_method" title="Tasker::ApplicationRecord.database_configuration_exists? (method)">database_configuration_exists?</a></span></p>
|
469
|
+
|
470
|
+
|
471
|
+
|
472
|
+
<div id="class_method_details" class="method_details_list">
|
473
|
+
<h2>Class Method Details</h2>
|
474
|
+
|
475
|
+
|
476
|
+
<div class="method_details first">
|
477
|
+
<h3 class="signature first" id="in_time_range-class_method">
|
478
|
+
|
479
|
+
.<strong>in_time_range</strong>(start_time, end_time) ⇒ <tt>ActiveRecord::Relation</tt>
|
480
|
+
|
481
|
+
|
482
|
+
|
483
|
+
|
484
|
+
|
485
|
+
</h3><div class="docstring">
|
486
|
+
<div class="discussion">
|
487
|
+
|
488
|
+
<p>Find all transitions that occurred within a time range</p>
|
489
|
+
|
490
|
+
|
491
|
+
</div>
|
492
|
+
</div>
|
493
|
+
<div class="tags">
|
494
|
+
<p class="tag_title">Parameters:</p>
|
495
|
+
<ul class="param">
|
496
|
+
|
497
|
+
<li>
|
498
|
+
|
499
|
+
<span class='name'>start_time</span>
|
500
|
+
|
501
|
+
|
502
|
+
<span class='type'>(<tt>Time</tt>)</span>
|
503
|
+
|
504
|
+
|
505
|
+
|
506
|
+
—
|
507
|
+
<div class='inline'>
|
508
|
+
<p>The start of the time range</p>
|
509
|
+
</div>
|
510
|
+
|
511
|
+
</li>
|
512
|
+
|
513
|
+
<li>
|
514
|
+
|
515
|
+
<span class='name'>end_time</span>
|
516
|
+
|
517
|
+
|
518
|
+
<span class='type'>(<tt>Time</tt>)</span>
|
519
|
+
|
520
|
+
|
521
|
+
|
522
|
+
—
|
523
|
+
<div class='inline'>
|
524
|
+
<p>The end of the time range</p>
|
525
|
+
</div>
|
526
|
+
|
527
|
+
</li>
|
528
|
+
|
529
|
+
</ul>
|
530
|
+
|
531
|
+
<p class="tag_title">Returns:</p>
|
532
|
+
<ul class="return">
|
533
|
+
|
534
|
+
<li>
|
535
|
+
|
536
|
+
|
537
|
+
<span class='type'>(<tt>ActiveRecord::Relation</tt>)</span>
|
538
|
+
|
539
|
+
|
540
|
+
|
541
|
+
—
|
542
|
+
<div class='inline'>
|
543
|
+
<p>Transitions within the time range</p>
|
544
|
+
</div>
|
545
|
+
|
546
|
+
</li>
|
547
|
+
|
548
|
+
</ul>
|
549
|
+
|
550
|
+
</div><table class="source_code">
|
551
|
+
<tr>
|
552
|
+
<td>
|
553
|
+
<pre class="lines">
|
554
|
+
|
555
|
+
|
556
|
+
53
|
557
|
+
54
|
558
|
+
55</pre>
|
559
|
+
</td>
|
560
|
+
<td>
|
561
|
+
<pre class="code"><span class="info file"># File 'app/models/tasker/task_transition.rb', line 53</span>
|
562
|
+
|
563
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_in_time_range'>in_time_range</span><span class='lparen'>(</span><span class='id identifier rubyid_start_time'>start_time</span><span class='comma'>,</span> <span class='id identifier rubyid_end_time'>end_time</span><span class='rparen'>)</span>
|
564
|
+
<span class='id identifier rubyid_where'>where</span><span class='lparen'>(</span><span class='label'>created_at:</span> <span class='id identifier rubyid_start_time'>start_time</span><span class='op'>..</span><span class='id identifier rubyid_end_time'>end_time</span><span class='rparen'>)</span>
|
565
|
+
<span class='kw'>end</span></pre>
|
566
|
+
</td>
|
567
|
+
</tr>
|
568
|
+
</table>
|
569
|
+
</div>
|
570
|
+
|
571
|
+
<div class="method_details ">
|
572
|
+
<h3 class="signature " id="most_recent_to_state-class_method">
|
573
|
+
|
574
|
+
.<strong>most_recent_to_state</strong>(state) ⇒ <tt><span class='object_link'><a href="" title="Tasker::TaskTransition (class)">TaskTransition</a></span></tt><sup>?</sup>
|
575
|
+
|
576
|
+
|
577
|
+
|
578
|
+
|
579
|
+
|
580
|
+
</h3><div class="docstring">
|
581
|
+
<div class="discussion">
|
582
|
+
|
583
|
+
<p>Find the most recent transition to a specific state</p>
|
584
|
+
|
585
|
+
|
586
|
+
</div>
|
587
|
+
</div>
|
588
|
+
<div class="tags">
|
589
|
+
<p class="tag_title">Parameters:</p>
|
590
|
+
<ul class="param">
|
591
|
+
|
592
|
+
<li>
|
593
|
+
|
594
|
+
<span class='name'>state</span>
|
595
|
+
|
596
|
+
|
597
|
+
<span class='type'>(<tt>String</tt>, <tt>Symbol</tt>)</span>
|
598
|
+
|
599
|
+
|
600
|
+
|
601
|
+
—
|
602
|
+
<div class='inline'>
|
603
|
+
<p>The state to find the most recent transition to</p>
|
604
|
+
</div>
|
605
|
+
|
606
|
+
</li>
|
607
|
+
|
608
|
+
</ul>
|
609
|
+
|
610
|
+
<p class="tag_title">Returns:</p>
|
611
|
+
<ul class="return">
|
612
|
+
|
613
|
+
<li>
|
614
|
+
|
615
|
+
|
616
|
+
<span class='type'>(<tt><span class='object_link'><a href="" title="Tasker::TaskTransition (class)">TaskTransition</a></span></tt>, <tt>nil</tt>)</span>
|
617
|
+
|
618
|
+
|
619
|
+
|
620
|
+
—
|
621
|
+
<div class='inline'>
|
622
|
+
<p>The most recent transition to the given state</p>
|
623
|
+
</div>
|
624
|
+
|
625
|
+
</li>
|
626
|
+
|
627
|
+
</ul>
|
628
|
+
|
629
|
+
</div><table class="source_code">
|
630
|
+
<tr>
|
631
|
+
<td>
|
632
|
+
<pre class="lines">
|
633
|
+
|
634
|
+
|
635
|
+
44
|
636
|
+
45
|
637
|
+
46</pre>
|
638
|
+
</td>
|
639
|
+
<td>
|
640
|
+
<pre class="code"><span class="info file"># File 'app/models/tasker/task_transition.rb', line 44</span>
|
641
|
+
|
642
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_most_recent_to_state'>most_recent_to_state</span><span class='lparen'>(</span><span class='id identifier rubyid_state'>state</span><span class='rparen'>)</span>
|
643
|
+
<span class='id identifier rubyid_to_state'>to_state</span><span class='lparen'>(</span><span class='id identifier rubyid_state'>state</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_order'>order</span><span class='lparen'>(</span><span class='label'>sort_key:</span> <span class='symbol'>:desc</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
|
644
|
+
<span class='kw'>end</span></pre>
|
645
|
+
</td>
|
646
|
+
</tr>
|
647
|
+
</table>
|
648
|
+
</div>
|
649
|
+
|
650
|
+
<div class="method_details ">
|
651
|
+
<h3 class="signature " id="statistics-class_method">
|
652
|
+
|
653
|
+
.<strong>statistics</strong> ⇒ <tt>Hash</tt>
|
654
|
+
|
655
|
+
|
656
|
+
|
657
|
+
|
658
|
+
|
659
|
+
</h3><div class="docstring">
|
660
|
+
<div class="discussion">
|
661
|
+
|
662
|
+
<p>Get transition statistics for analytics</p>
|
663
|
+
|
664
|
+
|
665
|
+
</div>
|
666
|
+
</div>
|
667
|
+
<div class="tags">
|
668
|
+
|
669
|
+
<p class="tag_title">Returns:</p>
|
670
|
+
<ul class="return">
|
671
|
+
|
672
|
+
<li>
|
673
|
+
|
674
|
+
|
675
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
676
|
+
|
677
|
+
|
678
|
+
|
679
|
+
—
|
680
|
+
<div class='inline'>
|
681
|
+
<p>Statistics about transitions</p>
|
682
|
+
</div>
|
683
|
+
|
684
|
+
</li>
|
685
|
+
|
686
|
+
</ul>
|
687
|
+
|
688
|
+
</div><table class="source_code">
|
689
|
+
<tr>
|
690
|
+
<td>
|
691
|
+
<pre class="lines">
|
692
|
+
|
693
|
+
|
694
|
+
69
|
695
|
+
70
|
696
|
+
71
|
697
|
+
72
|
698
|
+
73
|
699
|
+
74
|
700
|
+
75
|
701
|
+
76</pre>
|
702
|
+
</td>
|
703
|
+
<td>
|
704
|
+
<pre class="code"><span class="info file"># File 'app/models/tasker/task_transition.rb', line 69</span>
|
705
|
+
|
706
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_statistics'>statistics</span>
|
707
|
+
<span class='lbrace'>{</span>
|
708
|
+
<span class='label'>total_transitions:</span> <span class='id identifier rubyid_count'>count</span><span class='comma'>,</span>
|
709
|
+
<span class='label'>states:</span> <span class='id identifier rubyid_group'>group</span><span class='lparen'>(</span><span class='symbol'>:to_state</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_count'>count</span><span class='comma'>,</span>
|
710
|
+
<span class='label'>recent_activity:</span> <span class='id identifier rubyid_where'>where</span><span class='lparen'>(</span><span class='label'>created_at:</span> <span class='int'>24</span><span class='period'>.</span><span class='id identifier rubyid_hours'>hours</span><span class='period'>.</span><span class='id identifier rubyid_ago'>ago</span><span class='op'>..</span><span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_current'>current</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_count'>count</span><span class='comma'>,</span>
|
711
|
+
<span class='label'>average_time_between_transitions:</span> <span class='id identifier rubyid_average_time_between_transitions'>average_time_between_transitions</span>
|
712
|
+
<span class='rbrace'>}</span>
|
713
|
+
<span class='kw'>end</span></pre>
|
714
|
+
</td>
|
715
|
+
</tr>
|
716
|
+
</table>
|
717
|
+
</div>
|
718
|
+
|
719
|
+
<div class="method_details ">
|
720
|
+
<h3 class="signature " id="with_metadata_value-class_method">
|
721
|
+
|
722
|
+
.<strong>with_metadata_value</strong>(key, value) ⇒ <tt>ActiveRecord::Relation</tt>
|
723
|
+
|
724
|
+
|
725
|
+
|
726
|
+
|
727
|
+
|
728
|
+
</h3><div class="docstring">
|
729
|
+
<div class="discussion">
|
730
|
+
|
731
|
+
<p>Find transitions with specific metadata values</p>
|
732
|
+
|
733
|
+
|
734
|
+
</div>
|
735
|
+
</div>
|
736
|
+
<div class="tags">
|
737
|
+
<p class="tag_title">Parameters:</p>
|
738
|
+
<ul class="param">
|
739
|
+
|
740
|
+
<li>
|
741
|
+
|
742
|
+
<span class='name'>key</span>
|
743
|
+
|
744
|
+
|
745
|
+
<span class='type'>(<tt>String</tt>, <tt>Symbol</tt>)</span>
|
746
|
+
|
747
|
+
|
748
|
+
|
749
|
+
—
|
750
|
+
<div class='inline'>
|
751
|
+
<p>The metadata key to search for</p>
|
752
|
+
</div>
|
753
|
+
|
754
|
+
</li>
|
755
|
+
|
756
|
+
<li>
|
757
|
+
|
758
|
+
<span class='name'>value</span>
|
759
|
+
|
760
|
+
|
761
|
+
<span class='type'>(<tt>Object</tt>)</span>
|
762
|
+
|
763
|
+
|
764
|
+
|
765
|
+
—
|
766
|
+
<div class='inline'>
|
767
|
+
<p>The value to match</p>
|
768
|
+
</div>
|
769
|
+
|
770
|
+
</li>
|
771
|
+
|
772
|
+
</ul>
|
773
|
+
|
774
|
+
<p class="tag_title">Returns:</p>
|
775
|
+
<ul class="return">
|
776
|
+
|
777
|
+
<li>
|
778
|
+
|
779
|
+
|
780
|
+
<span class='type'>(<tt>ActiveRecord::Relation</tt>)</span>
|
781
|
+
|
782
|
+
|
783
|
+
|
784
|
+
—
|
785
|
+
<div class='inline'>
|
786
|
+
<p>Transitions with matching metadata</p>
|
787
|
+
</div>
|
788
|
+
|
789
|
+
</li>
|
790
|
+
|
791
|
+
</ul>
|
792
|
+
|
793
|
+
</div><table class="source_code">
|
794
|
+
<tr>
|
795
|
+
<td>
|
796
|
+
<pre class="lines">
|
797
|
+
|
798
|
+
|
799
|
+
62
|
800
|
+
63
|
801
|
+
64</pre>
|
802
|
+
</td>
|
803
|
+
<td>
|
804
|
+
<pre class="code"><span class="info file"># File 'app/models/tasker/task_transition.rb', line 62</span>
|
805
|
+
|
806
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_with_metadata_value'>with_metadata_value</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
807
|
+
<span class='id identifier rubyid_where'>where</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>metadata->:key = :value</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='label'>key:</span> <span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='comma'>,</span> <span class='label'>value:</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_json'>to_json</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>"</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
|
808
|
+
<span class='kw'>end</span></pre>
|
809
|
+
</td>
|
810
|
+
</tr>
|
811
|
+
</table>
|
812
|
+
</div>
|
813
|
+
|
814
|
+
</div>
|
815
|
+
|
816
|
+
<div id="instance_method_details" class="method_details_list">
|
817
|
+
<h2>Instance Method Details</h2>
|
818
|
+
|
819
|
+
|
820
|
+
<div class="method_details first">
|
821
|
+
<h3 class="signature first" id="cancellation_transition?-instance_method">
|
822
|
+
|
823
|
+
#<strong>cancellation_transition?</strong> ⇒ <tt>Boolean</tt>
|
824
|
+
|
825
|
+
|
826
|
+
|
827
|
+
|
828
|
+
|
829
|
+
</h3><div class="docstring">
|
830
|
+
<div class="discussion">
|
831
|
+
|
832
|
+
<p>Check if this transition represents cancellation</p>
|
833
|
+
|
834
|
+
|
835
|
+
</div>
|
836
|
+
</div>
|
837
|
+
<div class="tags">
|
838
|
+
|
839
|
+
<p class="tag_title">Returns:</p>
|
840
|
+
<ul class="return">
|
841
|
+
|
842
|
+
<li>
|
843
|
+
|
844
|
+
|
845
|
+
<span class='type'>(<tt>Boolean</tt>)</span>
|
846
|
+
|
847
|
+
|
848
|
+
|
849
|
+
—
|
850
|
+
<div class='inline'>
|
851
|
+
<p>True if transitioning to cancelled state</p>
|
852
|
+
</div>
|
853
|
+
|
854
|
+
</li>
|
855
|
+
|
856
|
+
</ul>
|
857
|
+
|
858
|
+
</div><table class="source_code">
|
859
|
+
<tr>
|
860
|
+
<td>
|
861
|
+
<pre class="lines">
|
862
|
+
|
863
|
+
|
864
|
+
129
|
865
|
+
130
|
866
|
+
131</pre>
|
867
|
+
</td>
|
868
|
+
<td>
|
869
|
+
<pre class="code"><span class="info file"># File 'app/models/tasker/task_transition.rb', line 129</span>
|
870
|
+
|
871
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_cancellation_transition?'>cancellation_transition?</span>
|
872
|
+
<span class='id identifier rubyid_to_state'>to_state</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>cancelled</span><span class='tstring_end'>'</span></span>
|
873
|
+
<span class='kw'>end</span></pre>
|
874
|
+
</td>
|
875
|
+
</tr>
|
876
|
+
</table>
|
877
|
+
</div>
|
878
|
+
|
879
|
+
<div class="method_details ">
|
880
|
+
<h3 class="signature " id="completion_transition?-instance_method">
|
881
|
+
|
882
|
+
#<strong>completion_transition?</strong> ⇒ <tt>Boolean</tt>
|
883
|
+
|
884
|
+
|
885
|
+
|
886
|
+
|
887
|
+
|
888
|
+
</h3><div class="docstring">
|
889
|
+
<div class="discussion">
|
890
|
+
|
891
|
+
<p>Check if this transition represents completion</p>
|
892
|
+
|
893
|
+
|
894
|
+
</div>
|
895
|
+
</div>
|
896
|
+
<div class="tags">
|
897
|
+
|
898
|
+
<p class="tag_title">Returns:</p>
|
899
|
+
<ul class="return">
|
900
|
+
|
901
|
+
<li>
|
902
|
+
|
903
|
+
|
904
|
+
<span class='type'>(<tt>Boolean</tt>)</span>
|
905
|
+
|
906
|
+
|
907
|
+
|
908
|
+
—
|
909
|
+
<div class='inline'>
|
910
|
+
<p>True if transitioning to a completion state</p>
|
911
|
+
</div>
|
912
|
+
|
913
|
+
</li>
|
914
|
+
|
915
|
+
</ul>
|
916
|
+
|
917
|
+
</div><table class="source_code">
|
918
|
+
<tr>
|
919
|
+
<td>
|
920
|
+
<pre class="lines">
|
921
|
+
|
922
|
+
|
923
|
+
122
|
924
|
+
123
|
925
|
+
124</pre>
|
926
|
+
</td>
|
927
|
+
<td>
|
928
|
+
<pre class="code"><span class="info file"># File 'app/models/tasker/task_transition.rb', line 122</span>
|
929
|
+
|
930
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_completion_transition?'>completion_transition?</span>
|
931
|
+
<span class='qwords_beg'>%w[</span><span class='tstring_content'>complete</span><span class='words_sep'> </span><span class='tstring_content'>resolved_manually</span><span class='tstring_end'>]</span></span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='id identifier rubyid_to_state'>to_state</span><span class='rparen'>)</span>
|
932
|
+
<span class='kw'>end</span></pre>
|
933
|
+
</td>
|
934
|
+
</tr>
|
935
|
+
</table>
|
936
|
+
</div>
|
937
|
+
|
938
|
+
<div class="method_details ">
|
939
|
+
<h3 class="signature " id="description-instance_method">
|
940
|
+
|
941
|
+
#<strong>description</strong> ⇒ <tt>String</tt>
|
942
|
+
|
943
|
+
|
944
|
+
|
945
|
+
|
946
|
+
|
947
|
+
</h3><div class="docstring">
|
948
|
+
<div class="discussion">
|
949
|
+
|
950
|
+
<p>Get human-readable description of the transition</p>
|
951
|
+
|
952
|
+
|
953
|
+
</div>
|
954
|
+
</div>
|
955
|
+
<div class="tags">
|
956
|
+
|
957
|
+
<p class="tag_title">Returns:</p>
|
958
|
+
<ul class="return">
|
959
|
+
|
960
|
+
<li>
|
961
|
+
|
962
|
+
|
963
|
+
<span class='type'>(<tt>String</tt>)</span>
|
964
|
+
|
965
|
+
|
966
|
+
|
967
|
+
—
|
968
|
+
<div class='inline'>
|
969
|
+
<p>Description of what this transition represents</p>
|
970
|
+
</div>
|
971
|
+
|
972
|
+
</li>
|
973
|
+
|
974
|
+
</ul>
|
975
|
+
|
976
|
+
</div><table class="source_code">
|
977
|
+
<tr>
|
978
|
+
<td>
|
979
|
+
<pre class="lines">
|
980
|
+
|
981
|
+
|
982
|
+
136
|
983
|
+
137
|
984
|
+
138
|
985
|
+
139
|
986
|
+
140
|
987
|
+
141
|
988
|
+
142
|
989
|
+
143
|
990
|
+
144
|
991
|
+
145
|
992
|
+
146
|
993
|
+
147
|
994
|
+
148
|
995
|
+
149
|
996
|
+
150
|
997
|
+
151
|
998
|
+
152
|
999
|
+
153</pre>
|
1000
|
+
</td>
|
1001
|
+
<td>
|
1002
|
+
<pre class="code"><span class="info file"># File 'app/models/tasker/task_transition.rb', line 136</span>
|
1003
|
+
|
1004
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_description'>description</span>
|
1005
|
+
<span class='kw'>case</span> <span class='id identifier rubyid_to_state'>to_state</span>
|
1006
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>pending</span><span class='tstring_end'>'</span></span>
|
1007
|
+
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Task initialized and ready for processing</span><span class='tstring_end'>'</span></span>
|
1008
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>in_progress</span><span class='tstring_end'>'</span></span>
|
1009
|
+
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Task execution started</span><span class='tstring_end'>'</span></span>
|
1010
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>complete</span><span class='tstring_end'>'</span></span>
|
1011
|
+
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Task completed successfully</span><span class='tstring_end'>'</span></span>
|
1012
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>error</span><span class='tstring_end'>'</span></span>
|
1013
|
+
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Task encountered an error</span><span class='tstring_end'>'</span></span>
|
1014
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>cancelled</span><span class='tstring_end'>'</span></span>
|
1015
|
+
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Task was cancelled</span><span class='tstring_end'>'</span></span>
|
1016
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>resolved_manually</span><span class='tstring_end'>'</span></span>
|
1017
|
+
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Task was manually resolved</span><span class='tstring_end'>'</span></span>
|
1018
|
+
<span class='kw'>else</span>
|
1019
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Task transitioned to </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_to_state'>to_state</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
1020
|
+
<span class='kw'>end</span>
|
1021
|
+
<span class='kw'>end</span></pre>
|
1022
|
+
</td>
|
1023
|
+
</tr>
|
1024
|
+
</table>
|
1025
|
+
</div>
|
1026
|
+
|
1027
|
+
<div class="method_details ">
|
1028
|
+
<h3 class="signature " id="duration_since_previous-instance_method">
|
1029
|
+
|
1030
|
+
#<strong>duration_since_previous</strong> ⇒ <tt>Float</tt><sup>?</sup>
|
1031
|
+
|
1032
|
+
|
1033
|
+
|
1034
|
+
|
1035
|
+
|
1036
|
+
</h3><div class="docstring">
|
1037
|
+
<div class="discussion">
|
1038
|
+
|
1039
|
+
<p>Get the duration since the previous transition</p>
|
1040
|
+
|
1041
|
+
|
1042
|
+
</div>
|
1043
|
+
</div>
|
1044
|
+
<div class="tags">
|
1045
|
+
|
1046
|
+
<p class="tag_title">Returns:</p>
|
1047
|
+
<ul class="return">
|
1048
|
+
|
1049
|
+
<li>
|
1050
|
+
|
1051
|
+
|
1052
|
+
<span class='type'>(<tt>Float</tt>, <tt>nil</tt>)</span>
|
1053
|
+
|
1054
|
+
|
1055
|
+
|
1056
|
+
—
|
1057
|
+
<div class='inline'>
|
1058
|
+
<p>Duration in seconds since previous transition</p>
|
1059
|
+
</div>
|
1060
|
+
|
1061
|
+
</li>
|
1062
|
+
|
1063
|
+
</ul>
|
1064
|
+
|
1065
|
+
</div><table class="source_code">
|
1066
|
+
<tr>
|
1067
|
+
<td>
|
1068
|
+
<pre class="lines">
|
1069
|
+
|
1070
|
+
|
1071
|
+
101
|
1072
|
+
102
|
1073
|
+
103
|
1074
|
+
104
|
1075
|
+
105
|
1076
|
+
106
|
1077
|
+
107
|
1078
|
+
108
|
1079
|
+
109
|
1080
|
+
110</pre>
|
1081
|
+
</td>
|
1082
|
+
<td>
|
1083
|
+
<pre class="code"><span class="info file"># File 'app/models/tasker/task_transition.rb', line 101</span>
|
1084
|
+
|
1085
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_duration_since_previous'>duration_since_previous</span>
|
1086
|
+
<span class='id identifier rubyid_previous_transition'>previous_transition</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_where'>where</span><span class='lparen'>(</span><span class='label'>task_id:</span> <span class='id identifier rubyid_task_id'>task_id</span><span class='rparen'>)</span>
|
1087
|
+
<span class='period'>.</span><span class='id identifier rubyid_where'>where</span><span class='lparen'>(</span><span class='label'>sort_key:</span> <span class='op'>...</span><span class='id identifier rubyid_sort_key'>sort_key</span><span class='rparen'>)</span>
|
1088
|
+
<span class='period'>.</span><span class='id identifier rubyid_order'>order</span><span class='lparen'>(</span><span class='label'>sort_key:</span> <span class='symbol'>:desc</span><span class='rparen'>)</span>
|
1089
|
+
<span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
|
1090
|
+
|
1091
|
+
<span class='kw'>return</span> <span class='kw'>nil</span> <span class='kw'>unless</span> <span class='id identifier rubyid_previous_transition'>previous_transition</span>
|
1092
|
+
|
1093
|
+
<span class='id identifier rubyid_created_at'>created_at</span> <span class='op'>-</span> <span class='id identifier rubyid_previous_transition'>previous_transition</span><span class='period'>.</span><span class='id identifier rubyid_created_at'>created_at</span>
|
1094
|
+
<span class='kw'>end</span></pre>
|
1095
|
+
</td>
|
1096
|
+
</tr>
|
1097
|
+
</table>
|
1098
|
+
</div>
|
1099
|
+
|
1100
|
+
<div class="method_details ">
|
1101
|
+
<h3 class="signature " id="error_transition?-instance_method">
|
1102
|
+
|
1103
|
+
#<strong>error_transition?</strong> ⇒ <tt>Boolean</tt>
|
1104
|
+
|
1105
|
+
|
1106
|
+
|
1107
|
+
|
1108
|
+
|
1109
|
+
</h3><div class="docstring">
|
1110
|
+
<div class="discussion">
|
1111
|
+
|
1112
|
+
<p>Check if this transition represents an error state</p>
|
1113
|
+
|
1114
|
+
|
1115
|
+
</div>
|
1116
|
+
</div>
|
1117
|
+
<div class="tags">
|
1118
|
+
|
1119
|
+
<p class="tag_title">Returns:</p>
|
1120
|
+
<ul class="return">
|
1121
|
+
|
1122
|
+
<li>
|
1123
|
+
|
1124
|
+
|
1125
|
+
<span class='type'>(<tt>Boolean</tt>)</span>
|
1126
|
+
|
1127
|
+
|
1128
|
+
|
1129
|
+
—
|
1130
|
+
<div class='inline'>
|
1131
|
+
<p>True if transitioning to an error state</p>
|
1132
|
+
</div>
|
1133
|
+
|
1134
|
+
</li>
|
1135
|
+
|
1136
|
+
</ul>
|
1137
|
+
|
1138
|
+
</div><table class="source_code">
|
1139
|
+
<tr>
|
1140
|
+
<td>
|
1141
|
+
<pre class="lines">
|
1142
|
+
|
1143
|
+
|
1144
|
+
115
|
1145
|
+
116
|
1146
|
+
117</pre>
|
1147
|
+
</td>
|
1148
|
+
<td>
|
1149
|
+
<pre class="code"><span class="info file"># File 'app/models/tasker/task_transition.rb', line 115</span>
|
1150
|
+
|
1151
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_error_transition?'>error_transition?</span>
|
1152
|
+
<span class='id identifier rubyid_to_state'>to_state</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>error</span><span class='tstring_end'>'</span></span>
|
1153
|
+
<span class='kw'>end</span></pre>
|
1154
|
+
</td>
|
1155
|
+
</tr>
|
1156
|
+
</table>
|
1157
|
+
</div>
|
1158
|
+
|
1159
|
+
<div class="method_details ">
|
1160
|
+
<h3 class="signature " id="formatted_metadata-instance_method">
|
1161
|
+
|
1162
|
+
#<strong>formatted_metadata</strong> ⇒ <tt>Hash</tt>
|
1163
|
+
|
1164
|
+
|
1165
|
+
|
1166
|
+
|
1167
|
+
|
1168
|
+
</h3><div class="docstring">
|
1169
|
+
<div class="discussion">
|
1170
|
+
|
1171
|
+
<p>Get formatted metadata for display</p>
|
1172
|
+
|
1173
|
+
|
1174
|
+
</div>
|
1175
|
+
</div>
|
1176
|
+
<div class="tags">
|
1177
|
+
|
1178
|
+
<p class="tag_title">Returns:</p>
|
1179
|
+
<ul class="return">
|
1180
|
+
|
1181
|
+
<li>
|
1182
|
+
|
1183
|
+
|
1184
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
1185
|
+
|
1186
|
+
|
1187
|
+
|
1188
|
+
—
|
1189
|
+
<div class='inline'>
|
1190
|
+
<p>Formatted metadata with additional computed fields</p>
|
1191
|
+
</div>
|
1192
|
+
|
1193
|
+
</li>
|
1194
|
+
|
1195
|
+
</ul>
|
1196
|
+
|
1197
|
+
</div><table class="source_code">
|
1198
|
+
<tr>
|
1199
|
+
<td>
|
1200
|
+
<pre class="lines">
|
1201
|
+
|
1202
|
+
|
1203
|
+
158
|
1204
|
+
159
|
1205
|
+
160
|
1206
|
+
161
|
1207
|
+
162
|
1208
|
+
163
|
1209
|
+
164
|
1210
|
+
165
|
1211
|
+
166
|
1212
|
+
167</pre>
|
1213
|
+
</td>
|
1214
|
+
<td>
|
1215
|
+
<pre class="code"><span class="info file"># File 'app/models/tasker/task_transition.rb', line 158</span>
|
1216
|
+
|
1217
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_formatted_metadata'>formatted_metadata</span>
|
1218
|
+
<span class='id identifier rubyid_base_metadata'>base_metadata</span> <span class='op'>=</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_dup'>dup</span>
|
1219
|
+
|
1220
|
+
<span class='comment'># Add computed fields
|
1221
|
+
</span> <span class='id identifier rubyid_base_metadata'>base_metadata</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>duration_since_previous</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_duration_since_previous'>duration_since_previous</span>
|
1222
|
+
<span class='id identifier rubyid_base_metadata'>base_metadata</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>transition_description</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_description'>description</span>
|
1223
|
+
<span class='id identifier rubyid_base_metadata'>base_metadata</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>transition_timestamp</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_created_at'>created_at</span><span class='period'>.</span><span class='id identifier rubyid_iso8601'>iso8601</span>
|
1224
|
+
|
1225
|
+
<span class='id identifier rubyid_base_metadata'>base_metadata</span>
|
1226
|
+
<span class='kw'>end</span></pre>
|
1227
|
+
</td>
|
1228
|
+
</tr>
|
1229
|
+
</table>
|
1230
|
+
</div>
|
1231
|
+
|
1232
|
+
<div class="method_details ">
|
1233
|
+
<h3 class="signature " id="get_metadata-instance_method">
|
1234
|
+
|
1235
|
+
#<strong>get_metadata</strong>(key, default = nil) ⇒ <tt>Object</tt>
|
1236
|
+
|
1237
|
+
|
1238
|
+
|
1239
|
+
|
1240
|
+
|
1241
|
+
</h3><div class="docstring">
|
1242
|
+
<div class="discussion">
|
1243
|
+
|
1244
|
+
<p>Get metadata value with default</p>
|
1245
|
+
|
1246
|
+
|
1247
|
+
</div>
|
1248
|
+
</div>
|
1249
|
+
<div class="tags">
|
1250
|
+
<p class="tag_title">Parameters:</p>
|
1251
|
+
<ul class="param">
|
1252
|
+
|
1253
|
+
<li>
|
1254
|
+
|
1255
|
+
<span class='name'>key</span>
|
1256
|
+
|
1257
|
+
|
1258
|
+
<span class='type'>(<tt>String</tt>, <tt>Symbol</tt>)</span>
|
1259
|
+
|
1260
|
+
|
1261
|
+
|
1262
|
+
—
|
1263
|
+
<div class='inline'>
|
1264
|
+
<p>The metadata key</p>
|
1265
|
+
</div>
|
1266
|
+
|
1267
|
+
</li>
|
1268
|
+
|
1269
|
+
<li>
|
1270
|
+
|
1271
|
+
<span class='name'>default</span>
|
1272
|
+
|
1273
|
+
|
1274
|
+
<span class='type'>(<tt>Object</tt>)</span>
|
1275
|
+
|
1276
|
+
|
1277
|
+
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
1278
|
+
|
1279
|
+
|
1280
|
+
—
|
1281
|
+
<div class='inline'>
|
1282
|
+
<p>Default value if key not found</p>
|
1283
|
+
</div>
|
1284
|
+
|
1285
|
+
</li>
|
1286
|
+
|
1287
|
+
</ul>
|
1288
|
+
|
1289
|
+
<p class="tag_title">Returns:</p>
|
1290
|
+
<ul class="return">
|
1291
|
+
|
1292
|
+
<li>
|
1293
|
+
|
1294
|
+
|
1295
|
+
<span class='type'>(<tt>Object</tt>)</span>
|
1296
|
+
|
1297
|
+
|
1298
|
+
|
1299
|
+
—
|
1300
|
+
<div class='inline'>
|
1301
|
+
<p>The metadata value or default</p>
|
1302
|
+
</div>
|
1303
|
+
|
1304
|
+
</li>
|
1305
|
+
|
1306
|
+
</ul>
|
1307
|
+
|
1308
|
+
</div><table class="source_code">
|
1309
|
+
<tr>
|
1310
|
+
<td>
|
1311
|
+
<pre class="lines">
|
1312
|
+
|
1313
|
+
|
1314
|
+
182
|
1315
|
+
183
|
1316
|
+
184</pre>
|
1317
|
+
</td>
|
1318
|
+
<td>
|
1319
|
+
<pre class="code"><span class="info file"># File 'app/models/tasker/task_transition.rb', line 182</span>
|
1320
|
+
|
1321
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_get_metadata'>get_metadata</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_default'>default</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
|
1322
|
+
<span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_fetch'>fetch</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='comma'>,</span> <span class='id identifier rubyid_default'>default</span><span class='rparen'>)</span>
|
1323
|
+
<span class='kw'>end</span></pre>
|
1324
|
+
</td>
|
1325
|
+
</tr>
|
1326
|
+
</table>
|
1327
|
+
</div>
|
1328
|
+
|
1329
|
+
<div class="method_details ">
|
1330
|
+
<h3 class="signature " id="has_metadata?-instance_method">
|
1331
|
+
|
1332
|
+
#<strong>has_metadata?</strong>(key) ⇒ <tt>Boolean</tt>
|
1333
|
+
|
1334
|
+
|
1335
|
+
|
1336
|
+
|
1337
|
+
|
1338
|
+
</h3><div class="docstring">
|
1339
|
+
<div class="discussion">
|
1340
|
+
|
1341
|
+
<p>Check if transition has specific metadata</p>
|
1342
|
+
|
1343
|
+
|
1344
|
+
</div>
|
1345
|
+
</div>
|
1346
|
+
<div class="tags">
|
1347
|
+
<p class="tag_title">Parameters:</p>
|
1348
|
+
<ul class="param">
|
1349
|
+
|
1350
|
+
<li>
|
1351
|
+
|
1352
|
+
<span class='name'>key</span>
|
1353
|
+
|
1354
|
+
|
1355
|
+
<span class='type'>(<tt>String</tt>, <tt>Symbol</tt>)</span>
|
1356
|
+
|
1357
|
+
|
1358
|
+
|
1359
|
+
—
|
1360
|
+
<div class='inline'>
|
1361
|
+
<p>The metadata key to check for</p>
|
1362
|
+
</div>
|
1363
|
+
|
1364
|
+
</li>
|
1365
|
+
|
1366
|
+
</ul>
|
1367
|
+
|
1368
|
+
<p class="tag_title">Returns:</p>
|
1369
|
+
<ul class="return">
|
1370
|
+
|
1371
|
+
<li>
|
1372
|
+
|
1373
|
+
|
1374
|
+
<span class='type'>(<tt>Boolean</tt>)</span>
|
1375
|
+
|
1376
|
+
|
1377
|
+
|
1378
|
+
—
|
1379
|
+
<div class='inline'>
|
1380
|
+
<p>True if the metadata contains the key</p>
|
1381
|
+
</div>
|
1382
|
+
|
1383
|
+
</li>
|
1384
|
+
|
1385
|
+
</ul>
|
1386
|
+
|
1387
|
+
</div><table class="source_code">
|
1388
|
+
<tr>
|
1389
|
+
<td>
|
1390
|
+
<pre class="lines">
|
1391
|
+
|
1392
|
+
|
1393
|
+
173
|
1394
|
+
174
|
1395
|
+
175</pre>
|
1396
|
+
</td>
|
1397
|
+
<td>
|
1398
|
+
<pre class="code"><span class="info file"># File 'app/models/tasker/task_transition.rb', line 173</span>
|
1399
|
+
|
1400
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_has_metadata?'>has_metadata?</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='rparen'>)</span>
|
1401
|
+
<span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_key?'>key?</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rparen'>)</span>
|
1402
|
+
<span class='kw'>end</span></pre>
|
1403
|
+
</td>
|
1404
|
+
</tr>
|
1405
|
+
</table>
|
1406
|
+
</div>
|
1407
|
+
|
1408
|
+
<div class="method_details ">
|
1409
|
+
<h3 class="signature " id="set_metadata-instance_method">
|
1410
|
+
|
1411
|
+
#<strong>set_metadata</strong>(key, value) ⇒ <tt>Object</tt>
|
1412
|
+
|
1413
|
+
|
1414
|
+
|
1415
|
+
|
1416
|
+
|
1417
|
+
</h3><div class="docstring">
|
1418
|
+
<div class="discussion">
|
1419
|
+
|
1420
|
+
<p>Set metadata value</p>
|
1421
|
+
|
1422
|
+
|
1423
|
+
</div>
|
1424
|
+
</div>
|
1425
|
+
<div class="tags">
|
1426
|
+
<p class="tag_title">Parameters:</p>
|
1427
|
+
<ul class="param">
|
1428
|
+
|
1429
|
+
<li>
|
1430
|
+
|
1431
|
+
<span class='name'>key</span>
|
1432
|
+
|
1433
|
+
|
1434
|
+
<span class='type'>(<tt>String</tt>, <tt>Symbol</tt>)</span>
|
1435
|
+
|
1436
|
+
|
1437
|
+
|
1438
|
+
—
|
1439
|
+
<div class='inline'>
|
1440
|
+
<p>The metadata key</p>
|
1441
|
+
</div>
|
1442
|
+
|
1443
|
+
</li>
|
1444
|
+
|
1445
|
+
<li>
|
1446
|
+
|
1447
|
+
<span class='name'>value</span>
|
1448
|
+
|
1449
|
+
|
1450
|
+
<span class='type'>(<tt>Object</tt>)</span>
|
1451
|
+
|
1452
|
+
|
1453
|
+
|
1454
|
+
—
|
1455
|
+
<div class='inline'>
|
1456
|
+
<p>The value to set</p>
|
1457
|
+
</div>
|
1458
|
+
|
1459
|
+
</li>
|
1460
|
+
|
1461
|
+
</ul>
|
1462
|
+
|
1463
|
+
<p class="tag_title">Returns:</p>
|
1464
|
+
<ul class="return">
|
1465
|
+
|
1466
|
+
<li>
|
1467
|
+
|
1468
|
+
|
1469
|
+
<span class='type'>(<tt>Object</tt>)</span>
|
1470
|
+
|
1471
|
+
|
1472
|
+
|
1473
|
+
—
|
1474
|
+
<div class='inline'>
|
1475
|
+
<p>The set value</p>
|
1476
|
+
</div>
|
1477
|
+
|
1478
|
+
</li>
|
1479
|
+
|
1480
|
+
</ul>
|
1481
|
+
|
1482
|
+
</div><table class="source_code">
|
1483
|
+
<tr>
|
1484
|
+
<td>
|
1485
|
+
<pre class="lines">
|
1486
|
+
|
1487
|
+
|
1488
|
+
191
|
1489
|
+
192
|
1490
|
+
193
|
1491
|
+
194</pre>
|
1492
|
+
</td>
|
1493
|
+
<td>
|
1494
|
+
<pre class="code"><span class="info file"># File 'app/models/tasker/task_transition.rb', line 191</span>
|
1495
|
+
|
1496
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_set_metadata'>set_metadata</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
1497
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_metadata'>metadata</span> <span class='op'>=</span> <span class='id identifier rubyid_metadata'>metadata</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='op'>=></span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
1498
|
+
<span class='id identifier rubyid_value'>value</span>
|
1499
|
+
<span class='kw'>end</span></pre>
|
1500
|
+
</td>
|
1501
|
+
</tr>
|
1502
|
+
</table>
|
1503
|
+
</div>
|
1504
|
+
|
1505
|
+
</div>
|
1506
|
+
|
1507
|
+
</div>
|
1508
|
+
|
1509
|
+
<div id="footer">
|
1510
|
+
Generated on Tue Jul 1 16:47:37 2025 by
|
1511
|
+
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
1512
|
+
0.9.37 (ruby-3.2.4).
|
1513
|
+
</div>
|
1514
|
+
|
1515
|
+
</div>
|
1516
|
+
</body>
|
1517
|
+
</html>
|