Sha256: 6b8dc3331c6e25dbfb097f7a97da4ff44a3d0fe6ab173ca2ee7a34b9d8123bde
Contents?: true
Size: 1.76 KB
Versions: 3
Compression:
Stored size: 1.76 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 youre_behind? repo `git fetch #{repo_dir repo} >/dev/null 2>&1` raise unless $?.exitstatus.zero? behind = `git #{git_dir repo} log ..origin/master --oneline`.split("\n").length > 0 raise unless $?.exitstatus.zero? return behind end def youre_ahead? repo `git fetch #{repo_dir repo} >/dev/null 2>&1` raise unless $?.exitstatus.zero? 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
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
bourdain-1.2.20 | lib/bourdain/resources/checks.rb |
bourdain-1.2.19 | lib/bourdain/resources/checks.rb |
bourdain-1.2.18 | lib/bourdain/resources/checks.rb |