Sha256: c0468ab7079450b026f518711bec71d143348a725241b7a8631bb238c33e9654
Contents?: true
Size: 688 Bytes
Versions: 10
Compression:
Stored size: 688 Bytes
Contents
# frozen_string_literal: true require 'chutney/linter' module Chutney # service class to lint for invalid file names class InvalidFileName < Linter def lint feature do |f| base = File.basename(filename, '.*') if base != base.downcase || base =~ /[ -]/ add_issue(I18n.t('linters.invalid_file_name', recommended_name: recommend(filename)), f) end end end def recommend(filename) File.basename(filename, '.*').gsub(/::/, '/') .gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2') .gsub(/([a-z\d])([A-Z])/, '\1_\2') .tr('-', '_') .tr(' ', '_') .downcase << '.feature' end end end
Version data entries
10 entries across 10 versions & 1 rubygems