Sha256: d930859a6bf51c6edd117a66f9cad02e60be29eba07b8a64752ce1dd5d631814

Contents?: true

Size: 698 Bytes

Versions: 15

Compression:

Stored size: 698 Bytes

Contents

# frozen_string_literal: true

module Chutney
  # service class to lint for file name differs feature name
  class FileNameDiffersFeatureName < Linter
    def lint
      return unless feature

      expected_feature_name = title_case(filename)
      return if ignore_whitespaces(feature.name).casecmp(ignore_whitespaces(expected_feature_name)) == 0

      add_issue(I18n.t('linters.file_name_differs_feature_name', expected: expected_feature_name), feature)
    end

    def title_case(value)
      value = File.basename(value, '.*')
      value.split('_').collect(&:capitalize).join(' ')
    end

    def ignore_whitespaces(value)
      value.delete('-').delete('_').delete(' ')
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
chutney-3.10.0 lib/chutney/linter/file_name_differs_feature_name.rb
chutney-3.9.0 lib/chutney/linter/file_name_differs_feature_name.rb
chutney-3.8.2 lib/chutney/linter/file_name_differs_feature_name.rb
chutney-3.8.1 lib/chutney/linter/file_name_differs_feature_name.rb
chutney-3.8.0 lib/chutney/linter/file_name_differs_feature_name.rb
chutney-3.7.0 lib/chutney/linter/file_name_differs_feature_name.rb
chutney-3.6.0 lib/chutney/linter/file_name_differs_feature_name.rb
chutney-3.5.0 lib/chutney/linter/file_name_differs_feature_name.rb
chutney-3.3.0 lib/chutney/linter/file_name_differs_feature_name.rb
chutney-3.2.1 lib/chutney/linter/file_name_differs_feature_name.rb
chutney-3.2.0 lib/chutney/linter/file_name_differs_feature_name.rb
chutney-3.1.1 lib/chutney/linter/file_name_differs_feature_name.rb
chutney-3.1.0 lib/chutney/linter/file_name_differs_feature_name.rb
chutney-3.0.1 lib/chutney/linter/file_name_differs_feature_name.rb
chutney-3.0.0 lib/chutney/linter/file_name_differs_feature_name.rb