Sha256: 568a746eaa2b7a52e0952bd8f213f5b87cd4e36e89a983798bcc5ab21c0027dc

Contents?: true

Size: 1.24 KB

Versions: 11

Compression:

Stored size: 1.24 KB

Contents

require 'pdk'

module PDK
  module Validate
    module Tasks
      class TasksNameValidator < InternalRubyValidator
        INVALID_TASK_MSG = _(
          'Invalid task name. Task names must start with a lowercase letter ' \
          'and can only contain lowercase letters, numbers, and underscores.',
        )

        def name
          'task-name'
        end

        def pattern
          contextual_pattern('tasks/**/*')
        end

        def spinner_text
          _('Checking task names (%{pattern}).') % {
            pattern: pattern.join(' '),
          }
        end

        def validate_target(report, target)
          task_name = File.basename(target, File.extname(target))
          if PDK::CLI::Util::OptionValidator.valid_task_name?(task_name)
            report.add_event(
              file:     target,
              source:   name,
              state:    :passed,
              severity: 'ok',
            )
            return 0
          else
            report.add_event(
              file:     target,
              source:   name,
              state:    :failure,
              severity: 'error',
              message:  INVALID_TASK_MSG,
            )
            return 1
          end
        end
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
pdk-2.6.1 lib/pdk/validate/tasks/tasks_name_validator.rb
pdk-2.6.0 lib/pdk/validate/tasks/tasks_name_validator.rb
pdk-2.5.0 lib/pdk/validate/tasks/tasks_name_validator.rb
pdk-2.3.0 lib/pdk/validate/tasks/tasks_name_validator.rb
pdk-2.2.0 lib/pdk/validate/tasks/tasks_name_validator.rb
pdk-2.1.1 lib/pdk/validate/tasks/tasks_name_validator.rb
pdk-2.1.0 lib/pdk/validate/tasks/tasks_name_validator.rb
pdk-2.0.0 lib/pdk/validate/tasks/tasks_name_validator.rb
pdk-1.18.1 lib/pdk/validate/tasks/tasks_name_validator.rb
pdk-1.18.0 lib/pdk/validate/tasks/tasks_name_validator.rb
pdk-1.17.0 lib/pdk/validate/tasks/tasks_name_validator.rb