Sha256: 5d56d06e83431484ca5a4c65011db31fd8ef0776a9ae5544867a782f3bfa5aab
Contents?: true
Size: 1.27 KB
Versions: 2
Compression:
Stored size: 1.27 KB
Contents
# frozen_string_literal: true module Ad module AgentArchitecture module Dsl # This class is responsible for defining the agent DSL class AgentDsl attr_reader :workflow def self.create(name:, &block) new(name).tap do |dsl| dsl.instance_eval(&block) if block_given? end end def initialize(name) @workflow = WorkflowDsl.new(name) end def attributes(&block) @workflow.attributes(&block) end def prompts(&block) @workflow.prompts(&block) end def section(name:, &block) @workflow.section(name: name, &block) end def save Ad::AgentArchitecture::Dsl::Actions::SaveDatabase.new(@workflow.workflow).save self end def save_json(file_name = nil) full_file_name = file_name || 'workflow.json' Ad::AgentArchitecture::Dsl::Actions::SaveJson.new(@workflow.workflow).save(full_file_name) self end def save_yaml(file_name = nil) full_file_name = file_name || 'workflow.yaml' Ad::AgentArchitecture::Dsl::Actions::SaveYaml.new(@workflow.workflow).save(full_file_name) self end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ad-agent_architecture-0.0.11 | lib/ad/agent_architecture/dsl/agent_dsl.rb |
ad-agent_architecture-0.0.10 | lib/ad/agent_architecture/dsl/agent_dsl.rb |