Class: RSpec::Covers::Declaration
- Inherits:
-
Object
- Object
- RSpec::Covers::Declaration
- Defined in:
- lib/rspec/covers/declaration.rb
Defined Under Namespace
Classes: Resolver
Instance Attribute Summary collapse
-
#covers ⇒ Object
readonly
Returns the value of attribute covers.
-
#unresolved ⇒ Object
readonly
Returns the value of attribute unresolved.
-
#uses ⇒ Object
readonly
Returns the value of attribute uses.
Class Method Summary collapse
Instance Method Summary collapse
- #declared? ⇒ Boolean
-
#initialize(covers:, uses:, unresolved: []) ⇒ Declaration
constructor
A new instance of Declaration.
- #locations ⇒ Object
- #regions ⇒ Object
Constructor Details
#initialize(covers:, uses:, unresolved: []) ⇒ Declaration
Returns a new instance of Declaration.
14 15 16 17 18 |
# File 'lib/rspec/covers/declaration.rb', line 14 def initialize(covers:, uses:, unresolved: []) @covers = covers @uses = uses @unresolved = unresolved end |
Instance Attribute Details
#covers ⇒ Object (readonly)
Returns the value of attribute covers.
12 13 14 |
# File 'lib/rspec/covers/declaration.rb', line 12 def covers @covers end |
#unresolved ⇒ Object (readonly)
Returns the value of attribute unresolved.
12 13 14 |
# File 'lib/rspec/covers/declaration.rb', line 12 def unresolved @unresolved end |
#uses ⇒ Object (readonly)
Returns the value of attribute uses.
12 13 14 |
# File 'lib/rspec/covers/declaration.rb', line 12 def uses @uses end |
Class Method Details
.from_example(example, config) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/rspec/covers/declaration.rb', line 20 def self.from_example(example, config) resolver = Resolver.new(config) covers = MetadataReader.declarations_for(example, :covers) uses = MetadataReader.declarations_for(example, :uses) new( covers: covers.flat_map { |item| resolver.resolve(item) }, uses: uses.flat_map { |item| resolver.resolve(item) }, unresolved: resolver.unresolved ) end |
Instance Method Details
#declared? ⇒ Boolean
32 33 34 |
# File 'lib/rspec/covers/declaration.rb', line 32 def declared? covers.any? || uses.any? end |
#locations ⇒ Object
40 41 42 43 44 |
# File 'lib/rspec/covers/declaration.rb', line 40 def locations regions.each_with_object(Set.new) do |region, set| set.merge(region.locations) end end |
#regions ⇒ Object
36 37 38 |
# File 'lib/rspec/covers/declaration.rb', line 36 def regions covers + uses end |