class PreCommit::Checks::Json

Public Class Methods

description() click to toggle source
# File lib/plugins/pre_commit/checks/json.rb, line 23
def self.description
  'Runs json to detect errors.'
end

Public Instance Methods

call(staged_files) click to toggle source
# File lib/plugins/pre_commit/checks/json.rb, line 7
def call(staged_files)
  staged_files = staged_files.grep(/\.json$/)
  return if staged_files.empty?

  errors = staged_files.map {|file| load_file(file)}.compact

  errors.join("\n") + "\n" unless errors.empty?
end
load_file(file) click to toggle source
# File lib/plugins/pre_commit/checks/json.rb, line 16
def load_file(file)
  File.open(file) {|io| JSON.load(io)}
  nil
rescue JSON::ParserError => e
  "#{e.message} parsing #{file}"
end