Sha256: 8ba104575e076c7cff370f0c928ed16635ffb366e95b729373f38d896ce00059

Contents?: true

Size: 1.46 KB

Versions: 3

Compression:

Stored size: 1.46 KB

Contents

module HammerCLIForemanPuppet
  module AssociatingCommands
    module ExtendCommands
      def create_subcommand(name = :PuppetEnvironment)
        commands = constants.select { |c| c.to_s.include? name.to_s }.map { |p| const_get(p)}
        commands.each do |command|
          subcommand(command.command_name, command.desc, command, warning: command.warning)
        end
      end
    end

    module PuppetEnvironment
      extend HammerCLIForeman::AssociatingCommands::CommandExtension

      class AddPuppetEnvironmentCommand < HammerCLIForemanPuppet::AddAssociatedCommand
        include EnvironmentNameMapping
        associated_resource :environments
        desc _('Associate a Puppet environment')
        command_name "add-environment"

        success_message _("The environment has been associated.")
        failure_message _("Could not associate the environment")

        extend_with(HammerCLIForemanPuppet::CommandExtensions::PuppetEnvironment.new)
      end

      class RemovePuppetEnvironmentCommand < HammerCLIForemanPuppet::RemoveAssociatedCommand
        include EnvironmentNameMapping
        associated_resource :environments
        desc _('Disassociate a Puppet environment')
        command_name "remove-environment"

        success_message _("The environment has been disassociated.")
        failure_message _("Could not disassociate the environment")

        extend_with(HammerCLIForemanPuppet::CommandExtensions::PuppetEnvironment.new)
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
hammer_cli_foreman_puppet-0.0.3 lib/hammer_cli_foreman_puppet/associating_commands/associating_commands.rb
hammer_cli_foreman_puppet-0.0.2 lib/hammer_cli_foreman_puppet/associating_commands/associating_commands.rb
hammer_cli_foreman_puppet-0.0.1 lib/hammer_cli_foreman_puppet/associating_commands/associating_commands.rb