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.
Files changed (605) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +22 -0
  3. data/README.md +443 -0
  4. data/Rakefile +10 -0
  5. data/app/controllers/tasker/analytics_controller.rb +179 -0
  6. data/app/controllers/tasker/application_controller.rb +45 -0
  7. data/app/controllers/tasker/graphql_controller.rb +193 -0
  8. data/app/controllers/tasker/handlers_controller.rb +217 -0
  9. data/app/controllers/tasker/health_controller.rb +229 -0
  10. data/app/controllers/tasker/metrics_controller.rb +111 -0
  11. data/app/controllers/tasker/page_sort.rb +97 -0
  12. data/app/controllers/tasker/task_diagrams_controller.rb +30 -0
  13. data/app/controllers/tasker/tasks_controller.rb +123 -0
  14. data/app/controllers/tasker/workflow_steps_controller.rb +69 -0
  15. data/app/graphql/examples/all_tasks.graphql +22 -0
  16. data/app/graphql/examples/pending_tasks.graphql +23 -0
  17. data/app/graphql/tasker/graph_ql_types/annotation_type.rb +14 -0
  18. data/app/graphql/tasker/graph_ql_types/base_argument.rb +9 -0
  19. data/app/graphql/tasker/graph_ql_types/base_connection.rb +11 -0
  20. data/app/graphql/tasker/graph_ql_types/base_edge.rb +10 -0
  21. data/app/graphql/tasker/graph_ql_types/base_enum.rb +9 -0
  22. data/app/graphql/tasker/graph_ql_types/base_field.rb +10 -0
  23. data/app/graphql/tasker/graph_ql_types/base_input_object.rb +10 -0
  24. data/app/graphql/tasker/graph_ql_types/base_interface.rb +14 -0
  25. data/app/graphql/tasker/graph_ql_types/base_object.rb +10 -0
  26. data/app/graphql/tasker/graph_ql_types/base_scalar.rb +9 -0
  27. data/app/graphql/tasker/graph_ql_types/base_union.rb +11 -0
  28. data/app/graphql/tasker/graph_ql_types/dependent_system_object_map_type.rb +18 -0
  29. data/app/graphql/tasker/graph_ql_types/dependent_system_type.rb +13 -0
  30. data/app/graphql/tasker/graph_ql_types/mutation_type.rb +16 -0
  31. data/app/graphql/tasker/graph_ql_types/named_step_type.rb +16 -0
  32. data/app/graphql/tasker/graph_ql_types/named_task_type.rb +14 -0
  33. data/app/graphql/tasker/graph_ql_types/named_tasks_named_step_type.rb +19 -0
  34. data/app/graphql/tasker/graph_ql_types/node_type.rb +12 -0
  35. data/app/graphql/tasker/graph_ql_types/query_type.rb +20 -0
  36. data/app/graphql/tasker/graph_ql_types/task_annotation_type.rb +17 -0
  37. data/app/graphql/tasker/graph_ql_types/task_interface.rb +17 -0
  38. data/app/graphql/tasker/graph_ql_types/task_type.rb +26 -0
  39. data/app/graphql/tasker/graph_ql_types/workflow_step_type.rb +154 -0
  40. data/app/graphql/tasker/graph_ql_types.rb +42 -0
  41. data/app/graphql/tasker/mutations/base_mutation.rb +13 -0
  42. data/app/graphql/tasker/mutations/cancel_step.rb +29 -0
  43. data/app/graphql/tasker/mutations/cancel_task.rb +29 -0
  44. data/app/graphql/tasker/mutations/create_task.rb +52 -0
  45. data/app/graphql/tasker/mutations/update_step.rb +36 -0
  46. data/app/graphql/tasker/mutations/update_task.rb +41 -0
  47. data/app/graphql/tasker/queries/all_annotation_types.rb +17 -0
  48. data/app/graphql/tasker/queries/all_tasks.rb +23 -0
  49. data/app/graphql/tasker/queries/base_query.rb +9 -0
  50. data/app/graphql/tasker/queries/helpers.rb +16 -0
  51. data/app/graphql/tasker/queries/one_step.rb +24 -0
  52. data/app/graphql/tasker/queries/one_task.rb +18 -0
  53. data/app/graphql/tasker/queries/tasks_by_annotation.rb +31 -0
  54. data/app/graphql/tasker/queries/tasks_by_status.rb +30 -0
  55. data/app/graphql/tasker/tasker_rails_schema.rb +52 -0
  56. data/app/jobs/tasker/application_job.rb +8 -0
  57. data/app/jobs/tasker/metrics_export_job.rb +252 -0
  58. data/app/jobs/tasker/task_runner_job.rb +224 -0
  59. data/app/models/tasker/annotation_type.rb +26 -0
  60. data/app/models/tasker/application_record.rb +70 -0
  61. data/app/models/tasker/dependent_system.rb +26 -0
  62. data/app/models/tasker/dependent_system_object_map.rb +64 -0
  63. data/app/models/tasker/diagram/edge.rb +106 -0
  64. data/app/models/tasker/diagram/flowchart.rb +137 -0
  65. data/app/models/tasker/diagram/node.rb +99 -0
  66. data/app/models/tasker/named_step.rb +41 -0
  67. data/app/models/tasker/named_task.rb +121 -0
  68. data/app/models/tasker/named_tasks_named_step.rb +82 -0
  69. data/app/models/tasker/step_dag_relationship.rb +65 -0
  70. data/app/models/tasker/step_readiness_status.rb +59 -0
  71. data/app/models/tasker/task.rb +424 -0
  72. data/app/models/tasker/task_annotation.rb +36 -0
  73. data/app/models/tasker/task_diagram.rb +332 -0
  74. data/app/models/tasker/task_execution_context.rb +29 -0
  75. data/app/models/tasker/task_namespace.rb +41 -0
  76. data/app/models/tasker/task_transition.rb +235 -0
  77. data/app/models/tasker/workflow_step.rb +461 -0
  78. data/app/models/tasker/workflow_step_edge.rb +94 -0
  79. data/app/models/tasker/workflow_step_transition.rb +434 -0
  80. data/app/serializers/tasker/annotation_type_serializer.rb +8 -0
  81. data/app/serializers/tasker/handler_serializer.rb +109 -0
  82. data/app/serializers/tasker/task_annotation_serializer.rb +32 -0
  83. data/app/serializers/tasker/task_serializer.rb +168 -0
  84. data/app/serializers/tasker/workflow_step_serializer.rb +27 -0
  85. data/app/services/tasker/analytics_service.rb +409 -0
  86. data/app/views/tasker/task/_diagram.html.erb +32 -0
  87. data/config/initializers/dry_struct.rb +11 -0
  88. data/config/initializers/statesman.rb +6 -0
  89. data/config/initializers/tasker_orchestration.rb +17 -0
  90. data/config/initializers/time_formats.rb +4 -0
  91. data/config/routes.rb +34 -0
  92. data/config/tasker/subscriptions/example_integrations.yml +67 -0
  93. data/config/tasker/system_events.yml +305 -0
  94. data/db/functions/calculate_dependency_levels_v01.sql +45 -0
  95. data/db/functions/get_analytics_metrics_v01.sql +137 -0
  96. data/db/functions/get_slowest_steps_v01.sql +82 -0
  97. data/db/functions/get_slowest_tasks_v01.sql +96 -0
  98. data/db/functions/get_step_readiness_status_batch_v01.sql +140 -0
  99. data/db/functions/get_step_readiness_status_v01.sql +139 -0
  100. data/db/functions/get_system_health_counts_v01.sql +108 -0
  101. data/db/functions/get_task_execution_context_v01.sql +108 -0
  102. data/db/functions/get_task_execution_contexts_batch_v01.sql +104 -0
  103. data/db/init/schema.sql +2277 -0
  104. data/db/migrate/20250701165431_initial_tasker_schema.rb +116 -0
  105. data/db/views/tasker_step_dag_relationships_v01.sql +69 -0
  106. data/docs/APPLICATION_GENERATOR.md +384 -0
  107. data/docs/AUTH.md +1780 -0
  108. data/docs/CIRCUIT_BREAKER.md +224 -0
  109. data/docs/DEVELOPER_GUIDE.md +2665 -0
  110. data/docs/EVENT_SYSTEM.md +637 -0
  111. data/docs/EXECUTION_CONFIGURATION.md +341 -0
  112. data/docs/FLOW_CHART.md +149 -0
  113. data/docs/HEALTH.md +542 -0
  114. data/docs/METRICS.md +731 -0
  115. data/docs/OPTIMIZATION_PLAN.md +1479 -0
  116. data/docs/OVERVIEW.md +552 -0
  117. data/docs/QUICK_START.md +270 -0
  118. data/docs/REGISTRY_SYSTEMS.md +373 -0
  119. data/docs/REST_API.md +632 -0
  120. data/docs/ROADMAP.md +221 -0
  121. data/docs/SQL_FUNCTIONS.md +1408 -0
  122. data/docs/TASK_DIAGRAM.md +252 -0
  123. data/docs/TASK_EXECUTION_CONTROL_FLOW.md +237 -0
  124. data/docs/TELEMETRY.md +795 -0
  125. data/docs/TROUBLESHOOTING.md +756 -0
  126. data/docs/TaskHandlerGenerator.html +255 -0
  127. data/docs/Tasker/Analysis/RuntimeGraphAnalyzer.html +907 -0
  128. data/docs/Tasker/Analysis/TemplateGraphAnalyzer.html +1236 -0
  129. data/docs/Tasker/Analysis.html +117 -0
  130. data/docs/Tasker/AnalyticsController.html +450 -0
  131. data/docs/Tasker/AnalyticsService/BottleneckAnalytics.html +816 -0
  132. data/docs/Tasker/AnalyticsService/PerformanceAnalytics.html +586 -0
  133. data/docs/Tasker/AnalyticsService.html +2221 -0
  134. data/docs/Tasker/AnnotationType.html +137 -0
  135. data/docs/Tasker/AnnotationTypeSerializer.html +124 -0
  136. data/docs/Tasker/ApplicationController.html +147 -0
  137. data/docs/Tasker/ApplicationJob.html +128 -0
  138. data/docs/Tasker/ApplicationRecord.html +378 -0
  139. data/docs/Tasker/Authentication/AuthenticationError.html +124 -0
  140. data/docs/Tasker/Authentication/ConfigurationError.html +124 -0
  141. data/docs/Tasker/Authentication/Coordinator.html +242 -0
  142. data/docs/Tasker/Authentication/Interface.html +560 -0
  143. data/docs/Tasker/Authentication/InterfaceError.html +124 -0
  144. data/docs/Tasker/Authentication/NoneAuthenticator.html +338 -0
  145. data/docs/Tasker/Authentication.html +119 -0
  146. data/docs/Tasker/Authorization/AuthorizationError.html +139 -0
  147. data/docs/Tasker/Authorization/BaseCoordinator.html +927 -0
  148. data/docs/Tasker/Authorization/ConfigurationError.html +153 -0
  149. data/docs/Tasker/Authorization/ResourceConstants/ACTIONS.html +428 -0
  150. data/docs/Tasker/Authorization/ResourceConstants/RESOURCES.html +365 -0
  151. data/docs/Tasker/Authorization/ResourceConstants.html +146 -0
  152. data/docs/Tasker/Authorization/ResourceRegistry.html +882 -0
  153. data/docs/Tasker/Authorization/UnauthorizedError.html +153 -0
  154. data/docs/Tasker/Authorization.html +582 -0
  155. data/docs/Tasker/CacheCapabilities.html +167 -0
  156. data/docs/Tasker/CacheStrategy.html +1297 -0
  157. data/docs/Tasker/Concerns/Authenticatable.html +116 -0
  158. data/docs/Tasker/Concerns/Authorizable/AdminStatusChecker.html +256 -0
  159. data/docs/Tasker/Concerns/Authorizable.html +816 -0
  160. data/docs/Tasker/Concerns/ControllerAuthorizable.html +157 -0
  161. data/docs/Tasker/Concerns/EventPublisher.html +4023 -0
  162. data/docs/Tasker/Concerns/IdempotentStateTransitions.html +806 -0
  163. data/docs/Tasker/Concerns/LifecycleEventHelpers.html +129 -0
  164. data/docs/Tasker/Concerns/OrchestrationPublisher.html +129 -0
  165. data/docs/Tasker/Concerns/StateMachineBase/ClassMethods.html +1075 -0
  166. data/docs/Tasker/Concerns/StateMachineBase/StateMachineBase/ClassMethods.html +191 -0
  167. data/docs/Tasker/Concerns/StateMachineBase/StateMachineBase.html +126 -0
  168. data/docs/Tasker/Concerns/StateMachineBase.html +153 -0
  169. data/docs/Tasker/Concerns/StructuredLogging.html +1413 -0
  170. data/docs/Tasker/Concerns.html +117 -0
  171. data/docs/Tasker/Configuration/AuthConfiguration.html +1023 -0
  172. data/docs/Tasker/Configuration/ConfigurationProxy.html +581 -0
  173. data/docs/Tasker/Configuration/DatabaseConfiguration.html +475 -0
  174. data/docs/Tasker/Configuration/EngineConfiguration.html +1265 -0
  175. data/docs/Tasker/Configuration/HealthConfiguration.html +791 -0
  176. data/docs/Tasker/Configuration/TelemetryConfiguration.html +1308 -0
  177. data/docs/Tasker/Configuration/TelemetryConfigurationProxy.html +388 -0
  178. data/docs/Tasker/Configuration.html +1669 -0
  179. data/docs/Tasker/ConfigurationError.html +143 -0
  180. data/docs/Tasker/ConfiguredTask.html +514 -0
  181. data/docs/Tasker/Constants/EventDefinitions.html +590 -0
  182. data/docs/Tasker/Constants/LifecycleEvents.html +137 -0
  183. data/docs/Tasker/Constants/ObservabilityEvents/Step.html +152 -0
  184. data/docs/Tasker/Constants/ObservabilityEvents/Task.html +142 -0
  185. data/docs/Tasker/Constants/ObservabilityEvents.html +126 -0
  186. data/docs/Tasker/Constants/RegistryEvents.html +285 -0
  187. data/docs/Tasker/Constants/StepEvents.html +177 -0
  188. data/docs/Tasker/Constants/TaskEvents.html +167 -0
  189. data/docs/Tasker/Constants/TaskExecution/ExecutionStatus.html +207 -0
  190. data/docs/Tasker/Constants/TaskExecution/HealthStatus.html +191 -0
  191. data/docs/Tasker/Constants/TaskExecution/RecommendedAction.html +207 -0
  192. data/docs/Tasker/Constants/TaskExecution.html +126 -0
  193. data/docs/Tasker/Constants/TaskFinalization/ErrorMessages.html +132 -0
  194. data/docs/Tasker/Constants/TaskFinalization/PendingReasons.html +207 -0
  195. data/docs/Tasker/Constants/TaskFinalization/ReenqueueReasons.html +239 -0
  196. data/docs/Tasker/Constants/TaskFinalization.html +126 -0
  197. data/docs/Tasker/Constants/TaskStatuses.html +223 -0
  198. data/docs/Tasker/Constants/TestEvents.html +163 -0
  199. data/docs/Tasker/Constants/WorkflowEvents.html +222 -0
  200. data/docs/Tasker/Constants/WorkflowStepStatuses.html +223 -0
  201. data/docs/Tasker/Constants.html +561 -0
  202. data/docs/Tasker/DependentSystem.html +137 -0
  203. data/docs/Tasker/DependentSystemObjectMap.html +250 -0
  204. data/docs/Tasker/DetectorRegistry.html +598 -0
  205. data/docs/Tasker/Diagram/Edge.html +1191 -0
  206. data/docs/Tasker/Diagram/Flowchart.html +1539 -0
  207. data/docs/Tasker/Diagram/Node.html +1165 -0
  208. data/docs/Tasker/Diagram.html +117 -0
  209. data/docs/Tasker/Engine.html +215 -0
  210. data/docs/Tasker/Error.html +139 -0
  211. data/docs/Tasker/Events/Bus.html +1226 -0
  212. data/docs/Tasker/Events/Catalog/CatalogPrinter.html +258 -0
  213. data/docs/Tasker/Events/Catalog/CustomEventRegistrar.html +276 -0
  214. data/docs/Tasker/Events/Catalog/ExamplePayloadGenerator.html +294 -0
  215. data/docs/Tasker/Events/Catalog.html +1291 -0
  216. data/docs/Tasker/Events/CustomRegistry.html +943 -0
  217. data/docs/Tasker/Events/DefinitionLoader.html +575 -0
  218. data/docs/Tasker/Events/EventPayloadBuilder/ErrorInfoExtractor.html +286 -0
  219. data/docs/Tasker/Events/EventPayloadBuilder/StepPayloadBuilder.html +312 -0
  220. data/docs/Tasker/Events/EventPayloadBuilder.html +664 -0
  221. data/docs/Tasker/Events/Publisher.html +365 -0
  222. data/docs/Tasker/Events/Subscribers/BaseSubscriber/ErrorCategorizer/ErrorTypeClassifier.html +1128 -0
  223. data/docs/Tasker/Events/Subscribers/BaseSubscriber/ErrorCategorizer.html +270 -0
  224. data/docs/Tasker/Events/Subscribers/BaseSubscriber/MetricTagsExtractor.html +266 -0
  225. data/docs/Tasker/Events/Subscribers/BaseSubscriber.html +2556 -0
  226. data/docs/Tasker/Events/Subscribers/MetricsSubscriber.html +723 -0
  227. data/docs/Tasker/Events/Subscribers/TelemetrySubscriber.html +2251 -0
  228. data/docs/Tasker/Events/Subscribers.html +117 -0
  229. data/docs/Tasker/Events/SubscriptionLoader.html +493 -0
  230. data/docs/Tasker/Events.html +294 -0
  231. data/docs/Tasker/EventsGenerator.html +459 -0
  232. data/docs/Tasker/Functions/FunctionBasedAnalyticsMetrics/AnalyticsMetrics.html +135 -0
  233. data/docs/Tasker/Functions/FunctionBasedAnalyticsMetrics.html +412 -0
  234. data/docs/Tasker/Functions/FunctionBasedDependencyLevels.html +598 -0
  235. data/docs/Tasker/Functions/FunctionBasedSlowestSteps/SlowestStep.html +135 -0
  236. data/docs/Tasker/Functions/FunctionBasedSlowestSteps.html +453 -0
  237. data/docs/Tasker/Functions/FunctionBasedSlowestTasks/SlowestTask.html +135 -0
  238. data/docs/Tasker/Functions/FunctionBasedSlowestTasks.html +453 -0
  239. data/docs/Tasker/Functions/FunctionBasedStepReadinessStatus.html +1457 -0
  240. data/docs/Tasker/Functions/FunctionBasedSystemHealthCounts/HealthMetrics.html +135 -0
  241. data/docs/Tasker/Functions/FunctionBasedSystemHealthCounts.html +370 -0
  242. data/docs/Tasker/Functions/FunctionBasedTaskExecutionContext.html +1250 -0
  243. data/docs/Tasker/Functions/FunctionWrapper.html +479 -0
  244. data/docs/Tasker/Functions.html +117 -0
  245. data/docs/Tasker/Generators/AuthenticatorGenerator/UsageInstructionsFormatter.html +244 -0
  246. data/docs/Tasker/Generators/AuthenticatorGenerator.html +373 -0
  247. data/docs/Tasker/Generators/AuthorizationCoordinatorGenerator.html +430 -0
  248. data/docs/Tasker/Generators/SubscriberGenerator.html +377 -0
  249. data/docs/Tasker/Generators/TaskHandlerGenerator.html +263 -0
  250. data/docs/Tasker/Generators.html +117 -0
  251. data/docs/Tasker/GraphQLTypes/AnnotationType.html +132 -0
  252. data/docs/Tasker/GraphQLTypes/BaseArgument.html +124 -0
  253. data/docs/Tasker/GraphQLTypes/BaseConnection.html +124 -0
  254. data/docs/Tasker/GraphQLTypes/BaseEdge.html +130 -0
  255. data/docs/Tasker/GraphQLTypes/BaseEnum.html +124 -0
  256. data/docs/Tasker/GraphQLTypes/BaseField.html +124 -0
  257. data/docs/Tasker/GraphQLTypes/BaseInputObject.html +124 -0
  258. data/docs/Tasker/GraphQLTypes/BaseInterface.html +116 -0
  259. data/docs/Tasker/GraphQLTypes/BaseObject.html +128 -0
  260. data/docs/Tasker/GraphQLTypes/BaseScalar.html +124 -0
  261. data/docs/Tasker/GraphQLTypes/BaseUnion.html +124 -0
  262. data/docs/Tasker/GraphQLTypes/DependentSystemObjectMapType.html +132 -0
  263. data/docs/Tasker/GraphQLTypes/DependentSystemType.html +132 -0
  264. data/docs/Tasker/GraphQLTypes/MutationType.html +132 -0
  265. data/docs/Tasker/GraphQLTypes/NamedStepType.html +132 -0
  266. data/docs/Tasker/GraphQLTypes/NamedTaskType.html +132 -0
  267. data/docs/Tasker/GraphQLTypes/NamedTasksNamedStepType.html +132 -0
  268. data/docs/Tasker/GraphQLTypes/NodeType.html +118 -0
  269. data/docs/Tasker/GraphQLTypes/QueryType.html +139 -0
  270. data/docs/Tasker/GraphQLTypes/TaskAnnotationType.html +132 -0
  271. data/docs/Tasker/GraphQLTypes/TaskInterface.html +111 -0
  272. data/docs/Tasker/GraphQLTypes/TaskType.html +201 -0
  273. data/docs/Tasker/GraphQLTypes/WorkflowStepType.html +694 -0
  274. data/docs/Tasker/GraphQLTypes.html +130 -0
  275. data/docs/Tasker/GraphqlController.html +251 -0
  276. data/docs/Tasker/HandlerFactory.html +1518 -0
  277. data/docs/Tasker/HandlerSerializer.html +682 -0
  278. data/docs/Tasker/HandlersController.html +574 -0
  279. data/docs/Tasker/HashIdentityStrategy.html +278 -0
  280. data/docs/Tasker/Health/ReadinessChecker.html +712 -0
  281. data/docs/Tasker/Health/StatusChecker.html +653 -0
  282. data/docs/Tasker/Health.html +117 -0
  283. data/docs/Tasker/HealthController.html +523 -0
  284. data/docs/Tasker/IdentityStrategy.html +276 -0
  285. data/docs/Tasker/InvalidTaskHandlerConfig.html +135 -0
  286. data/docs/Tasker/LifecycleEvents/Events/Step.html +162 -0
  287. data/docs/Tasker/LifecycleEvents/Events/Task.html +162 -0
  288. data/docs/Tasker/LifecycleEvents/Events.html +204 -0
  289. data/docs/Tasker/LifecycleEvents/Publisher.html +132 -0
  290. data/docs/Tasker/LifecycleEvents.html +799 -0
  291. data/docs/Tasker/Logging/CorrelationIdGenerator.html +688 -0
  292. data/docs/Tasker/Logging.html +115 -0
  293. data/docs/Tasker/MetricsController.html +293 -0
  294. data/docs/Tasker/MetricsExportJob.html +414 -0
  295. data/docs/Tasker/Mutations/BaseMutation.html +128 -0
  296. data/docs/Tasker/Mutations/CancelStep.html +219 -0
  297. data/docs/Tasker/Mutations/CancelTask.html +221 -0
  298. data/docs/Tasker/Mutations/CreateTask.html +243 -0
  299. data/docs/Tasker/Mutations/UpdateStep.html +243 -0
  300. data/docs/Tasker/Mutations/UpdateTask.html +243 -0
  301. data/docs/Tasker/Mutations.html +117 -0
  302. data/docs/Tasker/NamedStep.html +216 -0
  303. data/docs/Tasker/NamedTask.html +910 -0
  304. data/docs/Tasker/NamedTasksNamedStep.html +435 -0
  305. data/docs/Tasker/Orchestration/BackoffCalculator.html +404 -0
  306. data/docs/Tasker/Orchestration/ConnectionBuilder/ConfigValidator.html +258 -0
  307. data/docs/Tasker/Orchestration/ConnectionBuilder.html +435 -0
  308. data/docs/Tasker/Orchestration/ConnectionPoolIntelligence.html +513 -0
  309. data/docs/Tasker/Orchestration/Coordinator.html +641 -0
  310. data/docs/Tasker/Orchestration/FutureStateAnalyzer.html +1045 -0
  311. data/docs/Tasker/Orchestration/Orchestrator.html +679 -0
  312. data/docs/Tasker/Orchestration/PluginIntegration.html +1127 -0
  313. data/docs/Tasker/Orchestration/ResponseProcessor.html +504 -0
  314. data/docs/Tasker/Orchestration/RetryHeaderParser.html +304 -0
  315. data/docs/Tasker/Orchestration/StepExecutor.html +995 -0
  316. data/docs/Tasker/Orchestration/StepSequenceFactory.html +644 -0
  317. data/docs/Tasker/Orchestration/TaskFinalizer/BlockageChecker.html +264 -0
  318. data/docs/Tasker/Orchestration/TaskFinalizer/ContextManager.html +254 -0
  319. data/docs/Tasker/Orchestration/TaskFinalizer/DelayCalculator.html +556 -0
  320. data/docs/Tasker/Orchestration/TaskFinalizer/FinalizationDecisionMaker.html +348 -0
  321. data/docs/Tasker/Orchestration/TaskFinalizer/FinalizationProcessor.html +286 -0
  322. data/docs/Tasker/Orchestration/TaskFinalizer/ReasonDeterminer.html +432 -0
  323. data/docs/Tasker/Orchestration/TaskFinalizer/ReenqueueManager.html +296 -0
  324. data/docs/Tasker/Orchestration/TaskFinalizer/UnclearStateHandler.html +314 -0
  325. data/docs/Tasker/Orchestration/TaskFinalizer.html +1212 -0
  326. data/docs/Tasker/Orchestration/TaskInitializer.html +766 -0
  327. data/docs/Tasker/Orchestration/TaskReenqueuer.html +506 -0
  328. data/docs/Tasker/Orchestration/ViableStepDiscovery.html +442 -0
  329. data/docs/Tasker/Orchestration/WorkflowCoordinator.html +510 -0
  330. data/docs/Tasker/Orchestration.html +130 -0
  331. data/docs/Tasker/PageSort/PageSortParamsBuilder.html +296 -0
  332. data/docs/Tasker/PageSort.html +247 -0
  333. data/docs/Tasker/PermanentError.html +518 -0
  334. data/docs/Tasker/ProceduralError.html +147 -0
  335. data/docs/Tasker/Queries/AllAnnotationTypes.html +217 -0
  336. data/docs/Tasker/Queries/AllTasks.html +221 -0
  337. data/docs/Tasker/Queries/BaseQuery.html +128 -0
  338. data/docs/Tasker/Queries/Helpers.html +187 -0
  339. data/docs/Tasker/Queries/OneStep.html +225 -0
  340. data/docs/Tasker/Queries/OneTask.html +217 -0
  341. data/docs/Tasker/Queries/TasksByAnnotation.html +231 -0
  342. data/docs/Tasker/Queries/TasksByStatus.html +233 -0
  343. data/docs/Tasker/Queries.html +119 -0
  344. data/docs/Tasker/Railtie.html +124 -0
  345. data/docs/Tasker/Registry/BaseRegistry.html +1690 -0
  346. data/docs/Tasker/Registry/EventPublisher.html +667 -0
  347. data/docs/Tasker/Registry/InterfaceValidator.html +569 -0
  348. data/docs/Tasker/Registry/RegistrationError.html +132 -0
  349. data/docs/Tasker/Registry/RegistryError.html +139 -0
  350. data/docs/Tasker/Registry/StatisticsCollector.html +841 -0
  351. data/docs/Tasker/Registry/SubscriberRegistry.html +1504 -0
  352. data/docs/Tasker/Registry/ValidationError.html +132 -0
  353. data/docs/Tasker/Registry.html +119 -0
  354. data/docs/Tasker/RetryableError.html +515 -0
  355. data/docs/Tasker/StateMachine/Compatibility.html +282 -0
  356. data/docs/Tasker/StateMachine/InvalidStateTransition.html +135 -0
  357. data/docs/Tasker/StateMachine/StepStateMachine/StandardizedPayloadBuilder.html +260 -0
  358. data/docs/Tasker/StateMachine/StepStateMachine.html +2215 -0
  359. data/docs/Tasker/StateMachine/TaskStateMachine.html +734 -0
  360. data/docs/Tasker/StateMachine.html +602 -0
  361. data/docs/Tasker/StepDagRelationship.html +657 -0
  362. data/docs/Tasker/StepHandler/Api/Config.html +1091 -0
  363. data/docs/Tasker/StepHandler/Api.html +884 -0
  364. data/docs/Tasker/StepHandler/AutomaticEventPublishing.html +321 -0
  365. data/docs/Tasker/StepHandler/Base.html +970 -0
  366. data/docs/Tasker/StepHandler.html +119 -0
  367. data/docs/Tasker/StepReadinessStatus.html +836 -0
  368. data/docs/Tasker/Task.html +2575 -0
  369. data/docs/Tasker/TaskAnnotation.html +137 -0
  370. data/docs/Tasker/TaskAnnotationSerializer.html +124 -0
  371. data/docs/Tasker/TaskBuilder/StepNameValidator.html +264 -0
  372. data/docs/Tasker/TaskBuilder/StepTemplateDefiner.html +264 -0
  373. data/docs/Tasker/TaskBuilder.html +764 -0
  374. data/docs/Tasker/TaskDiagram/StepToStepEdgeBuilder.html +260 -0
  375. data/docs/Tasker/TaskDiagram/TaskToRootStepEdgeBuilder.html +290 -0
  376. data/docs/Tasker/TaskDiagram.html +548 -0
  377. data/docs/Tasker/TaskDiagramsController.html +240 -0
  378. data/docs/Tasker/TaskExecutionContext.html +469 -0
  379. data/docs/Tasker/TaskHandler/ClassMethods/StepTemplateDefiner/ClassBasedEventRegistrar.html +238 -0
  380. data/docs/Tasker/TaskHandler/ClassMethods/StepTemplateDefiner/YamlEventRegistrar.html +254 -0
  381. data/docs/Tasker/TaskHandler/ClassMethods/StepTemplateDefiner.html +988 -0
  382. data/docs/Tasker/TaskHandler/ClassMethods.html +357 -0
  383. data/docs/Tasker/TaskHandler/InstanceMethods.html +1396 -0
  384. data/docs/Tasker/TaskHandler/StepGroup.html +1748 -0
  385. data/docs/Tasker/TaskHandler.html +271 -0
  386. data/docs/Tasker/TaskNamespace.html +312 -0
  387. data/docs/Tasker/TaskRunnerJob.html +406 -0
  388. data/docs/Tasker/TaskSerializer.html +474 -0
  389. data/docs/Tasker/TaskTransition.html +1517 -0
  390. data/docs/Tasker/TaskWorkflowSummary.html +988 -0
  391. data/docs/Tasker/TaskerRailsSchema/InvalidObjectTypeError.html +132 -0
  392. data/docs/Tasker/TaskerRailsSchema/TypeResolutionError.html +139 -0
  393. data/docs/Tasker/TaskerRailsSchema/UnknownInterfaceError.html +132 -0
  394. data/docs/Tasker/TaskerRailsSchema.html +384 -0
  395. data/docs/Tasker/TasksController.html +595 -0
  396. data/docs/Tasker/Telemetry/EventMapping.html +1307 -0
  397. data/docs/Tasker/Telemetry/EventRouter.html +2178 -0
  398. data/docs/Tasker/Telemetry/Events/ExportEvents.html +246 -0
  399. data/docs/Tasker/Telemetry/Events.html +115 -0
  400. data/docs/Tasker/Telemetry/ExportCoordinator/DistributedLockTimeoutError.html +135 -0
  401. data/docs/Tasker/Telemetry/ExportCoordinator.html +2137 -0
  402. data/docs/Tasker/Telemetry/IntelligentCacheManager.html +1083 -0
  403. data/docs/Tasker/Telemetry/LogBackend.html +1088 -0
  404. data/docs/Tasker/Telemetry/MetricTypes/Counter.html +1054 -0
  405. data/docs/Tasker/Telemetry/MetricTypes/Gauge.html +1270 -0
  406. data/docs/Tasker/Telemetry/MetricTypes/Histogram.html +1492 -0
  407. data/docs/Tasker/Telemetry/MetricTypes.html +153 -0
  408. data/docs/Tasker/Telemetry/MetricsBackend.html +2510 -0
  409. data/docs/Tasker/Telemetry/MetricsExportService.html +578 -0
  410. data/docs/Tasker/Telemetry/PluginRegistry.html +1774 -0
  411. data/docs/Tasker/Telemetry/Plugins/BaseExporter.html +1835 -0
  412. data/docs/Tasker/Telemetry/Plugins/CsvExporter.html +768 -0
  413. data/docs/Tasker/Telemetry/Plugins/JsonExporter.html +747 -0
  414. data/docs/Tasker/Telemetry/Plugins.html +117 -0
  415. data/docs/Tasker/Telemetry/PrometheusExporter.html +481 -0
  416. data/docs/Tasker/Telemetry/TraceBackend.html +891 -0
  417. data/docs/Tasker/Telemetry.html +130 -0
  418. data/docs/Tasker/Types/AuthConfig.html +886 -0
  419. data/docs/Tasker/Types/BackoffConfig.html +1063 -0
  420. data/docs/Tasker/Types/BaseConfig.html +227 -0
  421. data/docs/Tasker/Types/CacheConfig.html +1731 -0
  422. data/docs/Tasker/Types/DatabaseConfig.html +388 -0
  423. data/docs/Tasker/Types/DependencyGraph.html +526 -0
  424. data/docs/Tasker/Types/DependencyGraphConfig.html +753 -0
  425. data/docs/Tasker/Types/EngineConfig.html +1181 -0
  426. data/docs/Tasker/Types/ExecutionConfig.html +1963 -0
  427. data/docs/Tasker/Types/GraphEdge.html +517 -0
  428. data/docs/Tasker/Types/GraphMetadata.html +781 -0
  429. data/docs/Tasker/Types/GraphNode.html +694 -0
  430. data/docs/Tasker/Types/HealthConfig.html +784 -0
  431. data/docs/Tasker/Types/StepSequence.html +353 -0
  432. data/docs/Tasker/Types/StepTemplate.html +1193 -0
  433. data/docs/Tasker/Types/TaskRequest.html +1179 -0
  434. data/docs/Tasker/Types/TelemetryConfig.html +2746 -0
  435. data/docs/Tasker/Types.html +154 -0
  436. data/docs/Tasker/WorkflowStep/StepFinder.html +282 -0
  437. data/docs/Tasker/WorkflowStep.html +2724 -0
  438. data/docs/Tasker/WorkflowStepEdge.html +304 -0
  439. data/docs/Tasker/WorkflowStepSerializer.html +305 -0
  440. data/docs/Tasker/WorkflowStepTransition/TransitionDescriptionFormatter.html +282 -0
  441. data/docs/Tasker/WorkflowStepTransition.html +2201 -0
  442. data/docs/Tasker/WorkflowStepsController.html +462 -0
  443. data/docs/Tasker.html +452 -0
  444. data/docs/VISION.md +584 -0
  445. data/docs/WHY.md +21 -0
  446. data/docs/_index.html +2375 -0
  447. data/docs/class_list.html +54 -0
  448. data/docs/css/common.css +1 -0
  449. data/docs/css/full_list.css +58 -0
  450. data/docs/css/style.css +503 -0
  451. data/docs/events/migration_plan_outcomes.md +80 -0
  452. data/docs/file.README.html +541 -0
  453. data/docs/file_list.html +59 -0
  454. data/docs/frames.html +22 -0
  455. data/docs/index.html +541 -0
  456. data/docs/js/app.js +344 -0
  457. data/docs/js/full_list.js +242 -0
  458. data/docs/js/jquery.js +4 -0
  459. data/docs/method_list.html +9182 -0
  460. data/docs/top-level-namespace.html +110 -0
  461. data/lib/generators/tasker/authenticator_generator.rb +301 -0
  462. data/lib/generators/tasker/authorization_coordinator_generator.rb +139 -0
  463. data/lib/generators/tasker/events_generator.rb +91 -0
  464. data/lib/generators/tasker/subscriber_generator.rb +107 -0
  465. data/lib/generators/tasker/task_handler_generator.rb +138 -0
  466. data/lib/generators/tasker/templates/api_token_authenticator.rb.erb +113 -0
  467. data/lib/generators/tasker/templates/api_token_authenticator_spec.rb.erb +144 -0
  468. data/lib/generators/tasker/templates/authorization_coordinator.rb.erb +95 -0
  469. data/lib/generators/tasker/templates/authorization_coordinator_spec.rb.erb +142 -0
  470. data/lib/generators/tasker/templates/custom_authenticator.rb.erb +108 -0
  471. data/lib/generators/tasker/templates/custom_authenticator_spec.rb.erb +162 -0
  472. data/lib/generators/tasker/templates/custom_events.yml.erb +62 -0
  473. data/lib/generators/tasker/templates/custom_subscriber.rb.erb +72 -0
  474. data/lib/generators/tasker/templates/devise_authenticator.rb.erb +101 -0
  475. data/lib/generators/tasker/templates/devise_authenticator_spec.rb.erb +126 -0
  476. data/lib/generators/tasker/templates/initialize.rb.erb +202 -0
  477. data/lib/generators/tasker/templates/jwt_authenticator.rb.erb +144 -0
  478. data/lib/generators/tasker/templates/jwt_authenticator_spec.rb.erb +298 -0
  479. data/lib/generators/tasker/templates/metrics_subscriber.rb.erb +258 -0
  480. data/lib/generators/tasker/templates/metrics_subscriber_spec.rb.erb +308 -0
  481. data/lib/generators/tasker/templates/omniauth_authenticator.rb.erb +135 -0
  482. data/lib/generators/tasker/templates/omniauth_authenticator_spec.rb.erb +196 -0
  483. data/lib/generators/tasker/templates/opentelemetry_initializer.rb +52 -0
  484. data/lib/generators/tasker/templates/subscriber.rb.erb +64 -0
  485. data/lib/generators/tasker/templates/subscriber_spec.rb.erb +80 -0
  486. data/lib/generators/tasker/templates/task_config.yaml.erb +117 -0
  487. data/lib/generators/tasker/templates/task_handler.rb.erb +59 -0
  488. data/lib/generators/tasker/templates/task_handler_spec.rb.erb +159 -0
  489. data/lib/tasker/analysis/runtime_graph_analyzer.rb +1168 -0
  490. data/lib/tasker/analysis/template_graph_analyzer.rb +328 -0
  491. data/lib/tasker/authentication/coordinator.rb +78 -0
  492. data/lib/tasker/authentication/errors.rb +9 -0
  493. data/lib/tasker/authentication/interface.rb +36 -0
  494. data/lib/tasker/authentication/none_authenticator.rb +26 -0
  495. data/lib/tasker/authorization/base_coordinator.rb +112 -0
  496. data/lib/tasker/authorization/errors.rb +26 -0
  497. data/lib/tasker/authorization/resource_constants.rb +74 -0
  498. data/lib/tasker/authorization/resource_registry.rb +143 -0
  499. data/lib/tasker/authorization.rb +75 -0
  500. data/lib/tasker/cache_capabilities.rb +131 -0
  501. data/lib/tasker/cache_strategy.rb +469 -0
  502. data/lib/tasker/concerns/authenticatable.rb +41 -0
  503. data/lib/tasker/concerns/authorizable.rb +204 -0
  504. data/lib/tasker/concerns/controller_authorizable.rb +124 -0
  505. data/lib/tasker/concerns/event_publisher.rb +716 -0
  506. data/lib/tasker/concerns/idempotent_state_transitions.rb +128 -0
  507. data/lib/tasker/concerns/state_machine_base.rb +218 -0
  508. data/lib/tasker/concerns/structured_logging.rb +387 -0
  509. data/lib/tasker/configuration.rb +325 -0
  510. data/lib/tasker/constants/event_definitions.rb +147 -0
  511. data/lib/tasker/constants/registry_events.rb +54 -0
  512. data/lib/tasker/constants.rb +417 -0
  513. data/lib/tasker/engine.rb +90 -0
  514. data/lib/tasker/errors.rb +90 -0
  515. data/lib/tasker/events/catalog.rb +432 -0
  516. data/lib/tasker/events/custom_registry.rb +175 -0
  517. data/lib/tasker/events/definition_loader.rb +199 -0
  518. data/lib/tasker/events/event_payload_builder.rb +461 -0
  519. data/lib/tasker/events/publisher.rb +149 -0
  520. data/lib/tasker/events/subscribers/base_subscriber.rb +601 -0
  521. data/lib/tasker/events/subscribers/metrics_subscriber.rb +120 -0
  522. data/lib/tasker/events/subscribers/telemetry_subscriber.rb +462 -0
  523. data/lib/tasker/events/subscription_loader.rb +161 -0
  524. data/lib/tasker/events.rb +37 -0
  525. data/lib/tasker/functions/function_based_analytics_metrics.rb +103 -0
  526. data/lib/tasker/functions/function_based_dependency_levels.rb +54 -0
  527. data/lib/tasker/functions/function_based_slowest_steps.rb +84 -0
  528. data/lib/tasker/functions/function_based_slowest_tasks.rb +84 -0
  529. data/lib/tasker/functions/function_based_step_readiness_status.rb +183 -0
  530. data/lib/tasker/functions/function_based_system_health_counts.rb +94 -0
  531. data/lib/tasker/functions/function_based_task_execution_context.rb +148 -0
  532. data/lib/tasker/functions/function_wrapper.rb +42 -0
  533. data/lib/tasker/functions.rb +12 -0
  534. data/lib/tasker/handler_factory.rb +322 -0
  535. data/lib/tasker/health/readiness_checker.rb +186 -0
  536. data/lib/tasker/health/status_checker.rb +203 -0
  537. data/lib/tasker/identity_strategy.rb +38 -0
  538. data/lib/tasker/logging/correlation_id_generator.rb +120 -0
  539. data/lib/tasker/orchestration/backoff_calculator.rb +184 -0
  540. data/lib/tasker/orchestration/connection_builder.rb +122 -0
  541. data/lib/tasker/orchestration/connection_pool_intelligence.rb +177 -0
  542. data/lib/tasker/orchestration/coordinator.rb +119 -0
  543. data/lib/tasker/orchestration/future_state_analyzer.rb +137 -0
  544. data/lib/tasker/orchestration/plugin_integration.rb +124 -0
  545. data/lib/tasker/orchestration/response_processor.rb +168 -0
  546. data/lib/tasker/orchestration/retry_header_parser.rb +78 -0
  547. data/lib/tasker/orchestration/step_executor.rb +941 -0
  548. data/lib/tasker/orchestration/step_sequence_factory.rb +67 -0
  549. data/lib/tasker/orchestration/task_finalizer.rb +564 -0
  550. data/lib/tasker/orchestration/task_initializer.rb +140 -0
  551. data/lib/tasker/orchestration/task_reenqueuer.rb +71 -0
  552. data/lib/tasker/orchestration/viable_step_discovery.rb +65 -0
  553. data/lib/tasker/orchestration/workflow_coordinator.rb +294 -0
  554. data/lib/tasker/orchestration.rb +45 -0
  555. data/lib/tasker/railtie.rb +9 -0
  556. data/lib/tasker/registry/base_registry.rb +177 -0
  557. data/lib/tasker/registry/event_publisher.rb +91 -0
  558. data/lib/tasker/registry/interface_validator.rb +140 -0
  559. data/lib/tasker/registry/statistics_collector.rb +381 -0
  560. data/lib/tasker/registry/subscriber_registry.rb +285 -0
  561. data/lib/tasker/registry.rb +22 -0
  562. data/lib/tasker/state_machine/step_state_machine.rb +508 -0
  563. data/lib/tasker/state_machine/task_state_machine.rb +192 -0
  564. data/lib/tasker/state_machine.rb +83 -0
  565. data/lib/tasker/step_handler/api.rb +410 -0
  566. data/lib/tasker/step_handler/base.rb +206 -0
  567. data/lib/tasker/task_builder.rb +432 -0
  568. data/lib/tasker/task_handler/class_methods.rb +324 -0
  569. data/lib/tasker/task_handler/instance_methods.rb +293 -0
  570. data/lib/tasker/task_handler/step_group.rb +182 -0
  571. data/lib/tasker/task_handler.rb +43 -0
  572. data/lib/tasker/telemetry/event_mapping.rb +126 -0
  573. data/lib/tasker/telemetry/event_router.rb +318 -0
  574. data/lib/tasker/telemetry/events/export_events.rb +38 -0
  575. data/lib/tasker/telemetry/export_coordinator.rb +497 -0
  576. data/lib/tasker/telemetry/intelligent_cache_manager.rb +508 -0
  577. data/lib/tasker/telemetry/log_backend.rb +224 -0
  578. data/lib/tasker/telemetry/metric_types.rb +368 -0
  579. data/lib/tasker/telemetry/metrics_backend.rb +1227 -0
  580. data/lib/tasker/telemetry/metrics_export_service.rb +392 -0
  581. data/lib/tasker/telemetry/plugin_registry.rb +333 -0
  582. data/lib/tasker/telemetry/plugins/base_exporter.rb +246 -0
  583. data/lib/tasker/telemetry/plugins/csv_exporter.rb +198 -0
  584. data/lib/tasker/telemetry/plugins/json_exporter.rb +141 -0
  585. data/lib/tasker/telemetry/prometheus_exporter.rb +249 -0
  586. data/lib/tasker/telemetry/trace_backend.rb +186 -0
  587. data/lib/tasker/telemetry.rb +59 -0
  588. data/lib/tasker/types/auth_config.rb +81 -0
  589. data/lib/tasker/types/backoff_config.rb +142 -0
  590. data/lib/tasker/types/cache_config.rb +257 -0
  591. data/lib/tasker/types/database_config.rb +39 -0
  592. data/lib/tasker/types/dependency_graph.rb +225 -0
  593. data/lib/tasker/types/dependency_graph_config.rb +149 -0
  594. data/lib/tasker/types/engine_config.rb +131 -0
  595. data/lib/tasker/types/execution_config.rb +289 -0
  596. data/lib/tasker/types/health_config.rb +84 -0
  597. data/lib/tasker/types/step_sequence.rb +24 -0
  598. data/lib/tasker/types/step_template.rb +63 -0
  599. data/lib/tasker/types/task_request.rb +60 -0
  600. data/lib/tasker/types/telemetry_config.rb +273 -0
  601. data/lib/tasker/types.rb +64 -0
  602. data/lib/tasker/version.rb +7 -0
  603. data/lib/tasker.rb +82 -0
  604. data/lib/tasks/tasker_tasks.rake +302 -0
  605. metadata +958 -0
@@ -0,0 +1,1265 @@
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::Configuration::EngineConfiguration
8
+
9
+ &mdash; 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::Configuration::EngineConfiguration";
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 (E)</a> &raquo;
40
+ <span class='title'><span class='object_link'><a href="../../Tasker.html" title="Tasker (module)">Tasker</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Configuration.html" title="Tasker::Configuration (class)">Configuration</a></span></span>
41
+ &raquo;
42
+ <span class="title">EngineConfiguration</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::Configuration::EngineConfiguration
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::Configuration::EngineConfiguration</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>lib/tasker/configuration.rb</dd>
98
+ </dl>
99
+
100
+ </div>
101
+
102
+ <h2>Overview</h2><div class="docstring">
103
+ <div class="discussion">
104
+
105
+ <p>Nested configuration class for core engine settings</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="#custom_events_directories-instance_method" title="#custom_events_directories (instance method)">#<strong>custom_events_directories</strong> &#x21d2; Array&lt;String&gt; </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>Directories to search for custom event YAML files.</p>
142
+ </div></span>
143
+
144
+ </li>
145
+
146
+
147
+ <li class="public ">
148
+ <span class="summary_signature">
149
+
150
+ <a href="#default_module_namespace-instance_method" title="#default_module_namespace (instance method)">#<strong>default_module_namespace</strong> &#x21d2; String<sup>?</sup> </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>Default module namespace for task handlers.</p>
169
+ </div></span>
170
+
171
+ </li>
172
+
173
+
174
+ <li class="public ">
175
+ <span class="summary_signature">
176
+
177
+ <a href="#identity_strategy-instance_method" title="#identity_strategy (instance method)">#<strong>identity_strategy</strong> &#x21d2; Symbol </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 strategy to use for generating task identities (:default, :hash, :custom).</p>
196
+ </div></span>
197
+
198
+ </li>
199
+
200
+
201
+ <li class="public ">
202
+ <span class="summary_signature">
203
+
204
+ <a href="#identity_strategy_class-instance_method" title="#identity_strategy_class (instance method)">#<strong>identity_strategy_class</strong> &#x21d2; String<sup>?</sup> </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 class name to use for custom identity strategy.</p>
223
+ </div></span>
224
+
225
+ </li>
226
+
227
+
228
+ <li class="public ">
229
+ <span class="summary_signature">
230
+
231
+ <a href="#task_config_directory-instance_method" title="#task_config_directory (instance method)">#<strong>task_config_directory</strong> &#x21d2; 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>Directory where task configuration files are located.</p>
250
+ </div></span>
251
+
252
+ </li>
253
+
254
+
255
+ <li class="public ">
256
+ <span class="summary_signature">
257
+
258
+ <a href="#task_handler_directory-instance_method" title="#task_handler_directory (instance method)">#<strong>task_handler_directory</strong> &#x21d2; String </a>
259
+
260
+
261
+
262
+ </span>
263
+
264
+
265
+
266
+
267
+
268
+
269
+
270
+
271
+
272
+
273
+
274
+
275
+ <span class="summary_desc"><div class='inline'>
276
+ <p>Directory where task handlers are located.</p>
277
+ </div></span>
278
+
279
+ </li>
280
+
281
+
282
+ </ul>
283
+
284
+
285
+
286
+
287
+
288
+ <h2>
289
+ Instance Method Summary
290
+ <small><a href="#" class="summary_toggle">collapse</a></small>
291
+ </h2>
292
+
293
+ <ul class="summary">
294
+
295
+ <li class="public ">
296
+ <span class="summary_signature">
297
+
298
+ <a href="#add_custom_events_directories-instance_method" title="#add_custom_events_directories (instance method)">#<strong>add_custom_events_directories</strong>(*directories) &#x21d2; Array&lt;String&gt; </a>
299
+
300
+
301
+
302
+ </span>
303
+
304
+
305
+
306
+
307
+
308
+
309
+
310
+
311
+
312
+ <span class="summary_desc"><div class='inline'>
313
+ <p>Add custom event directories to the existing configuration.</p>
314
+ </div></span>
315
+
316
+ </li>
317
+
318
+
319
+ <li class="public ">
320
+ <span class="summary_signature">
321
+
322
+ <a href="#default_custom_events_directories-instance_method" title="#default_custom_events_directories (instance method)">#<strong>default_custom_events_directories</strong> &#x21d2; Array&lt;String&gt; </a>
323
+
324
+
325
+
326
+ </span>
327
+
328
+
329
+
330
+
331
+
332
+
333
+
334
+
335
+
336
+ <span class="summary_desc"><div class='inline'>
337
+ <p>Get default custom events directories.</p>
338
+ </div></span>
339
+
340
+ </li>
341
+
342
+
343
+ <li class="public ">
344
+ <span class="summary_signature">
345
+
346
+ <a href="#dup-instance_method" title="#dup (instance method)">#<strong>dup</strong> &#x21d2; Object </a>
347
+
348
+
349
+
350
+ </span>
351
+
352
+
353
+
354
+
355
+
356
+
357
+
358
+
359
+
360
+ <span class="summary_desc"><div class='inline'>
361
+ <p>Create a deep copy of the engine configuration.</p>
362
+ </div></span>
363
+
364
+ </li>
365
+
366
+
367
+ <li class="public ">
368
+ <span class="summary_signature">
369
+
370
+ <a href="#identity_strategy_instance-instance_method" title="#identity_strategy_instance (instance method)">#<strong>identity_strategy_instance</strong> &#x21d2; Tasker::IdentityStrategy </a>
371
+
372
+
373
+
374
+ </span>
375
+
376
+
377
+
378
+
379
+
380
+
381
+
382
+
383
+
384
+ <span class="summary_desc"><div class='inline'>
385
+ <p>Creates and returns an appropriate identity strategy instance.</p>
386
+ </div></span>
387
+
388
+ </li>
389
+
390
+
391
+ <li class="public ">
392
+ <span class="summary_signature">
393
+
394
+ <a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong> &#x21d2; EngineConfiguration </a>
395
+
396
+
397
+
398
+ </span>
399
+
400
+
401
+ <span class="note title constructor">constructor</span>
402
+
403
+
404
+
405
+
406
+
407
+
408
+
409
+
410
+ <span class="summary_desc"><div class='inline'>
411
+ <p>A new instance of EngineConfiguration.</p>
412
+ </div></span>
413
+
414
+ </li>
415
+
416
+
417
+ <li class="public ">
418
+ <span class="summary_signature">
419
+
420
+ <a href="#set_custom_events_directories-instance_method" title="#set_custom_events_directories (instance method)">#<strong>set_custom_events_directories</strong>(directories) &#x21d2; Array&lt;String&gt; </a>
421
+
422
+
423
+
424
+ </span>
425
+
426
+
427
+
428
+
429
+
430
+
431
+
432
+
433
+
434
+ <span class="summary_desc"><div class='inline'>
435
+ <p>Set custom event directories (replaces the default list).</p>
436
+ </div></span>
437
+
438
+ </li>
439
+
440
+
441
+ </ul>
442
+
443
+
444
+ <div id="constructor_details" class="method_details_list">
445
+ <h2>Constructor Details</h2>
446
+
447
+ <div class="method_details first">
448
+ <h3 class="signature first" id="initialize-instance_method">
449
+
450
+ #<strong>initialize</strong> &#x21d2; <tt><span class='object_link'><a href="" title="Tasker::Configuration::EngineConfiguration (class)">EngineConfiguration</a></span></tt>
451
+
452
+
453
+
454
+
455
+
456
+ </h3><div class="docstring">
457
+ <div class="discussion">
458
+
459
+ <p>Returns a new instance of EngineConfiguration.</p>
460
+
461
+
462
+ </div>
463
+ </div>
464
+ <div class="tags">
465
+
466
+
467
+ </div><table class="source_code">
468
+ <tr>
469
+ <td>
470
+ <pre class="lines">
471
+
472
+
473
+ 276
474
+ 277
475
+ 278
476
+ 279
477
+ 280
478
+ 281
479
+ 282
480
+ 283</pre>
481
+ </td>
482
+ <td>
483
+ <pre class="code"><span class="info file"># File 'lib/tasker/configuration.rb', line 276</span>
484
+
485
+ <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span>
486
+ <span class='ivar'>@task_handler_directory</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>tasks</span><span class='tstring_end'>&#39;</span></span>
487
+ <span class='ivar'>@task_config_directory</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>tasker/tasks</span><span class='tstring_end'>&#39;</span></span>
488
+ <span class='ivar'>@default_module_namespace</span> <span class='op'>=</span> <span class='kw'>nil</span>
489
+ <span class='ivar'>@identity_strategy</span> <span class='op'>=</span> <span class='symbol'>:default</span>
490
+ <span class='ivar'>@identity_strategy_class</span> <span class='op'>=</span> <span class='kw'>nil</span>
491
+ <span class='ivar'>@custom_events_directories</span> <span class='op'>=</span> <span class='id identifier rubyid_default_custom_events_directories'>default_custom_events_directories</span>
492
+ <span class='kw'>end</span></pre>
493
+ </td>
494
+ </tr>
495
+ </table>
496
+ </div>
497
+
498
+ </div>
499
+
500
+ <div id="instance_attr_details" class="attr_details">
501
+ <h2>Instance Attribute Details</h2>
502
+
503
+
504
+ <span id="custom_events_directories=-instance_method"></span>
505
+ <div class="method_details first">
506
+ <h3 class="signature first" id="custom_events_directories-instance_method">
507
+
508
+ #<strong>custom_events_directories</strong> &#x21d2; <tt>Array&lt;String&gt;</tt>
509
+
510
+
511
+
512
+
513
+
514
+ </h3><div class="docstring">
515
+ <div class="discussion">
516
+
517
+ <p>Returns Directories to search for custom event YAML files.</p>
518
+
519
+
520
+ </div>
521
+ </div>
522
+ <div class="tags">
523
+
524
+ <p class="tag_title">Returns:</p>
525
+ <ul class="return">
526
+
527
+ <li>
528
+
529
+
530
+ <span class='type'>(<tt>Array&lt;String&gt;</tt>)</span>
531
+
532
+
533
+
534
+ &mdash;
535
+ <div class='inline'>
536
+ <p>Directories to search for custom event YAML files</p>
537
+ </div>
538
+
539
+ </li>
540
+
541
+ </ul>
542
+
543
+ </div><table class="source_code">
544
+ <tr>
545
+ <td>
546
+ <pre class="lines">
547
+
548
+
549
+ 273
550
+ 274</pre>
551
+ </td>
552
+ <td>
553
+ <pre class="code"><span class="info file"># File 'lib/tasker/configuration.rb', line 273</span>
554
+
555
+ <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:task_handler_directory</span><span class='comma'>,</span> <span class='symbol'>:task_config_directory</span><span class='comma'>,</span> <span class='symbol'>:default_module_namespace</span><span class='comma'>,</span>
556
+ <span class='symbol'>:identity_strategy</span><span class='comma'>,</span> <span class='symbol'>:identity_strategy_class</span><span class='comma'>,</span> <span class='symbol'>:custom_events_directories</span></pre>
557
+ </td>
558
+ </tr>
559
+ </table>
560
+ </div>
561
+
562
+
563
+ <span id="default_module_namespace=-instance_method"></span>
564
+ <div class="method_details ">
565
+ <h3 class="signature " id="default_module_namespace-instance_method">
566
+
567
+ #<strong>default_module_namespace</strong> &#x21d2; <tt>String</tt><sup>?</sup>
568
+
569
+
570
+
571
+
572
+
573
+ </h3><div class="docstring">
574
+ <div class="discussion">
575
+
576
+ <p>Returns Default module namespace for task handlers.</p>
577
+
578
+
579
+ </div>
580
+ </div>
581
+ <div class="tags">
582
+
583
+ <p class="tag_title">Returns:</p>
584
+ <ul class="return">
585
+
586
+ <li>
587
+
588
+
589
+ <span class='type'>(<tt>String</tt>, <tt>nil</tt>)</span>
590
+
591
+
592
+
593
+ &mdash;
594
+ <div class='inline'>
595
+ <p>Default module namespace for task handlers</p>
596
+ </div>
597
+
598
+ </li>
599
+
600
+ </ul>
601
+
602
+ </div><table class="source_code">
603
+ <tr>
604
+ <td>
605
+ <pre class="lines">
606
+
607
+
608
+ 273
609
+ 274</pre>
610
+ </td>
611
+ <td>
612
+ <pre class="code"><span class="info file"># File 'lib/tasker/configuration.rb', line 273</span>
613
+
614
+ <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:task_handler_directory</span><span class='comma'>,</span> <span class='symbol'>:task_config_directory</span><span class='comma'>,</span> <span class='symbol'>:default_module_namespace</span><span class='comma'>,</span>
615
+ <span class='symbol'>:identity_strategy</span><span class='comma'>,</span> <span class='symbol'>:identity_strategy_class</span><span class='comma'>,</span> <span class='symbol'>:custom_events_directories</span></pre>
616
+ </td>
617
+ </tr>
618
+ </table>
619
+ </div>
620
+
621
+
622
+ <span id="identity_strategy=-instance_method"></span>
623
+ <div class="method_details ">
624
+ <h3 class="signature " id="identity_strategy-instance_method">
625
+
626
+ #<strong>identity_strategy</strong> &#x21d2; <tt>Symbol</tt>
627
+
628
+
629
+
630
+
631
+
632
+ </h3><div class="docstring">
633
+ <div class="discussion">
634
+
635
+ <p>Returns The strategy to use for generating task identities (:default, :hash, :custom).</p>
636
+
637
+
638
+ </div>
639
+ </div>
640
+ <div class="tags">
641
+
642
+ <p class="tag_title">Returns:</p>
643
+ <ul class="return">
644
+
645
+ <li>
646
+
647
+
648
+ <span class='type'>(<tt>Symbol</tt>)</span>
649
+
650
+
651
+
652
+ &mdash;
653
+ <div class='inline'>
654
+ <p>The strategy to use for generating task identities (:default, :hash, :custom)</p>
655
+ </div>
656
+
657
+ </li>
658
+
659
+ </ul>
660
+
661
+ </div><table class="source_code">
662
+ <tr>
663
+ <td>
664
+ <pre class="lines">
665
+
666
+
667
+ 273
668
+ 274</pre>
669
+ </td>
670
+ <td>
671
+ <pre class="code"><span class="info file"># File 'lib/tasker/configuration.rb', line 273</span>
672
+
673
+ <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:task_handler_directory</span><span class='comma'>,</span> <span class='symbol'>:task_config_directory</span><span class='comma'>,</span> <span class='symbol'>:default_module_namespace</span><span class='comma'>,</span>
674
+ <span class='symbol'>:identity_strategy</span><span class='comma'>,</span> <span class='symbol'>:identity_strategy_class</span><span class='comma'>,</span> <span class='symbol'>:custom_events_directories</span></pre>
675
+ </td>
676
+ </tr>
677
+ </table>
678
+ </div>
679
+
680
+
681
+ <span id="identity_strategy_class=-instance_method"></span>
682
+ <div class="method_details ">
683
+ <h3 class="signature " id="identity_strategy_class-instance_method">
684
+
685
+ #<strong>identity_strategy_class</strong> &#x21d2; <tt>String</tt><sup>?</sup>
686
+
687
+
688
+
689
+
690
+
691
+ </h3><div class="docstring">
692
+ <div class="discussion">
693
+
694
+ <p>Returns The class name to use for custom identity strategy.</p>
695
+
696
+
697
+ </div>
698
+ </div>
699
+ <div class="tags">
700
+
701
+ <p class="tag_title">Returns:</p>
702
+ <ul class="return">
703
+
704
+ <li>
705
+
706
+
707
+ <span class='type'>(<tt>String</tt>, <tt>nil</tt>)</span>
708
+
709
+
710
+
711
+ &mdash;
712
+ <div class='inline'>
713
+ <p>The class name to use for custom identity strategy</p>
714
+ </div>
715
+
716
+ </li>
717
+
718
+ </ul>
719
+
720
+ </div><table class="source_code">
721
+ <tr>
722
+ <td>
723
+ <pre class="lines">
724
+
725
+
726
+ 273
727
+ 274</pre>
728
+ </td>
729
+ <td>
730
+ <pre class="code"><span class="info file"># File 'lib/tasker/configuration.rb', line 273</span>
731
+
732
+ <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:task_handler_directory</span><span class='comma'>,</span> <span class='symbol'>:task_config_directory</span><span class='comma'>,</span> <span class='symbol'>:default_module_namespace</span><span class='comma'>,</span>
733
+ <span class='symbol'>:identity_strategy</span><span class='comma'>,</span> <span class='symbol'>:identity_strategy_class</span><span class='comma'>,</span> <span class='symbol'>:custom_events_directories</span></pre>
734
+ </td>
735
+ </tr>
736
+ </table>
737
+ </div>
738
+
739
+
740
+ <span id="task_config_directory=-instance_method"></span>
741
+ <div class="method_details ">
742
+ <h3 class="signature " id="task_config_directory-instance_method">
743
+
744
+ #<strong>task_config_directory</strong> &#x21d2; <tt>String</tt>
745
+
746
+
747
+
748
+
749
+
750
+ </h3><div class="docstring">
751
+ <div class="discussion">
752
+
753
+ <p>Returns Directory where task configuration files are located.</p>
754
+
755
+
756
+ </div>
757
+ </div>
758
+ <div class="tags">
759
+
760
+ <p class="tag_title">Returns:</p>
761
+ <ul class="return">
762
+
763
+ <li>
764
+
765
+
766
+ <span class='type'>(<tt>String</tt>)</span>
767
+
768
+
769
+
770
+ &mdash;
771
+ <div class='inline'>
772
+ <p>Directory where task configuration files are located</p>
773
+ </div>
774
+
775
+ </li>
776
+
777
+ </ul>
778
+
779
+ </div><table class="source_code">
780
+ <tr>
781
+ <td>
782
+ <pre class="lines">
783
+
784
+
785
+ 273
786
+ 274</pre>
787
+ </td>
788
+ <td>
789
+ <pre class="code"><span class="info file"># File 'lib/tasker/configuration.rb', line 273</span>
790
+
791
+ <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:task_handler_directory</span><span class='comma'>,</span> <span class='symbol'>:task_config_directory</span><span class='comma'>,</span> <span class='symbol'>:default_module_namespace</span><span class='comma'>,</span>
792
+ <span class='symbol'>:identity_strategy</span><span class='comma'>,</span> <span class='symbol'>:identity_strategy_class</span><span class='comma'>,</span> <span class='symbol'>:custom_events_directories</span></pre>
793
+ </td>
794
+ </tr>
795
+ </table>
796
+ </div>
797
+
798
+
799
+ <span id="task_handler_directory=-instance_method"></span>
800
+ <div class="method_details ">
801
+ <h3 class="signature " id="task_handler_directory-instance_method">
802
+
803
+ #<strong>task_handler_directory</strong> &#x21d2; <tt>String</tt>
804
+
805
+
806
+
807
+
808
+
809
+ </h3><div class="docstring">
810
+ <div class="discussion">
811
+
812
+ <p>Returns Directory where task handlers are located.</p>
813
+
814
+
815
+ </div>
816
+ </div>
817
+ <div class="tags">
818
+
819
+ <p class="tag_title">Returns:</p>
820
+ <ul class="return">
821
+
822
+ <li>
823
+
824
+
825
+ <span class='type'>(<tt>String</tt>)</span>
826
+
827
+
828
+
829
+ &mdash;
830
+ <div class='inline'>
831
+ <p>Directory where task handlers are located</p>
832
+ </div>
833
+
834
+ </li>
835
+
836
+ </ul>
837
+
838
+ </div><table class="source_code">
839
+ <tr>
840
+ <td>
841
+ <pre class="lines">
842
+
843
+
844
+ 273
845
+ 274
846
+ 275</pre>
847
+ </td>
848
+ <td>
849
+ <pre class="code"><span class="info file"># File 'lib/tasker/configuration.rb', line 273</span>
850
+
851
+ <span class='kw'>def</span> <span class='id identifier rubyid_task_handler_directory'>task_handler_directory</span>
852
+ <span class='ivar'>@task_handler_directory</span>
853
+ <span class='kw'>end</span></pre>
854
+ </td>
855
+ </tr>
856
+ </table>
857
+ </div>
858
+
859
+ </div>
860
+
861
+
862
+ <div id="instance_method_details" class="method_details_list">
863
+ <h2>Instance Method Details</h2>
864
+
865
+
866
+ <div class="method_details first">
867
+ <h3 class="signature first" id="add_custom_events_directories-instance_method">
868
+
869
+ #<strong>add_custom_events_directories</strong>(*directories) &#x21d2; <tt>Array&lt;String&gt;</tt>
870
+
871
+
872
+
873
+
874
+
875
+ </h3><div class="docstring">
876
+ <div class="discussion">
877
+
878
+ <p>Add custom event directories to the existing configuration</p>
879
+
880
+
881
+ </div>
882
+ </div>
883
+ <div class="tags">
884
+ <p class="tag_title">Parameters:</p>
885
+ <ul class="param">
886
+
887
+ <li>
888
+
889
+ <span class='name'>directories</span>
890
+
891
+
892
+ <span class='type'>(<tt>Array&lt;String&gt;</tt>)</span>
893
+
894
+
895
+
896
+ &mdash;
897
+ <div class='inline'>
898
+ <p>Additional directories to search for events</p>
899
+ </div>
900
+
901
+ </li>
902
+
903
+ </ul>
904
+
905
+ <p class="tag_title">Returns:</p>
906
+ <ul class="return">
907
+
908
+ <li>
909
+
910
+
911
+ <span class='type'>(<tt>Array&lt;String&gt;</tt>)</span>
912
+
913
+
914
+
915
+ &mdash;
916
+ <div class='inline'>
917
+ <p>The updated directories list</p>
918
+ </div>
919
+
920
+ </li>
921
+
922
+ </ul>
923
+
924
+ </div><table class="source_code">
925
+ <tr>
926
+ <td>
927
+ <pre class="lines">
928
+
929
+
930
+ 323
931
+ 324
932
+ 325</pre>
933
+ </td>
934
+ <td>
935
+ <pre class="code"><span class="info file"># File 'lib/tasker/configuration.rb', line 323</span>
936
+
937
+ <span class='kw'>def</span> <span class='id identifier rubyid_add_custom_events_directories'>add_custom_events_directories</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_directories'>directories</span><span class='rparen'>)</span>
938
+ <span class='ivar'>@custom_events_directories</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_custom_events_directories'>custom_events_directories</span> <span class='op'>+</span> <span class='id identifier rubyid_directories'>directories</span><span class='period'>.</span><span class='id identifier rubyid_flatten'>flatten</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_uniq'>uniq</span>
939
+ <span class='kw'>end</span></pre>
940
+ </td>
941
+ </tr>
942
+ </table>
943
+ </div>
944
+
945
+ <div class="method_details ">
946
+ <h3 class="signature " id="default_custom_events_directories-instance_method">
947
+
948
+ #<strong>default_custom_events_directories</strong> &#x21d2; <tt>Array&lt;String&gt;</tt>
949
+
950
+
951
+
952
+
953
+
954
+ </h3><div class="docstring">
955
+ <div class="discussion">
956
+
957
+ <p>Get default custom events directories</p>
958
+
959
+
960
+ </div>
961
+ </div>
962
+ <div class="tags">
963
+
964
+ <p class="tag_title">Returns:</p>
965
+ <ul class="return">
966
+
967
+ <li>
968
+
969
+
970
+ <span class='type'>(<tt>Array&lt;String&gt;</tt>)</span>
971
+
972
+
973
+
974
+ &mdash;
975
+ <div class='inline'>
976
+ <p>Default directories to search for custom events</p>
977
+ </div>
978
+
979
+ </li>
980
+
981
+ </ul>
982
+
983
+ </div><table class="source_code">
984
+ <tr>
985
+ <td>
986
+ <pre class="lines">
987
+
988
+
989
+ 288
990
+ 289
991
+ 290
992
+ 291
993
+ 292</pre>
994
+ </td>
995
+ <td>
996
+ <pre class="code"><span class="info file"># File 'lib/tasker/configuration.rb', line 288</span>
997
+
998
+ <span class='kw'>def</span> <span class='id identifier rubyid_default_custom_events_directories'>default_custom_events_directories</span>
999
+ <span class='lbracket'>[</span>
1000
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>config/tasker/events</span><span class='tstring_end'>&#39;</span></span>
1001
+ <span class='rbracket'>]</span>
1002
+ <span class='kw'>end</span></pre>
1003
+ </td>
1004
+ </tr>
1005
+ </table>
1006
+ </div>
1007
+
1008
+ <div class="method_details ">
1009
+ <h3 class="signature " id="dup-instance_method">
1010
+
1011
+ #<strong>dup</strong> &#x21d2; <tt>Object</tt>
1012
+
1013
+
1014
+
1015
+
1016
+
1017
+ </h3><div class="docstring">
1018
+ <div class="discussion">
1019
+
1020
+ <p>Create a deep copy of the engine configuration</p>
1021
+
1022
+
1023
+ </div>
1024
+ </div>
1025
+ <div class="tags">
1026
+
1027
+
1028
+ </div><table class="source_code">
1029
+ <tr>
1030
+ <td>
1031
+ <pre class="lines">
1032
+
1033
+
1034
+ 336
1035
+ 337
1036
+ 338
1037
+ 339
1038
+ 340
1039
+ 341
1040
+ 342
1041
+ 343
1042
+ 344
1043
+ 345</pre>
1044
+ </td>
1045
+ <td>
1046
+ <pre class="code"><span class="info file"># File 'lib/tasker/configuration.rb', line 336</span>
1047
+
1048
+ <span class='kw'>def</span> <span class='id identifier rubyid_dup'>dup</span>
1049
+ <span class='id identifier rubyid_new_config'>new_config</span> <span class='op'>=</span> <span class='kw'>super</span>
1050
+ <span class='id identifier rubyid_new_config'>new_config</span><span class='period'>.</span><span class='id identifier rubyid_instance_variable_set'>instance_variable_set</span><span class='lparen'>(</span><span class='symbol'>:@task_handler_directory</span><span class='comma'>,</span> <span class='ivar'>@task_handler_directory</span><span class='rparen'>)</span>
1051
+ <span class='id identifier rubyid_new_config'>new_config</span><span class='period'>.</span><span class='id identifier rubyid_instance_variable_set'>instance_variable_set</span><span class='lparen'>(</span><span class='symbol'>:@task_config_directory</span><span class='comma'>,</span> <span class='ivar'>@task_config_directory</span><span class='rparen'>)</span>
1052
+ <span class='id identifier rubyid_new_config'>new_config</span><span class='period'>.</span><span class='id identifier rubyid_instance_variable_set'>instance_variable_set</span><span class='lparen'>(</span><span class='symbol'>:@default_module_namespace</span><span class='comma'>,</span> <span class='ivar'>@default_module_namespace</span><span class='rparen'>)</span>
1053
+ <span class='id identifier rubyid_new_config'>new_config</span><span class='period'>.</span><span class='id identifier rubyid_instance_variable_set'>instance_variable_set</span><span class='lparen'>(</span><span class='symbol'>:@identity_strategy</span><span class='comma'>,</span> <span class='ivar'>@identity_strategy</span><span class='rparen'>)</span>
1054
+ <span class='id identifier rubyid_new_config'>new_config</span><span class='period'>.</span><span class='id identifier rubyid_instance_variable_set'>instance_variable_set</span><span class='lparen'>(</span><span class='symbol'>:@identity_strategy_class</span><span class='comma'>,</span> <span class='ivar'>@identity_strategy_class</span><span class='rparen'>)</span>
1055
+ <span class='id identifier rubyid_new_config'>new_config</span><span class='period'>.</span><span class='id identifier rubyid_instance_variable_set'>instance_variable_set</span><span class='lparen'>(</span><span class='symbol'>:@custom_events_directories</span><span class='comma'>,</span> <span class='ivar'>@custom_events_directories</span><span class='period'>.</span><span class='id identifier rubyid_dup'>dup</span><span class='rparen'>)</span>
1056
+ <span class='id identifier rubyid_new_config'>new_config</span>
1057
+ <span class='kw'>end</span></pre>
1058
+ </td>
1059
+ </tr>
1060
+ </table>
1061
+ </div>
1062
+
1063
+ <div class="method_details ">
1064
+ <h3 class="signature " id="identity_strategy_instance-instance_method">
1065
+
1066
+ #<strong>identity_strategy_instance</strong> &#x21d2; <tt><span class='object_link'><a href="../IdentityStrategy.html" title="Tasker::IdentityStrategy (class)">Tasker::IdentityStrategy</a></span></tt>
1067
+
1068
+
1069
+
1070
+
1071
+
1072
+ </h3><div class="docstring">
1073
+ <div class="discussion">
1074
+
1075
+ <p>Creates and returns an appropriate identity strategy instance</p>
1076
+
1077
+
1078
+ </div>
1079
+ </div>
1080
+ <div class="tags">
1081
+
1082
+ <p class="tag_title">Returns:</p>
1083
+ <ul class="return">
1084
+
1085
+ <li>
1086
+
1087
+
1088
+ <span class='type'>(<tt><span class='object_link'><a href="../IdentityStrategy.html" title="Tasker::IdentityStrategy (class)">Tasker::IdentityStrategy</a></span></tt>)</span>
1089
+
1090
+
1091
+
1092
+ &mdash;
1093
+ <div class='inline'>
1094
+ <p>The identity strategy instance</p>
1095
+ </div>
1096
+
1097
+ </li>
1098
+
1099
+ </ul>
1100
+ <p class="tag_title">Raises:</p>
1101
+ <ul class="raise">
1102
+
1103
+ <li>
1104
+
1105
+
1106
+ <span class='type'>(<tt>ArgumentError</tt>)</span>
1107
+
1108
+
1109
+
1110
+ &mdash;
1111
+ <div class='inline'>
1112
+ <p>If an invalid strategy is specified</p>
1113
+ </div>
1114
+
1115
+ </li>
1116
+
1117
+ </ul>
1118
+
1119
+ </div><table class="source_code">
1120
+ <tr>
1121
+ <td>
1122
+ <pre class="lines">
1123
+
1124
+
1125
+ 298
1126
+ 299
1127
+ 300
1128
+ 301
1129
+ 302
1130
+ 303
1131
+ 304
1132
+ 305
1133
+ 306
1134
+ 307
1135
+ 308
1136
+ 309
1137
+ 310
1138
+ 311
1139
+ 312
1140
+ 313
1141
+ 314
1142
+ 315
1143
+ 316
1144
+ 317</pre>
1145
+ </td>
1146
+ <td>
1147
+ <pre class="code"><span class="info file"># File 'lib/tasker/configuration.rb', line 298</span>
1148
+
1149
+ <span class='kw'>def</span> <span class='id identifier rubyid_identity_strategy_instance'>identity_strategy_instance</span>
1150
+ <span class='kw'>case</span> <span class='id identifier rubyid_identity_strategy'>identity_strategy</span>
1151
+ <span class='kw'>when</span> <span class='symbol'>:default</span>
1152
+ <span class='const'><span class='object_link'><a href="../IdentityStrategy.html" title="Tasker::IdentityStrategy (class)">IdentityStrategy</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
1153
+ <span class='kw'>when</span> <span class='symbol'>:hash</span>
1154
+ <span class='const'><span class='object_link'><a href="../HashIdentityStrategy.html" title="Tasker::HashIdentityStrategy (class)">HashIdentityStrategy</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
1155
+ <span class='kw'>when</span> <span class='symbol'>:custom</span>
1156
+ <span class='kw'>if</span> <span class='id identifier rubyid_identity_strategy_class'>identity_strategy_class</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
1157
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'>ArgumentError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Custom identity strategy selected but no identity_strategy_class provided</span><span class='tstring_end'>&#39;</span></span>
1158
+ <span class='kw'>end</span>
1159
+
1160
+ <span class='kw'>begin</span>
1161
+ <span class='id identifier rubyid_identity_strategy_class'>identity_strategy_class</span><span class='period'>.</span><span class='id identifier rubyid_constantize'>constantize</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
1162
+ <span class='kw'>rescue</span> <span class='const'>NameError</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_e'>e</span>
1163
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'>ArgumentError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Invalid identity_strategy_class: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_message'>message</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span>
1164
+ <span class='kw'>end</span>
1165
+ <span class='kw'>else</span>
1166
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'>ArgumentError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Unknown identity_strategy: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_identity_strategy'>identity_strategy</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span>
1167
+ <span class='kw'>end</span>
1168
+ <span class='kw'>end</span></pre>
1169
+ </td>
1170
+ </tr>
1171
+ </table>
1172
+ </div>
1173
+
1174
+ <div class="method_details ">
1175
+ <h3 class="signature " id="set_custom_events_directories-instance_method">
1176
+
1177
+ #<strong>set_custom_events_directories</strong>(directories) &#x21d2; <tt>Array&lt;String&gt;</tt>
1178
+
1179
+
1180
+
1181
+
1182
+
1183
+ </h3><div class="docstring">
1184
+ <div class="discussion">
1185
+
1186
+ <p>Set custom event directories (replaces the default list)</p>
1187
+
1188
+
1189
+ </div>
1190
+ </div>
1191
+ <div class="tags">
1192
+ <p class="tag_title">Parameters:</p>
1193
+ <ul class="param">
1194
+
1195
+ <li>
1196
+
1197
+ <span class='name'>directories</span>
1198
+
1199
+
1200
+ <span class='type'>(<tt>Array&lt;String&gt;</tt>)</span>
1201
+
1202
+
1203
+
1204
+ &mdash;
1205
+ <div class='inline'>
1206
+ <p>Directories to search for events</p>
1207
+ </div>
1208
+
1209
+ </li>
1210
+
1211
+ </ul>
1212
+
1213
+ <p class="tag_title">Returns:</p>
1214
+ <ul class="return">
1215
+
1216
+ <li>
1217
+
1218
+
1219
+ <span class='type'>(<tt>Array&lt;String&gt;</tt>)</span>
1220
+
1221
+
1222
+
1223
+ &mdash;
1224
+ <div class='inline'>
1225
+ <p>The new directories list</p>
1226
+ </div>
1227
+
1228
+ </li>
1229
+
1230
+ </ul>
1231
+
1232
+ </div><table class="source_code">
1233
+ <tr>
1234
+ <td>
1235
+ <pre class="lines">
1236
+
1237
+
1238
+ 331
1239
+ 332
1240
+ 333</pre>
1241
+ </td>
1242
+ <td>
1243
+ <pre class="code"><span class="info file"># File 'lib/tasker/configuration.rb', line 331</span>
1244
+
1245
+ <span class='kw'>def</span> <span class='id identifier rubyid_set_custom_events_directories'>set_custom_events_directories</span><span class='lparen'>(</span><span class='id identifier rubyid_directories'>directories</span><span class='rparen'>)</span>
1246
+ <span class='ivar'>@custom_events_directories</span> <span class='op'>=</span> <span class='id identifier rubyid_directories'>directories</span><span class='period'>.</span><span class='id identifier rubyid_flatten'>flatten</span>
1247
+ <span class='kw'>end</span></pre>
1248
+ </td>
1249
+ </tr>
1250
+ </table>
1251
+ </div>
1252
+
1253
+ </div>
1254
+
1255
+ </div>
1256
+
1257
+ <div id="footer">
1258
+ Generated on Wed Jun 18 11:50:36 2025 by
1259
+ <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1260
+ 0.9.37 (ruby-3.2.4).
1261
+ </div>
1262
+
1263
+ </div>
1264
+ </body>
1265
+ </html>