class Overcommit::Hook::PreCommit::FileSize

Checks for oversized files before committing.

Public Instance Methods

description() click to toggle source
# File lib/overcommit/hook/pre_commit/file_size.rb, line 14
def description
  "Check for files over #{size_limit_bytes} bytes"
end
run() click to toggle source
# File lib/overcommit/hook/pre_commit/file_size.rb, line 6
def run
  return :pass if oversized_files.empty?

  oversized_files.map do |file|
    error_message_for(file)
  end
end

Private Instance Methods

build_oversized_file_list() click to toggle source
# File lib/overcommit/hook/pre_commit/file_size.rb, line 24
def build_oversized_file_list
  applicable_files.select do |file|
    File.exist?(file) && file_size(file) > size_limit_bytes
  end
end
error_message_for(file) click to toggle source
# File lib/overcommit/hook/pre_commit/file_size.rb, line 34
def error_message_for(file)
  Overcommit::Hook::Message.new(
    :error,
    file,
    nil,
    "#{file} is #{file_size(file)} bytes"
  )
end
file_size(file) click to toggle source
# File lib/overcommit/hook/pre_commit/file_size.rb, line 43
def file_size(file)
  File.size(file)
end
oversized_files() click to toggle source
# File lib/overcommit/hook/pre_commit/file_size.rb, line 20
def oversized_files
  @oversized_files ||= build_oversized_file_list
end
size_limit_bytes() click to toggle source
# File lib/overcommit/hook/pre_commit/file_size.rb, line 30
def size_limit_bytes
  config.fetch('size_limit_bytes')
end