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,1539 @@
|
|
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::Diagram::Flowchart
|
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::Diagram::Flowchart";
|
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 (F)</a> »
|
40
|
+
<span class='title'><span class='object_link'><a href="../../Tasker.html" title="Tasker (module)">Tasker</a></span></span> » <span class='title'><span class='object_link'><a href="../Diagram.html" title="Tasker::Diagram (module)">Diagram</a></span></span>
|
41
|
+
»
|
42
|
+
<span class="title">Flowchart</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::Diagram::Flowchart
|
63
|
+
|
64
|
+
|
65
|
+
|
66
|
+
</h1>
|
67
|
+
<div class="box_info">
|
68
|
+
|
69
|
+
<dl>
|
70
|
+
<dt>Inherits:</dt>
|
71
|
+
<dd>
|
72
|
+
<span class="inheritName">Object</span>
|
73
|
+
|
74
|
+
<ul class="fullTree">
|
75
|
+
<li>Object</li>
|
76
|
+
|
77
|
+
<li class="next">Tasker::Diagram::Flowchart</li>
|
78
|
+
|
79
|
+
</ul>
|
80
|
+
<a href="#" class="inheritanceTree">show all</a>
|
81
|
+
|
82
|
+
</dd>
|
83
|
+
</dl>
|
84
|
+
|
85
|
+
|
86
|
+
|
87
|
+
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
<dl>
|
96
|
+
<dt>Defined in:</dt>
|
97
|
+
<dd>app/models/tasker/diagram/flowchart.rb</dd>
|
98
|
+
</dl>
|
99
|
+
|
100
|
+
</div>
|
101
|
+
|
102
|
+
<h2>Overview</h2><div class="docstring">
|
103
|
+
<div class="discussion">
|
104
|
+
|
105
|
+
<p>Represents a flowchart diagram with nodes and edges</p>
|
106
|
+
|
107
|
+
|
108
|
+
</div>
|
109
|
+
</div>
|
110
|
+
<div class="tags">
|
111
|
+
|
112
|
+
|
113
|
+
</div>
|
114
|
+
|
115
|
+
|
116
|
+
|
117
|
+
<h2>Instance Attribute Summary <small><a href="#" class="summary_toggle">collapse</a></small></h2>
|
118
|
+
<ul class="summary">
|
119
|
+
|
120
|
+
<li class="public ">
|
121
|
+
<span class="summary_signature">
|
122
|
+
|
123
|
+
<a href="#attributes-instance_method" title="#attributes (instance method)">#<strong>attributes</strong> ⇒ Hash </a>
|
124
|
+
|
125
|
+
|
126
|
+
|
127
|
+
</span>
|
128
|
+
|
129
|
+
|
130
|
+
|
131
|
+
|
132
|
+
|
133
|
+
|
134
|
+
|
135
|
+
|
136
|
+
|
137
|
+
|
138
|
+
|
139
|
+
|
140
|
+
<span class="summary_desc"><div class='inline'>
|
141
|
+
<p>Additional attributes for the flowchart.</p>
|
142
|
+
</div></span>
|
143
|
+
|
144
|
+
</li>
|
145
|
+
|
146
|
+
|
147
|
+
<li class="public ">
|
148
|
+
<span class="summary_signature">
|
149
|
+
|
150
|
+
<a href="#direction-instance_method" title="#direction (instance method)">#<strong>direction</strong> ⇒ String </a>
|
151
|
+
|
152
|
+
|
153
|
+
|
154
|
+
</span>
|
155
|
+
|
156
|
+
|
157
|
+
|
158
|
+
|
159
|
+
|
160
|
+
|
161
|
+
|
162
|
+
|
163
|
+
|
164
|
+
|
165
|
+
|
166
|
+
|
167
|
+
<span class="summary_desc"><div class='inline'>
|
168
|
+
<p>The direction of the flowchart (TD: top-down, LR: left-right, etc.).</p>
|
169
|
+
</div></span>
|
170
|
+
|
171
|
+
</li>
|
172
|
+
|
173
|
+
|
174
|
+
<li class="public ">
|
175
|
+
<span class="summary_signature">
|
176
|
+
|
177
|
+
<a href="#edges-instance_method" title="#edges (instance method)">#<strong>edges</strong> ⇒ Array<Tasker::Diagram::Edge> </a>
|
178
|
+
|
179
|
+
|
180
|
+
|
181
|
+
</span>
|
182
|
+
|
183
|
+
|
184
|
+
|
185
|
+
|
186
|
+
|
187
|
+
|
188
|
+
|
189
|
+
|
190
|
+
|
191
|
+
|
192
|
+
|
193
|
+
|
194
|
+
<span class="summary_desc"><div class='inline'>
|
195
|
+
<p>The edges in the flowchart.</p>
|
196
|
+
</div></span>
|
197
|
+
|
198
|
+
</li>
|
199
|
+
|
200
|
+
|
201
|
+
<li class="public ">
|
202
|
+
<span class="summary_signature">
|
203
|
+
|
204
|
+
<a href="#nodes-instance_method" title="#nodes (instance method)">#<strong>nodes</strong> ⇒ Array<Tasker::Diagram::Node> </a>
|
205
|
+
|
206
|
+
|
207
|
+
|
208
|
+
</span>
|
209
|
+
|
210
|
+
|
211
|
+
|
212
|
+
|
213
|
+
|
214
|
+
|
215
|
+
|
216
|
+
|
217
|
+
|
218
|
+
|
219
|
+
|
220
|
+
|
221
|
+
<span class="summary_desc"><div class='inline'>
|
222
|
+
<p>The nodes in the flowchart.</p>
|
223
|
+
</div></span>
|
224
|
+
|
225
|
+
</li>
|
226
|
+
|
227
|
+
|
228
|
+
<li class="public ">
|
229
|
+
<span class="summary_signature">
|
230
|
+
|
231
|
+
<a href="#title-instance_method" title="#title (instance method)">#<strong>title</strong> ⇒ String </a>
|
232
|
+
|
233
|
+
|
234
|
+
|
235
|
+
</span>
|
236
|
+
|
237
|
+
|
238
|
+
|
239
|
+
|
240
|
+
|
241
|
+
|
242
|
+
|
243
|
+
|
244
|
+
|
245
|
+
|
246
|
+
|
247
|
+
|
248
|
+
<span class="summary_desc"><div class='inline'>
|
249
|
+
<p>The title of the flowchart.</p>
|
250
|
+
</div></span>
|
251
|
+
|
252
|
+
</li>
|
253
|
+
|
254
|
+
|
255
|
+
</ul>
|
256
|
+
|
257
|
+
|
258
|
+
|
259
|
+
|
260
|
+
|
261
|
+
<h2>
|
262
|
+
Instance Method Summary
|
263
|
+
<small><a href="#" class="summary_toggle">collapse</a></small>
|
264
|
+
</h2>
|
265
|
+
|
266
|
+
<ul class="summary">
|
267
|
+
|
268
|
+
<li class="public ">
|
269
|
+
<span class="summary_signature">
|
270
|
+
|
271
|
+
<a href="#add_edge-instance_method" title="#add_edge (instance method)">#<strong>add_edge</strong>(edge) ⇒ Tasker::Diagram::Edge </a>
|
272
|
+
|
273
|
+
|
274
|
+
|
275
|
+
</span>
|
276
|
+
|
277
|
+
|
278
|
+
|
279
|
+
|
280
|
+
|
281
|
+
|
282
|
+
|
283
|
+
|
284
|
+
|
285
|
+
<span class="summary_desc"><div class='inline'>
|
286
|
+
<p>Add an edge to the flowchart.</p>
|
287
|
+
</div></span>
|
288
|
+
|
289
|
+
</li>
|
290
|
+
|
291
|
+
|
292
|
+
<li class="public ">
|
293
|
+
<span class="summary_signature">
|
294
|
+
|
295
|
+
<a href="#add_node-instance_method" title="#add_node (instance method)">#<strong>add_node</strong>(node) ⇒ Tasker::Diagram::Node </a>
|
296
|
+
|
297
|
+
|
298
|
+
|
299
|
+
</span>
|
300
|
+
|
301
|
+
|
302
|
+
|
303
|
+
|
304
|
+
|
305
|
+
|
306
|
+
|
307
|
+
|
308
|
+
|
309
|
+
<span class="summary_desc"><div class='inline'>
|
310
|
+
<p>Add a node to the flowchart.</p>
|
311
|
+
</div></span>
|
312
|
+
|
313
|
+
</li>
|
314
|
+
|
315
|
+
|
316
|
+
<li class="public ">
|
317
|
+
<span class="summary_signature">
|
318
|
+
|
319
|
+
<a href="#find_edges_for_node-instance_method" title="#find_edges_for_node (instance method)">#<strong>find_edges_for_node</strong>(node_id, direction = :both) ⇒ Array<Tasker::Diagram::Edge> </a>
|
320
|
+
|
321
|
+
|
322
|
+
|
323
|
+
</span>
|
324
|
+
|
325
|
+
|
326
|
+
|
327
|
+
|
328
|
+
|
329
|
+
|
330
|
+
|
331
|
+
|
332
|
+
|
333
|
+
<span class="summary_desc"><div class='inline'>
|
334
|
+
<p>Find all edges connected to a node.</p>
|
335
|
+
</div></span>
|
336
|
+
|
337
|
+
</li>
|
338
|
+
|
339
|
+
|
340
|
+
<li class="public ">
|
341
|
+
<span class="summary_signature">
|
342
|
+
|
343
|
+
<a href="#find_node-instance_method" title="#find_node (instance method)">#<strong>find_node</strong>(id) ⇒ Tasker::Diagram::Node<sup>?</sup> </a>
|
344
|
+
|
345
|
+
|
346
|
+
|
347
|
+
</span>
|
348
|
+
|
349
|
+
|
350
|
+
|
351
|
+
|
352
|
+
|
353
|
+
|
354
|
+
|
355
|
+
|
356
|
+
|
357
|
+
<span class="summary_desc"><div class='inline'>
|
358
|
+
<p>Find a node by its ID.</p>
|
359
|
+
</div></span>
|
360
|
+
|
361
|
+
</li>
|
362
|
+
|
363
|
+
|
364
|
+
<li class="public ">
|
365
|
+
<span class="summary_signature">
|
366
|
+
|
367
|
+
<a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(nodes: [], edges: [], direction: 'TD', title: nil, attributes: {}) ⇒ Flowchart </a>
|
368
|
+
|
369
|
+
|
370
|
+
|
371
|
+
</span>
|
372
|
+
|
373
|
+
|
374
|
+
<span class="note title constructor">constructor</span>
|
375
|
+
|
376
|
+
|
377
|
+
|
378
|
+
|
379
|
+
|
380
|
+
|
381
|
+
|
382
|
+
|
383
|
+
<span class="summary_desc"><div class='inline'>
|
384
|
+
<p>Creates a new flowchart diagram.</p>
|
385
|
+
</div></span>
|
386
|
+
|
387
|
+
</li>
|
388
|
+
|
389
|
+
|
390
|
+
<li class="public ">
|
391
|
+
<span class="summary_signature">
|
392
|
+
|
393
|
+
<a href="#to_h-instance_method" title="#to_h (instance method)">#<strong>to_h</strong> ⇒ Hash </a>
|
394
|
+
|
395
|
+
|
396
|
+
|
397
|
+
</span>
|
398
|
+
|
399
|
+
|
400
|
+
|
401
|
+
|
402
|
+
|
403
|
+
|
404
|
+
|
405
|
+
|
406
|
+
|
407
|
+
<span class="summary_desc"><div class='inline'>
|
408
|
+
<p>Convert the flowchart to a hash representation.</p>
|
409
|
+
</div></span>
|
410
|
+
|
411
|
+
</li>
|
412
|
+
|
413
|
+
|
414
|
+
<li class="public ">
|
415
|
+
<span class="summary_signature">
|
416
|
+
|
417
|
+
<a href="#to_json-instance_method" title="#to_json (instance method)">#<strong>to_json</strong> ⇒ String </a>
|
418
|
+
|
419
|
+
|
420
|
+
|
421
|
+
</span>
|
422
|
+
|
423
|
+
|
424
|
+
|
425
|
+
|
426
|
+
|
427
|
+
|
428
|
+
|
429
|
+
|
430
|
+
|
431
|
+
<span class="summary_desc"><div class='inline'>
|
432
|
+
<p>Convert the flowchart to a JSON string.</p>
|
433
|
+
</div></span>
|
434
|
+
|
435
|
+
</li>
|
436
|
+
|
437
|
+
|
438
|
+
<li class="public ">
|
439
|
+
<span class="summary_signature">
|
440
|
+
|
441
|
+
<a href="#to_mermaid-instance_method" title="#to_mermaid (instance method)">#<strong>to_mermaid</strong> ⇒ String </a>
|
442
|
+
|
443
|
+
|
444
|
+
|
445
|
+
</span>
|
446
|
+
|
447
|
+
|
448
|
+
|
449
|
+
|
450
|
+
|
451
|
+
|
452
|
+
|
453
|
+
|
454
|
+
|
455
|
+
<span class="summary_desc"><div class='inline'>
|
456
|
+
<p>Generate Mermaid diagram syntax for this flowchart.</p>
|
457
|
+
</div></span>
|
458
|
+
|
459
|
+
</li>
|
460
|
+
|
461
|
+
|
462
|
+
</ul>
|
463
|
+
|
464
|
+
|
465
|
+
<div id="constructor_details" class="method_details_list">
|
466
|
+
<h2>Constructor Details</h2>
|
467
|
+
|
468
|
+
<div class="method_details first">
|
469
|
+
<h3 class="signature first" id="initialize-instance_method">
|
470
|
+
|
471
|
+
#<strong>initialize</strong>(nodes: [], edges: [], direction: 'TD', title: nil, attributes: {}) ⇒ <tt><span class='object_link'><a href="" title="Tasker::Diagram::Flowchart (class)">Flowchart</a></span></tt>
|
472
|
+
|
473
|
+
|
474
|
+
|
475
|
+
|
476
|
+
|
477
|
+
</h3><div class="docstring">
|
478
|
+
<div class="discussion">
|
479
|
+
|
480
|
+
<p>Creates a new flowchart diagram</p>
|
481
|
+
|
482
|
+
|
483
|
+
</div>
|
484
|
+
</div>
|
485
|
+
<div class="tags">
|
486
|
+
<p class="tag_title">Parameters:</p>
|
487
|
+
<ul class="param">
|
488
|
+
|
489
|
+
<li>
|
490
|
+
|
491
|
+
<span class='name'>nodes</span>
|
492
|
+
|
493
|
+
|
494
|
+
<span class='type'>(<tt>Array<<span class='object_link'><a href="Node.html" title="Tasker::Diagram::Node (class)">Tasker::Diagram::Node</a></span>></tt>)</span>
|
495
|
+
|
496
|
+
|
497
|
+
<em class="default">(defaults to: <tt>[]</tt>)</em>
|
498
|
+
|
499
|
+
|
500
|
+
—
|
501
|
+
<div class='inline'>
|
502
|
+
<p>The nodes in the flowchart</p>
|
503
|
+
</div>
|
504
|
+
|
505
|
+
</li>
|
506
|
+
|
507
|
+
<li>
|
508
|
+
|
509
|
+
<span class='name'>edges</span>
|
510
|
+
|
511
|
+
|
512
|
+
<span class='type'>(<tt>Array<<span class='object_link'><a href="Edge.html" title="Tasker::Diagram::Edge (class)">Tasker::Diagram::Edge</a></span>></tt>)</span>
|
513
|
+
|
514
|
+
|
515
|
+
<em class="default">(defaults to: <tt>[]</tt>)</em>
|
516
|
+
|
517
|
+
|
518
|
+
—
|
519
|
+
<div class='inline'>
|
520
|
+
<p>The edges in the flowchart</p>
|
521
|
+
</div>
|
522
|
+
|
523
|
+
</li>
|
524
|
+
|
525
|
+
<li>
|
526
|
+
|
527
|
+
<span class='name'>direction</span>
|
528
|
+
|
529
|
+
|
530
|
+
<span class='type'>(<tt>String</tt>)</span>
|
531
|
+
|
532
|
+
|
533
|
+
<em class="default">(defaults to: <tt>'TD'</tt>)</em>
|
534
|
+
|
535
|
+
|
536
|
+
—
|
537
|
+
<div class='inline'>
|
538
|
+
<p>The direction of the flowchart (default: ‘TD’)</p>
|
539
|
+
</div>
|
540
|
+
|
541
|
+
</li>
|
542
|
+
|
543
|
+
<li>
|
544
|
+
|
545
|
+
<span class='name'>title</span>
|
546
|
+
|
547
|
+
|
548
|
+
<span class='type'>(<tt>String</tt>, <tt>nil</tt>)</span>
|
549
|
+
|
550
|
+
|
551
|
+
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
552
|
+
|
553
|
+
|
554
|
+
—
|
555
|
+
<div class='inline'>
|
556
|
+
<p>The title of the flowchart</p>
|
557
|
+
</div>
|
558
|
+
|
559
|
+
</li>
|
560
|
+
|
561
|
+
<li>
|
562
|
+
|
563
|
+
<span class='name'>attributes</span>
|
564
|
+
|
565
|
+
|
566
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
567
|
+
|
568
|
+
|
569
|
+
<em class="default">(defaults to: <tt>{}</tt>)</em>
|
570
|
+
|
571
|
+
|
572
|
+
—
|
573
|
+
<div class='inline'>
|
574
|
+
<p>Additional attributes for the flowchart</p>
|
575
|
+
</div>
|
576
|
+
|
577
|
+
</li>
|
578
|
+
|
579
|
+
</ul>
|
580
|
+
|
581
|
+
|
582
|
+
</div><table class="source_code">
|
583
|
+
<tr>
|
584
|
+
<td>
|
585
|
+
<pre class="lines">
|
586
|
+
|
587
|
+
|
588
|
+
30
|
589
|
+
31
|
590
|
+
32
|
591
|
+
33
|
592
|
+
34
|
593
|
+
35
|
594
|
+
36</pre>
|
595
|
+
</td>
|
596
|
+
<td>
|
597
|
+
<pre class="code"><span class="info file"># File 'app/models/tasker/diagram/flowchart.rb', line 30</span>
|
598
|
+
|
599
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='label'>nodes:</span> <span class='lbracket'>[</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='label'>edges:</span> <span class='lbracket'>[</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='label'>direction:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>TD</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='label'>title:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>attributes:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
600
|
+
<span class='ivar'>@nodes</span> <span class='op'>=</span> <span class='id identifier rubyid_nodes'>nodes</span>
|
601
|
+
<span class='ivar'>@edges</span> <span class='op'>=</span> <span class='id identifier rubyid_edges'>edges</span>
|
602
|
+
<span class='ivar'>@direction</span> <span class='op'>=</span> <span class='id identifier rubyid_direction'>direction</span>
|
603
|
+
<span class='ivar'>@title</span> <span class='op'>=</span> <span class='id identifier rubyid_title'>title</span>
|
604
|
+
<span class='ivar'>@attributes</span> <span class='op'>=</span> <span class='id identifier rubyid_attributes'>attributes</span>
|
605
|
+
<span class='kw'>end</span></pre>
|
606
|
+
</td>
|
607
|
+
</tr>
|
608
|
+
</table>
|
609
|
+
</div>
|
610
|
+
|
611
|
+
</div>
|
612
|
+
|
613
|
+
<div id="instance_attr_details" class="attr_details">
|
614
|
+
<h2>Instance Attribute Details</h2>
|
615
|
+
|
616
|
+
|
617
|
+
<span id="attributes=-instance_method"></span>
|
618
|
+
<div class="method_details first">
|
619
|
+
<h3 class="signature first" id="attributes-instance_method">
|
620
|
+
|
621
|
+
#<strong>attributes</strong> ⇒ <tt>Hash</tt>
|
622
|
+
|
623
|
+
|
624
|
+
|
625
|
+
|
626
|
+
|
627
|
+
</h3><div class="docstring">
|
628
|
+
<div class="discussion">
|
629
|
+
|
630
|
+
<p>Returns Additional attributes for the flowchart.</p>
|
631
|
+
|
632
|
+
|
633
|
+
</div>
|
634
|
+
</div>
|
635
|
+
<div class="tags">
|
636
|
+
|
637
|
+
<p class="tag_title">Returns:</p>
|
638
|
+
<ul class="return">
|
639
|
+
|
640
|
+
<li>
|
641
|
+
|
642
|
+
|
643
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
644
|
+
|
645
|
+
|
646
|
+
|
647
|
+
—
|
648
|
+
<div class='inline'>
|
649
|
+
<p>Additional attributes for the flowchart</p>
|
650
|
+
</div>
|
651
|
+
|
652
|
+
</li>
|
653
|
+
|
654
|
+
</ul>
|
655
|
+
|
656
|
+
</div><table class="source_code">
|
657
|
+
<tr>
|
658
|
+
<td>
|
659
|
+
<pre class="lines">
|
660
|
+
|
661
|
+
|
662
|
+
20
|
663
|
+
21
|
664
|
+
22</pre>
|
665
|
+
</td>
|
666
|
+
<td>
|
667
|
+
<pre class="code"><span class="info file"># File 'app/models/tasker/diagram/flowchart.rb', line 20</span>
|
668
|
+
|
669
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_attributes'>attributes</span>
|
670
|
+
<span class='ivar'>@attributes</span>
|
671
|
+
<span class='kw'>end</span></pre>
|
672
|
+
</td>
|
673
|
+
</tr>
|
674
|
+
</table>
|
675
|
+
</div>
|
676
|
+
|
677
|
+
|
678
|
+
<span id="direction=-instance_method"></span>
|
679
|
+
<div class="method_details ">
|
680
|
+
<h3 class="signature " id="direction-instance_method">
|
681
|
+
|
682
|
+
#<strong>direction</strong> ⇒ <tt>String</tt>
|
683
|
+
|
684
|
+
|
685
|
+
|
686
|
+
|
687
|
+
|
688
|
+
</h3><div class="docstring">
|
689
|
+
<div class="discussion">
|
690
|
+
|
691
|
+
<p>Returns The direction of the flowchart (TD: top-down, LR: left-right, etc.).</p>
|
692
|
+
|
693
|
+
|
694
|
+
</div>
|
695
|
+
</div>
|
696
|
+
<div class="tags">
|
697
|
+
|
698
|
+
<p class="tag_title">Returns:</p>
|
699
|
+
<ul class="return">
|
700
|
+
|
701
|
+
<li>
|
702
|
+
|
703
|
+
|
704
|
+
<span class='type'>(<tt>String</tt>)</span>
|
705
|
+
|
706
|
+
|
707
|
+
|
708
|
+
—
|
709
|
+
<div class='inline'>
|
710
|
+
<p>The direction of the flowchart (TD: top-down, LR: left-right, etc.)</p>
|
711
|
+
</div>
|
712
|
+
|
713
|
+
</li>
|
714
|
+
|
715
|
+
</ul>
|
716
|
+
|
717
|
+
</div><table class="source_code">
|
718
|
+
<tr>
|
719
|
+
<td>
|
720
|
+
<pre class="lines">
|
721
|
+
|
722
|
+
|
723
|
+
14
|
724
|
+
15
|
725
|
+
16</pre>
|
726
|
+
</td>
|
727
|
+
<td>
|
728
|
+
<pre class="code"><span class="info file"># File 'app/models/tasker/diagram/flowchart.rb', line 14</span>
|
729
|
+
|
730
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_direction'>direction</span>
|
731
|
+
<span class='ivar'>@direction</span>
|
732
|
+
<span class='kw'>end</span></pre>
|
733
|
+
</td>
|
734
|
+
</tr>
|
735
|
+
</table>
|
736
|
+
</div>
|
737
|
+
|
738
|
+
|
739
|
+
<span id="edges=-instance_method"></span>
|
740
|
+
<div class="method_details ">
|
741
|
+
<h3 class="signature " id="edges-instance_method">
|
742
|
+
|
743
|
+
#<strong>edges</strong> ⇒ <tt>Array<<span class='object_link'><a href="Edge.html" title="Tasker::Diagram::Edge (class)">Tasker::Diagram::Edge</a></span>></tt>
|
744
|
+
|
745
|
+
|
746
|
+
|
747
|
+
|
748
|
+
|
749
|
+
</h3><div class="docstring">
|
750
|
+
<div class="discussion">
|
751
|
+
|
752
|
+
<p>Returns The edges in the flowchart.</p>
|
753
|
+
|
754
|
+
|
755
|
+
</div>
|
756
|
+
</div>
|
757
|
+
<div class="tags">
|
758
|
+
|
759
|
+
<p class="tag_title">Returns:</p>
|
760
|
+
<ul class="return">
|
761
|
+
|
762
|
+
<li>
|
763
|
+
|
764
|
+
|
765
|
+
<span class='type'>(<tt>Array<<span class='object_link'><a href="Edge.html" title="Tasker::Diagram::Edge (class)">Tasker::Diagram::Edge</a></span>></tt>)</span>
|
766
|
+
|
767
|
+
|
768
|
+
|
769
|
+
—
|
770
|
+
<div class='inline'>
|
771
|
+
<p>The edges in the flowchart</p>
|
772
|
+
</div>
|
773
|
+
|
774
|
+
</li>
|
775
|
+
|
776
|
+
</ul>
|
777
|
+
|
778
|
+
</div><table class="source_code">
|
779
|
+
<tr>
|
780
|
+
<td>
|
781
|
+
<pre class="lines">
|
782
|
+
|
783
|
+
|
784
|
+
11
|
785
|
+
12
|
786
|
+
13</pre>
|
787
|
+
</td>
|
788
|
+
<td>
|
789
|
+
<pre class="code"><span class="info file"># File 'app/models/tasker/diagram/flowchart.rb', line 11</span>
|
790
|
+
|
791
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_edges'>edges</span>
|
792
|
+
<span class='ivar'>@edges</span>
|
793
|
+
<span class='kw'>end</span></pre>
|
794
|
+
</td>
|
795
|
+
</tr>
|
796
|
+
</table>
|
797
|
+
</div>
|
798
|
+
|
799
|
+
|
800
|
+
<span id="nodes=-instance_method"></span>
|
801
|
+
<div class="method_details ">
|
802
|
+
<h3 class="signature " id="nodes-instance_method">
|
803
|
+
|
804
|
+
#<strong>nodes</strong> ⇒ <tt>Array<<span class='object_link'><a href="Node.html" title="Tasker::Diagram::Node (class)">Tasker::Diagram::Node</a></span>></tt>
|
805
|
+
|
806
|
+
|
807
|
+
|
808
|
+
|
809
|
+
|
810
|
+
</h3><div class="docstring">
|
811
|
+
<div class="discussion">
|
812
|
+
|
813
|
+
<p>Returns The nodes in the flowchart.</p>
|
814
|
+
|
815
|
+
|
816
|
+
</div>
|
817
|
+
</div>
|
818
|
+
<div class="tags">
|
819
|
+
|
820
|
+
<p class="tag_title">Returns:</p>
|
821
|
+
<ul class="return">
|
822
|
+
|
823
|
+
<li>
|
824
|
+
|
825
|
+
|
826
|
+
<span class='type'>(<tt>Array<<span class='object_link'><a href="Node.html" title="Tasker::Diagram::Node (class)">Tasker::Diagram::Node</a></span>></tt>)</span>
|
827
|
+
|
828
|
+
|
829
|
+
|
830
|
+
—
|
831
|
+
<div class='inline'>
|
832
|
+
<p>The nodes in the flowchart</p>
|
833
|
+
</div>
|
834
|
+
|
835
|
+
</li>
|
836
|
+
|
837
|
+
</ul>
|
838
|
+
|
839
|
+
</div><table class="source_code">
|
840
|
+
<tr>
|
841
|
+
<td>
|
842
|
+
<pre class="lines">
|
843
|
+
|
844
|
+
|
845
|
+
8
|
846
|
+
9
|
847
|
+
10</pre>
|
848
|
+
</td>
|
849
|
+
<td>
|
850
|
+
<pre class="code"><span class="info file"># File 'app/models/tasker/diagram/flowchart.rb', line 8</span>
|
851
|
+
|
852
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_nodes'>nodes</span>
|
853
|
+
<span class='ivar'>@nodes</span>
|
854
|
+
<span class='kw'>end</span></pre>
|
855
|
+
</td>
|
856
|
+
</tr>
|
857
|
+
</table>
|
858
|
+
</div>
|
859
|
+
|
860
|
+
|
861
|
+
<span id="title=-instance_method"></span>
|
862
|
+
<div class="method_details ">
|
863
|
+
<h3 class="signature " id="title-instance_method">
|
864
|
+
|
865
|
+
#<strong>title</strong> ⇒ <tt>String</tt>
|
866
|
+
|
867
|
+
|
868
|
+
|
869
|
+
|
870
|
+
|
871
|
+
</h3><div class="docstring">
|
872
|
+
<div class="discussion">
|
873
|
+
|
874
|
+
<p>Returns The title of the flowchart.</p>
|
875
|
+
|
876
|
+
|
877
|
+
</div>
|
878
|
+
</div>
|
879
|
+
<div class="tags">
|
880
|
+
|
881
|
+
<p class="tag_title">Returns:</p>
|
882
|
+
<ul class="return">
|
883
|
+
|
884
|
+
<li>
|
885
|
+
|
886
|
+
|
887
|
+
<span class='type'>(<tt>String</tt>)</span>
|
888
|
+
|
889
|
+
|
890
|
+
|
891
|
+
—
|
892
|
+
<div class='inline'>
|
893
|
+
<p>The title of the flowchart</p>
|
894
|
+
</div>
|
895
|
+
|
896
|
+
</li>
|
897
|
+
|
898
|
+
</ul>
|
899
|
+
|
900
|
+
</div><table class="source_code">
|
901
|
+
<tr>
|
902
|
+
<td>
|
903
|
+
<pre class="lines">
|
904
|
+
|
905
|
+
|
906
|
+
17
|
907
|
+
18
|
908
|
+
19</pre>
|
909
|
+
</td>
|
910
|
+
<td>
|
911
|
+
<pre class="code"><span class="info file"># File 'app/models/tasker/diagram/flowchart.rb', line 17</span>
|
912
|
+
|
913
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_title'>title</span>
|
914
|
+
<span class='ivar'>@title</span>
|
915
|
+
<span class='kw'>end</span></pre>
|
916
|
+
</td>
|
917
|
+
</tr>
|
918
|
+
</table>
|
919
|
+
</div>
|
920
|
+
|
921
|
+
</div>
|
922
|
+
|
923
|
+
|
924
|
+
<div id="instance_method_details" class="method_details_list">
|
925
|
+
<h2>Instance Method Details</h2>
|
926
|
+
|
927
|
+
|
928
|
+
<div class="method_details first">
|
929
|
+
<h3 class="signature first" id="add_edge-instance_method">
|
930
|
+
|
931
|
+
#<strong>add_edge</strong>(edge) ⇒ <tt><span class='object_link'><a href="Edge.html" title="Tasker::Diagram::Edge (class)">Tasker::Diagram::Edge</a></span></tt>
|
932
|
+
|
933
|
+
|
934
|
+
|
935
|
+
|
936
|
+
|
937
|
+
</h3><div class="docstring">
|
938
|
+
<div class="discussion">
|
939
|
+
|
940
|
+
<p>Add an edge to the flowchart</p>
|
941
|
+
|
942
|
+
|
943
|
+
</div>
|
944
|
+
</div>
|
945
|
+
<div class="tags">
|
946
|
+
<p class="tag_title">Parameters:</p>
|
947
|
+
<ul class="param">
|
948
|
+
|
949
|
+
<li>
|
950
|
+
|
951
|
+
<span class='name'>edge</span>
|
952
|
+
|
953
|
+
|
954
|
+
<span class='type'>(<tt><span class='object_link'><a href="Edge.html" title="Tasker::Diagram::Edge (class)">Tasker::Diagram::Edge</a></span></tt>)</span>
|
955
|
+
|
956
|
+
|
957
|
+
|
958
|
+
—
|
959
|
+
<div class='inline'>
|
960
|
+
<p>The edge to add</p>
|
961
|
+
</div>
|
962
|
+
|
963
|
+
</li>
|
964
|
+
|
965
|
+
</ul>
|
966
|
+
|
967
|
+
<p class="tag_title">Returns:</p>
|
968
|
+
<ul class="return">
|
969
|
+
|
970
|
+
<li>
|
971
|
+
|
972
|
+
|
973
|
+
<span class='type'>(<tt><span class='object_link'><a href="Edge.html" title="Tasker::Diagram::Edge (class)">Tasker::Diagram::Edge</a></span></tt>)</span>
|
974
|
+
|
975
|
+
|
976
|
+
|
977
|
+
—
|
978
|
+
<div class='inline'>
|
979
|
+
<p>The added edge</p>
|
980
|
+
</div>
|
981
|
+
|
982
|
+
</li>
|
983
|
+
|
984
|
+
</ul>
|
985
|
+
|
986
|
+
</div><table class="source_code">
|
987
|
+
<tr>
|
988
|
+
<td>
|
989
|
+
<pre class="lines">
|
990
|
+
|
991
|
+
|
992
|
+
51
|
993
|
+
52
|
994
|
+
53
|
995
|
+
54</pre>
|
996
|
+
</td>
|
997
|
+
<td>
|
998
|
+
<pre class="code"><span class="info file"># File 'app/models/tasker/diagram/flowchart.rb', line 51</span>
|
999
|
+
|
1000
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_add_edge'>add_edge</span><span class='lparen'>(</span><span class='id identifier rubyid_edge'>edge</span><span class='rparen'>)</span>
|
1001
|
+
<span class='ivar'>@edges</span> <span class='op'><<</span> <span class='id identifier rubyid_edge'>edge</span>
|
1002
|
+
<span class='id identifier rubyid_edge'>edge</span>
|
1003
|
+
<span class='kw'>end</span></pre>
|
1004
|
+
</td>
|
1005
|
+
</tr>
|
1006
|
+
</table>
|
1007
|
+
</div>
|
1008
|
+
|
1009
|
+
<div class="method_details ">
|
1010
|
+
<h3 class="signature " id="add_node-instance_method">
|
1011
|
+
|
1012
|
+
#<strong>add_node</strong>(node) ⇒ <tt><span class='object_link'><a href="Node.html" title="Tasker::Diagram::Node (class)">Tasker::Diagram::Node</a></span></tt>
|
1013
|
+
|
1014
|
+
|
1015
|
+
|
1016
|
+
|
1017
|
+
|
1018
|
+
</h3><div class="docstring">
|
1019
|
+
<div class="discussion">
|
1020
|
+
|
1021
|
+
<p>Add a node to the flowchart</p>
|
1022
|
+
|
1023
|
+
|
1024
|
+
</div>
|
1025
|
+
</div>
|
1026
|
+
<div class="tags">
|
1027
|
+
<p class="tag_title">Parameters:</p>
|
1028
|
+
<ul class="param">
|
1029
|
+
|
1030
|
+
<li>
|
1031
|
+
|
1032
|
+
<span class='name'>node</span>
|
1033
|
+
|
1034
|
+
|
1035
|
+
<span class='type'>(<tt><span class='object_link'><a href="Node.html" title="Tasker::Diagram::Node (class)">Tasker::Diagram::Node</a></span></tt>)</span>
|
1036
|
+
|
1037
|
+
|
1038
|
+
|
1039
|
+
—
|
1040
|
+
<div class='inline'>
|
1041
|
+
<p>The node to add</p>
|
1042
|
+
</div>
|
1043
|
+
|
1044
|
+
</li>
|
1045
|
+
|
1046
|
+
</ul>
|
1047
|
+
|
1048
|
+
<p class="tag_title">Returns:</p>
|
1049
|
+
<ul class="return">
|
1050
|
+
|
1051
|
+
<li>
|
1052
|
+
|
1053
|
+
|
1054
|
+
<span class='type'>(<tt><span class='object_link'><a href="Node.html" title="Tasker::Diagram::Node (class)">Tasker::Diagram::Node</a></span></tt>)</span>
|
1055
|
+
|
1056
|
+
|
1057
|
+
|
1058
|
+
—
|
1059
|
+
<div class='inline'>
|
1060
|
+
<p>The added node</p>
|
1061
|
+
</div>
|
1062
|
+
|
1063
|
+
</li>
|
1064
|
+
|
1065
|
+
</ul>
|
1066
|
+
|
1067
|
+
</div><table class="source_code">
|
1068
|
+
<tr>
|
1069
|
+
<td>
|
1070
|
+
<pre class="lines">
|
1071
|
+
|
1072
|
+
|
1073
|
+
42
|
1074
|
+
43
|
1075
|
+
44
|
1076
|
+
45</pre>
|
1077
|
+
</td>
|
1078
|
+
<td>
|
1079
|
+
<pre class="code"><span class="info file"># File 'app/models/tasker/diagram/flowchart.rb', line 42</span>
|
1080
|
+
|
1081
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_add_node'>add_node</span><span class='lparen'>(</span><span class='id identifier rubyid_node'>node</span><span class='rparen'>)</span>
|
1082
|
+
<span class='ivar'>@nodes</span> <span class='op'><<</span> <span class='id identifier rubyid_node'>node</span>
|
1083
|
+
<span class='id identifier rubyid_node'>node</span>
|
1084
|
+
<span class='kw'>end</span></pre>
|
1085
|
+
</td>
|
1086
|
+
</tr>
|
1087
|
+
</table>
|
1088
|
+
</div>
|
1089
|
+
|
1090
|
+
<div class="method_details ">
|
1091
|
+
<h3 class="signature " id="find_edges_for_node-instance_method">
|
1092
|
+
|
1093
|
+
#<strong>find_edges_for_node</strong>(node_id, direction = :both) ⇒ <tt>Array<<span class='object_link'><a href="Edge.html" title="Tasker::Diagram::Edge (class)">Tasker::Diagram::Edge</a></span>></tt>
|
1094
|
+
|
1095
|
+
|
1096
|
+
|
1097
|
+
|
1098
|
+
|
1099
|
+
</h3><div class="docstring">
|
1100
|
+
<div class="discussion">
|
1101
|
+
|
1102
|
+
<p>Find all edges connected to a node</p>
|
1103
|
+
|
1104
|
+
|
1105
|
+
</div>
|
1106
|
+
</div>
|
1107
|
+
<div class="tags">
|
1108
|
+
<p class="tag_title">Parameters:</p>
|
1109
|
+
<ul class="param">
|
1110
|
+
|
1111
|
+
<li>
|
1112
|
+
|
1113
|
+
<span class='name'>node_id</span>
|
1114
|
+
|
1115
|
+
|
1116
|
+
<span class='type'>(<tt>String</tt>)</span>
|
1117
|
+
|
1118
|
+
|
1119
|
+
|
1120
|
+
—
|
1121
|
+
<div class='inline'>
|
1122
|
+
<p>The ID of the node</p>
|
1123
|
+
</div>
|
1124
|
+
|
1125
|
+
</li>
|
1126
|
+
|
1127
|
+
<li>
|
1128
|
+
|
1129
|
+
<span class='name'>direction</span>
|
1130
|
+
|
1131
|
+
|
1132
|
+
<span class='type'>(<tt>Symbol</tt>)</span>
|
1133
|
+
|
1134
|
+
|
1135
|
+
<em class="default">(defaults to: <tt>:both</tt>)</em>
|
1136
|
+
|
1137
|
+
|
1138
|
+
—
|
1139
|
+
<div class='inline'>
|
1140
|
+
<p>:outgoing, :incoming, or :both (default: :both)</p>
|
1141
|
+
</div>
|
1142
|
+
|
1143
|
+
</li>
|
1144
|
+
|
1145
|
+
</ul>
|
1146
|
+
|
1147
|
+
<p class="tag_title">Returns:</p>
|
1148
|
+
<ul class="return">
|
1149
|
+
|
1150
|
+
<li>
|
1151
|
+
|
1152
|
+
|
1153
|
+
<span class='type'>(<tt>Array<<span class='object_link'><a href="Edge.html" title="Tasker::Diagram::Edge (class)">Tasker::Diagram::Edge</a></span>></tt>)</span>
|
1154
|
+
|
1155
|
+
|
1156
|
+
|
1157
|
+
—
|
1158
|
+
<div class='inline'>
|
1159
|
+
<p>The edges connected to the node</p>
|
1160
|
+
</div>
|
1161
|
+
|
1162
|
+
</li>
|
1163
|
+
|
1164
|
+
</ul>
|
1165
|
+
|
1166
|
+
</div><table class="source_code">
|
1167
|
+
<tr>
|
1168
|
+
<td>
|
1169
|
+
<pre class="lines">
|
1170
|
+
|
1171
|
+
|
1172
|
+
69
|
1173
|
+
70
|
1174
|
+
71
|
1175
|
+
72
|
1176
|
+
73
|
1177
|
+
74
|
1178
|
+
75
|
1179
|
+
76
|
1180
|
+
77
|
1181
|
+
78</pre>
|
1182
|
+
</td>
|
1183
|
+
<td>
|
1184
|
+
<pre class="code"><span class="info file"># File 'app/models/tasker/diagram/flowchart.rb', line 69</span>
|
1185
|
+
|
1186
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_find_edges_for_node'>find_edges_for_node</span><span class='lparen'>(</span><span class='id identifier rubyid_node_id'>node_id</span><span class='comma'>,</span> <span class='id identifier rubyid_direction'>direction</span> <span class='op'>=</span> <span class='symbol'>:both</span><span class='rparen'>)</span>
|
1187
|
+
<span class='kw'>case</span> <span class='id identifier rubyid_direction'>direction</span>
|
1188
|
+
<span class='kw'>when</span> <span class='symbol'>:outgoing</span>
|
1189
|
+
<span class='ivar'>@edges</span><span class='period'>.</span><span class='id identifier rubyid_select'>select</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_edge'>edge</span><span class='op'>|</span> <span class='id identifier rubyid_edge'>edge</span><span class='period'>.</span><span class='id identifier rubyid_source_id'>source_id</span> <span class='op'>==</span> <span class='id identifier rubyid_node_id'>node_id</span> <span class='rbrace'>}</span>
|
1190
|
+
<span class='kw'>when</span> <span class='symbol'>:incoming</span>
|
1191
|
+
<span class='ivar'>@edges</span><span class='period'>.</span><span class='id identifier rubyid_select'>select</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_edge'>edge</span><span class='op'>|</span> <span class='id identifier rubyid_edge'>edge</span><span class='period'>.</span><span class='id identifier rubyid_target_id'>target_id</span> <span class='op'>==</span> <span class='id identifier rubyid_node_id'>node_id</span> <span class='rbrace'>}</span>
|
1192
|
+
<span class='kw'>else</span>
|
1193
|
+
<span class='ivar'>@edges</span><span class='period'>.</span><span class='id identifier rubyid_select'>select</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_edge'>edge</span><span class='op'>|</span> <span class='id identifier rubyid_edge'>edge</span><span class='period'>.</span><span class='id identifier rubyid_source_id'>source_id</span> <span class='op'>==</span> <span class='id identifier rubyid_node_id'>node_id</span> <span class='op'>||</span> <span class='id identifier rubyid_edge'>edge</span><span class='period'>.</span><span class='id identifier rubyid_target_id'>target_id</span> <span class='op'>==</span> <span class='id identifier rubyid_node_id'>node_id</span> <span class='rbrace'>}</span>
|
1194
|
+
<span class='kw'>end</span>
|
1195
|
+
<span class='kw'>end</span></pre>
|
1196
|
+
</td>
|
1197
|
+
</tr>
|
1198
|
+
</table>
|
1199
|
+
</div>
|
1200
|
+
|
1201
|
+
<div class="method_details ">
|
1202
|
+
<h3 class="signature " id="find_node-instance_method">
|
1203
|
+
|
1204
|
+
#<strong>find_node</strong>(id) ⇒ <tt><span class='object_link'><a href="Node.html" title="Tasker::Diagram::Node (class)">Tasker::Diagram::Node</a></span></tt><sup>?</sup>
|
1205
|
+
|
1206
|
+
|
1207
|
+
|
1208
|
+
|
1209
|
+
|
1210
|
+
</h3><div class="docstring">
|
1211
|
+
<div class="discussion">
|
1212
|
+
|
1213
|
+
<p>Find a node by its ID</p>
|
1214
|
+
|
1215
|
+
|
1216
|
+
</div>
|
1217
|
+
</div>
|
1218
|
+
<div class="tags">
|
1219
|
+
<p class="tag_title">Parameters:</p>
|
1220
|
+
<ul class="param">
|
1221
|
+
|
1222
|
+
<li>
|
1223
|
+
|
1224
|
+
<span class='name'>id</span>
|
1225
|
+
|
1226
|
+
|
1227
|
+
<span class='type'>(<tt>String</tt>)</span>
|
1228
|
+
|
1229
|
+
|
1230
|
+
|
1231
|
+
—
|
1232
|
+
<div class='inline'>
|
1233
|
+
<p>The ID of the node to find</p>
|
1234
|
+
</div>
|
1235
|
+
|
1236
|
+
</li>
|
1237
|
+
|
1238
|
+
</ul>
|
1239
|
+
|
1240
|
+
<p class="tag_title">Returns:</p>
|
1241
|
+
<ul class="return">
|
1242
|
+
|
1243
|
+
<li>
|
1244
|
+
|
1245
|
+
|
1246
|
+
<span class='type'>(<tt><span class='object_link'><a href="Node.html" title="Tasker::Diagram::Node (class)">Tasker::Diagram::Node</a></span></tt>, <tt>nil</tt>)</span>
|
1247
|
+
|
1248
|
+
|
1249
|
+
|
1250
|
+
—
|
1251
|
+
<div class='inline'>
|
1252
|
+
<p>The node with the given ID, or nil if not found</p>
|
1253
|
+
</div>
|
1254
|
+
|
1255
|
+
</li>
|
1256
|
+
|
1257
|
+
</ul>
|
1258
|
+
|
1259
|
+
</div><table class="source_code">
|
1260
|
+
<tr>
|
1261
|
+
<td>
|
1262
|
+
<pre class="lines">
|
1263
|
+
|
1264
|
+
|
1265
|
+
60
|
1266
|
+
61
|
1267
|
+
62</pre>
|
1268
|
+
</td>
|
1269
|
+
<td>
|
1270
|
+
<pre class="code"><span class="info file"># File 'app/models/tasker/diagram/flowchart.rb', line 60</span>
|
1271
|
+
|
1272
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_find_node'>find_node</span><span class='lparen'>(</span><span class='id identifier rubyid_id'>id</span><span class='rparen'>)</span>
|
1273
|
+
<span class='ivar'>@nodes</span><span class='period'>.</span><span class='id identifier rubyid_find'>find</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_node'>node</span><span class='op'>|</span> <span class='id identifier rubyid_node'>node</span><span class='period'>.</span><span class='id identifier rubyid_id'>id</span> <span class='op'>==</span> <span class='id identifier rubyid_id'>id</span> <span class='rbrace'>}</span>
|
1274
|
+
<span class='kw'>end</span></pre>
|
1275
|
+
</td>
|
1276
|
+
</tr>
|
1277
|
+
</table>
|
1278
|
+
</div>
|
1279
|
+
|
1280
|
+
<div class="method_details ">
|
1281
|
+
<h3 class="signature " id="to_h-instance_method">
|
1282
|
+
|
1283
|
+
#<strong>to_h</strong> ⇒ <tt>Hash</tt>
|
1284
|
+
|
1285
|
+
|
1286
|
+
|
1287
|
+
|
1288
|
+
|
1289
|
+
</h3><div class="docstring">
|
1290
|
+
<div class="discussion">
|
1291
|
+
|
1292
|
+
<p>Convert the flowchart to a hash representation</p>
|
1293
|
+
|
1294
|
+
|
1295
|
+
</div>
|
1296
|
+
</div>
|
1297
|
+
<div class="tags">
|
1298
|
+
|
1299
|
+
<p class="tag_title">Returns:</p>
|
1300
|
+
<ul class="return">
|
1301
|
+
|
1302
|
+
<li>
|
1303
|
+
|
1304
|
+
|
1305
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
1306
|
+
|
1307
|
+
|
1308
|
+
|
1309
|
+
—
|
1310
|
+
<div class='inline'>
|
1311
|
+
<p>Hash representation of the flowchart</p>
|
1312
|
+
</div>
|
1313
|
+
|
1314
|
+
</li>
|
1315
|
+
|
1316
|
+
</ul>
|
1317
|
+
|
1318
|
+
</div><table class="source_code">
|
1319
|
+
<tr>
|
1320
|
+
<td>
|
1321
|
+
<pre class="lines">
|
1322
|
+
|
1323
|
+
|
1324
|
+
83
|
1325
|
+
84
|
1326
|
+
85
|
1327
|
+
86
|
1328
|
+
87
|
1329
|
+
88
|
1330
|
+
89
|
1331
|
+
90
|
1332
|
+
91</pre>
|
1333
|
+
</td>
|
1334
|
+
<td>
|
1335
|
+
<pre class="code"><span class="info file"># File 'app/models/tasker/diagram/flowchart.rb', line 83</span>
|
1336
|
+
|
1337
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_to_h'>to_h</span>
|
1338
|
+
<span class='lbrace'>{</span>
|
1339
|
+
<span class='label'>nodes:</span> <span class='id identifier rubyid_nodes'>nodes</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:to_h</span><span class='rparen'>)</span><span class='comma'>,</span>
|
1340
|
+
<span class='label'>edges:</span> <span class='id identifier rubyid_edges'>edges</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:to_h</span><span class='rparen'>)</span><span class='comma'>,</span>
|
1341
|
+
<span class='label'>direction:</span> <span class='id identifier rubyid_direction'>direction</span><span class='comma'>,</span>
|
1342
|
+
<span class='label'>title:</span> <span class='id identifier rubyid_title'>title</span><span class='comma'>,</span>
|
1343
|
+
<span class='label'>attributes:</span> <span class='id identifier rubyid_attributes'>attributes</span>
|
1344
|
+
<span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_compact'>compact</span>
|
1345
|
+
<span class='kw'>end</span></pre>
|
1346
|
+
</td>
|
1347
|
+
</tr>
|
1348
|
+
</table>
|
1349
|
+
</div>
|
1350
|
+
|
1351
|
+
<div class="method_details ">
|
1352
|
+
<h3 class="signature " id="to_json-instance_method">
|
1353
|
+
|
1354
|
+
#<strong>to_json</strong> ⇒ <tt>String</tt>
|
1355
|
+
|
1356
|
+
|
1357
|
+
|
1358
|
+
|
1359
|
+
|
1360
|
+
</h3><div class="docstring">
|
1361
|
+
<div class="discussion">
|
1362
|
+
|
1363
|
+
<p>Convert the flowchart to a JSON string</p>
|
1364
|
+
|
1365
|
+
|
1366
|
+
</div>
|
1367
|
+
</div>
|
1368
|
+
<div class="tags">
|
1369
|
+
|
1370
|
+
<p class="tag_title">Returns:</p>
|
1371
|
+
<ul class="return">
|
1372
|
+
|
1373
|
+
<li>
|
1374
|
+
|
1375
|
+
|
1376
|
+
<span class='type'>(<tt>String</tt>)</span>
|
1377
|
+
|
1378
|
+
|
1379
|
+
|
1380
|
+
—
|
1381
|
+
<div class='inline'>
|
1382
|
+
<p>JSON representation of the flowchart</p>
|
1383
|
+
</div>
|
1384
|
+
|
1385
|
+
</li>
|
1386
|
+
|
1387
|
+
</ul>
|
1388
|
+
|
1389
|
+
</div><table class="source_code">
|
1390
|
+
<tr>
|
1391
|
+
<td>
|
1392
|
+
<pre class="lines">
|
1393
|
+
|
1394
|
+
|
1395
|
+
96
|
1396
|
+
97
|
1397
|
+
98</pre>
|
1398
|
+
</td>
|
1399
|
+
<td>
|
1400
|
+
<pre class="code"><span class="info file"># File 'app/models/tasker/diagram/flowchart.rb', line 96</span>
|
1401
|
+
|
1402
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_to_json'>to_json</span><span class='lparen'>(</span><span class='op'>*</span><span class='rparen'>)</span>
|
1403
|
+
<span class='id identifier rubyid_to_h'>to_h</span><span class='period'>.</span><span class='id identifier rubyid_to_json'>to_json</span><span class='lparen'>(</span><span class='op'>*</span><span class='rparen'>)</span>
|
1404
|
+
<span class='kw'>end</span></pre>
|
1405
|
+
</td>
|
1406
|
+
</tr>
|
1407
|
+
</table>
|
1408
|
+
</div>
|
1409
|
+
|
1410
|
+
<div class="method_details ">
|
1411
|
+
<h3 class="signature " id="to_mermaid-instance_method">
|
1412
|
+
|
1413
|
+
#<strong>to_mermaid</strong> ⇒ <tt>String</tt>
|
1414
|
+
|
1415
|
+
|
1416
|
+
|
1417
|
+
|
1418
|
+
|
1419
|
+
</h3><div class="docstring">
|
1420
|
+
<div class="discussion">
|
1421
|
+
|
1422
|
+
<p>Generate Mermaid diagram syntax for this flowchart</p>
|
1423
|
+
|
1424
|
+
|
1425
|
+
</div>
|
1426
|
+
</div>
|
1427
|
+
<div class="tags">
|
1428
|
+
|
1429
|
+
<p class="tag_title">Returns:</p>
|
1430
|
+
<ul class="return">
|
1431
|
+
|
1432
|
+
<li>
|
1433
|
+
|
1434
|
+
|
1435
|
+
<span class='type'>(<tt>String</tt>)</span>
|
1436
|
+
|
1437
|
+
|
1438
|
+
|
1439
|
+
—
|
1440
|
+
<div class='inline'>
|
1441
|
+
<p>Mermaid syntax for the flowchart</p>
|
1442
|
+
</div>
|
1443
|
+
|
1444
|
+
</li>
|
1445
|
+
|
1446
|
+
</ul>
|
1447
|
+
|
1448
|
+
</div><table class="source_code">
|
1449
|
+
<tr>
|
1450
|
+
<td>
|
1451
|
+
<pre class="lines">
|
1452
|
+
|
1453
|
+
|
1454
|
+
103
|
1455
|
+
104
|
1456
|
+
105
|
1457
|
+
106
|
1458
|
+
107
|
1459
|
+
108
|
1460
|
+
109
|
1461
|
+
110
|
1462
|
+
111
|
1463
|
+
112
|
1464
|
+
113
|
1465
|
+
114
|
1466
|
+
115
|
1467
|
+
116
|
1468
|
+
117
|
1469
|
+
118
|
1470
|
+
119
|
1471
|
+
120
|
1472
|
+
121
|
1473
|
+
122
|
1474
|
+
123
|
1475
|
+
124
|
1476
|
+
125
|
1477
|
+
126
|
1478
|
+
127
|
1479
|
+
128
|
1480
|
+
129
|
1481
|
+
130
|
1482
|
+
131
|
1483
|
+
132
|
1484
|
+
133
|
1485
|
+
134</pre>
|
1486
|
+
</td>
|
1487
|
+
<td>
|
1488
|
+
<pre class="code"><span class="info file"># File 'app/models/tasker/diagram/flowchart.rb', line 103</span>
|
1489
|
+
|
1490
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_to_mermaid'>to_mermaid</span>
|
1491
|
+
<span class='id identifier rubyid_lines'>lines</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
|
1492
|
+
|
1493
|
+
<span class='comment'># Add the flowchart definition
|
1494
|
+
</span> <span class='id identifier rubyid_lines'>lines</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>graph </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_direction'>direction</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
1495
|
+
|
1496
|
+
<span class='comment'># Use a subgraph with title if title is present
|
1497
|
+
</span> <span class='kw'>if</span> <span class='id identifier rubyid_title'>title</span>
|
1498
|
+
<span class='id identifier rubyid_lines'>lines</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>subgraph \"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_title'>title</span><span class='embexpr_end'>}</span><span class='tstring_content'>\"</span><span class='tstring_end'>"</span></span>
|
1499
|
+
<span class='id identifier rubyid_indent'>indent</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'> </span><span class='tstring_end'>'</span></span>
|
1500
|
+
<span class='kw'>else</span>
|
1501
|
+
<span class='id identifier rubyid_indent'>indent</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span>
|
1502
|
+
<span class='kw'>end</span>
|
1503
|
+
|
1504
|
+
<span class='comment'># Add all nodes
|
1505
|
+
</span> <span class='id identifier rubyid_nodes'>nodes</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_node'>node</span><span class='op'>|</span>
|
1506
|
+
<span class='id identifier rubyid_node'>node</span><span class='period'>.</span><span class='id identifier rubyid_to_mermaid'>to_mermaid</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_line'>line</span><span class='op'>|</span>
|
1507
|
+
<span class='id identifier rubyid_lines'>lines</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_indent'>indent</span><span class='embexpr_end'>}</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_line'>line</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
1508
|
+
<span class='kw'>end</span>
|
1509
|
+
<span class='kw'>end</span>
|
1510
|
+
|
1511
|
+
<span class='comment'># Add all edges
|
1512
|
+
</span> <span class='id identifier rubyid_edges'>edges</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_edge'>edge</span><span class='op'>|</span>
|
1513
|
+
<span class='id identifier rubyid_lines'>lines</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_indent'>indent</span><span class='embexpr_end'>}</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_edge'>edge</span><span class='period'>.</span><span class='id identifier rubyid_to_mermaid'>to_mermaid</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
1514
|
+
<span class='kw'>end</span>
|
1515
|
+
|
1516
|
+
<span class='comment'># Close the subgraph if we have a title
|
1517
|
+
</span> <span class='id identifier rubyid_lines'>lines</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>end</span><span class='tstring_end'>'</span></span> <span class='kw'>if</span> <span class='id identifier rubyid_title'>title</span>
|
1518
|
+
|
1519
|
+
<span class='comment'># Join all lines with newlines
|
1520
|
+
</span> <span class='id identifier rubyid_lines'>lines</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\n</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1521
|
+
<span class='kw'>end</span></pre>
|
1522
|
+
</td>
|
1523
|
+
</tr>
|
1524
|
+
</table>
|
1525
|
+
</div>
|
1526
|
+
|
1527
|
+
</div>
|
1528
|
+
|
1529
|
+
</div>
|
1530
|
+
|
1531
|
+
<div id="footer">
|
1532
|
+
Generated on Tue Jul 1 16:47:38 2025 by
|
1533
|
+
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
1534
|
+
0.9.37 (ruby-3.2.4).
|
1535
|
+
</div>
|
1536
|
+
|
1537
|
+
</div>
|
1538
|
+
</body>
|
1539
|
+
</html>
|