Sha256: 200f33c46ac835c0784d41dd349fc69efd280023f3598be441e79bc31263228a
Contents?: true
Size: 1.06 KB
Versions: 1
Compression:
Stored size: 1.06 KB
Contents
module StartingBlocks class Contract attr_reader :options def initialize options @options = options end def self.inherited klass @contract_types ||= [] @contract_types << klass end def file_clues ["test", "spec"] end def extensions [] end def filter_these_files files files end def execute_these_files files raise 'You have to define how to execute these files.' end def self.for options @contract_types.last.new options end end class MinitestContract < Contract def file_clues ["_test", "test_", "_spec"] end def extensions ['.rb'] end def filter_these_files files files.select { |x| options[:include_vendor] || x.include?('/vendor/') == false } end def execute_these_files files requires = files.map { |x| "require '#{x}'" }.join("\n") if options[:use_bundler] Bash.run "bundle exec ruby -e \"#{requires}\"" else Bash.run "ruby -e \"#{requires}\"" end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
starting_blocks-1.3.0 | lib/starting_blocks/minitest_contract.rb |