Sha256: d7b079779bd42e63d5453dbe9a49df2124ce889daa9549e8632abf67d78e6042
Contents?: true
Size: 1.7 KB
Versions: 4
Compression:
Stored size: 1.7 KB
Contents
require 'fileutils' require 'open-uri' require 'json' require 'erb' module Bourdain module Checks class Check < Bourdain::Resource protected def gemfile_version gem_name gemfile_lock = File.read 'Gemfile.lock' gemfile_lock =~ /#{gem_name} \((.*?)\)/ $1 end def rubygems_version gem_name versions_url = "https://rubygems.org/api/v1/versions/#{gem_name}.json" open(versions_url) do |f| versions = JSON::parse f.read versions = versions.sort_by { |v| v['number'] } versions.last['number'] end end def repo_dir repo File.join(Dir.pwd, repo) end def work_tree repo "--work-tree=#{repo_dir repo}" end def git_dir repo "--git-dir=#{File.join repo_dir(repo), '.git'}" end def fetch repo `git #{git_dir repo} fetch >/dev/null 2>&1` end def youre_behind? repo fetch repo behind = `git #{git_dir repo} log ..origin/master --oneline`.split("\n").length > 0 raise unless $?.exitstatus.zero? return behind end def youre_ahead? repo fetch repo ahead = `git #{git_dir repo} log origin/master.. --oneline`.split("\n").length > 0 raise unless $?.exitstatus.zero? return ahead end def youre_dirty? repo dirty = `git #{git_dir repo} #{work_tree repo} diff HEAD --numstat`.split("\n").length > 0 raise unless $?.exitstatus.zero? return dirty end end end end require_relative 'checks/chef' require_relative 'checks/hooks' require_relative 'checks/bourdain' require_relative 'checks/cookbooks' require_relative 'checks/ssh_config'
Version data entries
4 entries across 4 versions & 1 rubygems