Class: Gurke::FeatureList::Filter
- Inherits:
-
Object
- Object
- Gurke::FeatureList::Filter
- Defined in:
- lib/gurke/feature_list.rb
Defined Under Namespace
Classes: TagFilter
Instance Attribute Summary collapse
-
#files ⇒ Object
readonly
Returns the value of attribute files.
-
#options ⇒ Object
readonly
Returns the value of attribute options.
Instance Method Summary collapse
- #filtered?(scenario) ⇒ Boolean
- #filtered_by_line?(scenario) ⇒ Boolean
- #filtered_by_tags?(scenario) ⇒ Boolean
-
#initialize(options, files) ⇒ Filter
constructor
A new instance of Filter.
- #tag_filters ⇒ Object
Constructor Details
#initialize(options, files) ⇒ Filter
61 62 63 64 |
# File 'lib/gurke/feature_list.rb', line 61 def initialize(, files) @options = @files = files end |
Instance Attribute Details
#files ⇒ Object (readonly)
Returns the value of attribute files.
59 60 61 |
# File 'lib/gurke/feature_list.rb', line 59 def files @files end |
#options ⇒ Object (readonly)
Returns the value of attribute options.
59 60 61 |
# File 'lib/gurke/feature_list.rb', line 59 def @options end |
Instance Method Details
#filtered?(scenario) ⇒ Boolean
72 73 74 |
# File 'lib/gurke/feature_list.rb', line 72 def filtered?(scenario) (scenario) || filtered_by_line?(scenario) end |
#filtered_by_line?(scenario) ⇒ Boolean
82 83 84 85 86 87 88 |
# File 'lib/gurke/feature_list.rb', line 82 def filtered_by_line?(scenario) _, lines = files.select{|f, _| f == scenario.file }.first return false if lines.empty? !lines.any?{|l| scenario.line <= l && scenario.steps.last.line >= l } end |
#filtered_by_tags?(scenario) ⇒ Boolean
76 77 78 79 80 |
# File 'lib/gurke/feature_list.rb', line 76 def (scenario) !tag_filters.reduce(false) do |memo, set| memo || set.all?{|rule| rule.match? scenario } end end |