Class: ActionFilter
- Inherits:
-
Object
show all
- Defined in:
- lib/extensions/mspec/mspec/runner/actions/filter.rb
Overview
ActionFilter is a base class for actions that are triggered by specs that match the filter. The filter may be specified by strings that match spec descriptions or by tags for strings that match spec descriptions.
Unlike TagFilter and RegexpFilter, ActionFilter instances do not affect the specs that are run. The filter is only used to trigger the action.
Instance Method Summary
collapse
Constructor Details
#initialize(tags = nil, descs = nil) ⇒ ActionFilter
Returns a new instance of ActionFilter.
13
14
15
16
17
|
# File 'lib/extensions/mspec/mspec/runner/actions/filter.rb', line 13
def initialize(tags=nil, descs=nil)
@tags = Array(tags)
descs = Array(descs)
@sfilter = MatchFilter.new(nil, *descs) unless descs.empty?
end
|
Instance Method Details
#===(string) ⇒ Object
19
20
21
|
# File 'lib/extensions/mspec/mspec/runner/actions/filter.rb', line 19
def ===(string)
@sfilter === string or @tfilter === string
end
|
23
24
25
26
27
28
29
30
31
|
# File 'lib/extensions/mspec/mspec/runner/actions/filter.rb', line 23
def load
@tfilter = nil
return if @tags.empty?
desc = MSpec.read_tags(@tags).map { |t| t.description }
return if desc.empty?
@tfilter = MatchFilter.new(nil, *desc)
end
|
33
34
35
|
# File 'lib/extensions/mspec/mspec/runner/actions/filter.rb', line 33
def register
MSpec.register :load, self
end
|
#unregister ⇒ Object
37
38
39
|
# File 'lib/extensions/mspec/mspec/runner/actions/filter.rb', line 37
def unregister
MSpec.unregister :load, self
end
|