Sha256: 9a60ec1a8eff1e757d0b390e59ce20e44d4b1caed1341aefabdea0fa027cbcc7
Contents?: true
Size: 661 Bytes
Versions: 9
Compression:
Stored size: 661 Bytes
Contents
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
9 entries across 9 versions & 1 rubygems