module Minispec
public module. to be used for inclusions by end users.
Attributes
assertions[RW]
specs[RW]
tests[RW]
Public Class Methods
included(base)
click to toggle source
# File lib/minispec.rb, line 134 def included base base.extend(MiniSpec::ClassAPI) base.send(:include, MiniSpec::InstanceAPI) # inserting global shared resources defined inside Minispec module MiniSpec::IMPORTABLES.each do |importable| base.send('import_%s' % importable, self) end specs.push(base) unless specs.include?(base) end
run(opts = {})
click to toggle source
# File lib/minispec.rb, line 146 def run opts = {} files = opts[:files] || opts[:file] files ||= File.basename($0) == 'minispec' && $*.any? && $* files ||= Dir[File.join(Dir.pwd, opts[:pattern] || MiniSpec::DEFAULT_PATTERN)] files = [files] unless files.is_a?(Array) $:.include?(Dir.pwd) || $:.unshift(Dir.pwd) lib = File.join(Dir.pwd, 'lib') !$:.include?(lib) && File.directory?(lib) && $:.unshift(lib) pwd = /\A#{Regexp.escape(Dir.pwd)}\//.freeze files.each do |f| path = File.expand_path(File.dirname(f), Dir.pwd).sub(pwd, '') path = File.join(Dir.pwd, path.split('/').first) $:.include?(path) || $:.unshift(path) require(f) end reporter = opts[:reporter] || MiniSpec::Reporter.new specs.each {|s| s.run(reporter)} reporter.summary exit(1) if reporter.failures? end