Sha256: e61ae1f1a9e12abca4c2616fa497f9ad2d5a1fc6b8c603c80eb705134d899b82

Contents?: true

Size: 1.9 KB

Versions: 9

Compression:

Stored size: 1.9 KB

Contents

# frozen_string_literal: true

PuppetLint.new_check(:manifest_whitespace_class_name_single_space_before) do
  def check
    (class_indexes + defined_type_indexes).each do |class_idx|
      class_token = class_idx[:tokens].first
      name_token = class_token.next_token_of(%i[NAME FUNCTION_NAME])
      next unless name_token

      next_token = class_token.next_token
      next unless tokens.index(name_token) != tokens.index(class_token) + 2 ||
                  !is_single_space(next_token)

      notify(
        :error,
        message: 'there should be a single space between the class or defined resource statement and the name',
        line: next_token.line,
        column: next_token.column,
        token: next_token,
      )
    end
  end

  def fix(problem)
    raise PuppetLint::NoFix if problem[:token].type != :WHITESPACE

    problem[:token].value = ' '
  end
end

PuppetLint.new_check(:manifest_whitespace_class_name_single_space_after) do
  def check
    (class_indexes + defined_type_indexes).each do |class_idx|
      class_token = class_idx[:tokens].first
      name_token = class_token.next_token_of(%i[NAME FUNCTION_NAME])
      next unless name_token

      next_token = name_token.next_token
      next_code_token = next_non_space_token(name_token)
      next unless tokens.index(name_token) != tokens.index(next_code_token) - 2 ||
                  !is_single_space(next_token)

      notify(
        :error,
        message: 'there should be a single space between the class or resource name and the next item',
        line: next_token.line,
        column: next_token.column,
        token: next_token,
      )
    end
  end

  def fix(problem)
    token = problem[:token]
    next_code_token = next_non_space_token(token.prev_token)

    while token != next_code_token
      remove_token(token)
      token = token.next_token
    end

    add_token(tokens.index(next_code_token), new_single_space)
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
puppet-lint-manifest_whitespace-check-0.1.16 lib/puppet-lint/plugins/check_manifest_whitespace_class_name_single_space.rb
puppet-lint-manifest_whitespace-check-0.1.15 lib/puppet-lint/plugins/check_manifest_whitespace_class_name_single_space.rb
puppet-lint-manifest_whitespace-check-0.1.14 lib/puppet-lint/plugins/check_manifest_whitespace_class_name_single_space.rb
puppet-lint-manifest_whitespace-check-0.1.13 lib/puppet-lint/plugins/check_manifest_whitespace_class_name_single_space.rb
puppet-lint-manifest_whitespace-check-0.1.12 lib/puppet-lint/plugins/check_manifest_whitespace_class_name_single_space.rb
puppet-lint-manifest_whitespace-check-0.1.11 lib/puppet-lint/plugins/check_manifest_whitespace_class_name_single_space.rb
puppet-lint-manifest_whitespace-check-0.1.10 lib/puppet-lint/plugins/check_manifest_whitespace_class_name_single_space.rb
puppet-lint-manifest_whitespace-check-0.1.9 lib/puppet-lint/plugins/check_manifest_whitespace_class_name_single_space.rb
puppet-lint-manifest_whitespace-check-0.1.8 lib/puppet-lint/plugins/check_manifest_whitespace_class_name_single_space.rb