Sha256: e3fc8657692199de985d53b61f288100d39dfca4bd58b394e5347e8f54b59089
Contents?: true
Size: 883 Bytes
Versions: 4
Compression:
Stored size: 883 Bytes
Contents
# frozen_string_literal: true require 'json' require 'open3' require_relative 'ruby_selector' require_relative 'gemfile_selector' module SchemaDev class Executor attr_reader :ruby, :activerecord, :db, :error def initialize(ruby:, activerecord:, db:) @ruby_selector = RubySelector.command(ruby) @gemfile_selector = GemfileSelector.command(activerecord: activerecord, db: db) end def run(cmd, dry_run: false) fullcommand = ['/usr/bin/env', @gemfile_selector, @ruby_selector, cmd].compact.join(' ') puts "* #{fullcommand}" return true if dry_run @error = false Open3.popen2e(fullcommand) do |_i, oe, t| oe.each do |line| puts line @error ||= (line =~ /(^Failed examples)|(rake aborted)|(LoadError)/) end @error ||= !t.value.success? end !@error end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
schema_dev-4.2.0 | lib/schema_dev/executor.rb |
schema_dev-4.2.beta.5 | lib/schema_dev/executor.rb |
schema_dev-4.1.1 | lib/schema_dev/executor.rb |
schema_dev-4.1.0 | lib/schema_dev/executor.rb |