Class: AeTestCoverage::Collectors::ActionView::AssetTagCollector

Inherits:
Object
  • Object
show all
Defined in:
lib/ae_test_coverage/collectors/action_view/asset_tag_collector.rb

Constant Summary collapse

@@action_view_hook_set =
false

Instance Method Summary collapse

Constructor Details

#initializeAssetTagCollector

Returns a new instance of AssetTagCollector.



11
12
13
14
15
16
17
18
# File 'lib/ae_test_coverage/collectors/action_view/asset_tag_collector.rb', line 11

def initialize
  unless @@action_view_hook_set
    ActiveSupport.on_load(:action_view) do
      prepend AeTestCoverage::Collectors::ActionView::AssetTagHelper
    end
    @@action_view_hook_set = true
  end
end

Instance Method Details

#add_covered_assets(*assets) ⇒ Object



24
25
26
# File 'lib/ae_test_coverage/collectors/action_view/asset_tag_collector.rb', line 24

def add_covered_assets(*assets)
  @covered_assets_collection&.merge(assets)
end

#covered_filesObject



28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/ae_test_coverage/collectors/action_view/asset_tag_collector.rb', line 28

def covered_files
  test_assets = Set.new(
    @covered_assets_collection.flat_map do |asset_path|
      AeTestCoverage.config.sprockets_asset_collector_class.new(asset_path).collect
    end
  )
  {}.tap do |coverage_data|
    test_assets.to_a.map do |asset_uri|
      coverage_data[URI.parse(asset_uri).path] = {asset: true}
    end
  end
end

#on_startObject



20
21
22
# File 'lib/ae_test_coverage/collectors/action_view/asset_tag_collector.rb', line 20

def on_start
  @covered_assets_collection = Set.new
end