Class: Covered::Policy

Inherits:
Wrapper show all
Defined in:
lib/covered/policy.rb

Defined Under Namespace

Classes: Autoload

Instance Attribute Summary collapse

Attributes inherited from Wrapper

#output

Instance Method Summary collapse

Methods inherited from Wrapper

#accept?, #each, #expand_path, #mark, #relative_path, #to_h

Methods inherited from Base

#accept?, #each, #expand_path, #mark, #relative_path

Constructor Details

#initializePolicy

Returns a new instance of Policy.



39
40
41
42
43
# File 'lib/covered/policy.rb', line 39

def initialize
	super(Files.new)
	
	@reports = []
end

Instance Attribute Details

#reportsObject (readonly)

Returns the value of attribute reports.



94
95
96
# File 'lib/covered/policy.rb', line 94

def reports
  @reports
end

Instance Method Details

#cache!Object



74
75
76
# File 'lib/covered/policy.rb', line 74

def cache!
	@output = Cache.new(@output)
end

#call(*args) ⇒ Object



139
140
141
142
143
# File 'lib/covered/policy.rb', line 139

def call(*args)
	@reports.each do |report|
		report.call(self, *args)
	end
end

#captureObject



82
83
84
# File 'lib/covered/policy.rb', line 82

def capture
	@capture ||= Capture.new(@output)
end

#disableObject



90
91
92
# File 'lib/covered/policy.rb', line 90

def disable
	capture.disable
end

#enableObject



86
87
88
# File 'lib/covered/policy.rb', line 86

def enable
	capture.enable
end

#freezeObject



45
46
47
48
49
50
51
52
# File 'lib/covered/policy.rb', line 45

def freeze
	return self if frozen?
	
	capture
	@reports.freeze
	
	super
end

#include(*args) ⇒ Object



58
59
60
# File 'lib/covered/policy.rb', line 58

def include(*args)
	@output = Include.new(@output, *args)
end

#only(*args) ⇒ Object



66
67
68
# File 'lib/covered/policy.rb', line 66

def only(*args)
	@output = Only.new(@output, *args)
end

#persist!Object



78
79
80
# File 'lib/covered/policy.rb', line 78

def persist!
	@output = Persist.new(@output)
end

#reports!(coverage = ) ⇒ Object



122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
# File 'lib/covered/policy.rb', line 122

def reports!(coverage = ENV['COVERAGE'])
	if coverage
		names = coverage.split(',')
		
		names.each do |name|
			begin
				klass = Covered.const_get(name)
				@reports << klass.new
			rescue NameError
				@reports << Autoload.new(name)
			end
		end
	else
		@reports << Covered::BriefSummary.new
	end
end

#root(*args) ⇒ Object



70
71
72
# File 'lib/covered/policy.rb', line 70

def root(*args)
	@output = Root.new(@output, *args)
end

#skip(*args) ⇒ Object



62
63
64
# File 'lib/covered/policy.rb', line 62

def skip(*args)
	@output = Skip.new(@output, *args)
end

#source(*args) ⇒ Object



54
55
56
# File 'lib/covered/policy.rb', line 54

def source(*args)
	@output = Source.new(@output, *args)
end