feature_map 1.2.8 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: addbdad7d39c22b44452e84d3217e810dcb4e9bbfa1c5676ea0872e3606c69d5
4
- data.tar.gz: c85b5d1e30bb11194b74c97a05b432141ab815f28b07e09791f4dec3853fd656
3
+ metadata.gz: 2884ba23322300d08303fe36c12905f55b5e1c09ef9448be9e1a8d093bb5f980
4
+ data.tar.gz: bfeaaede286478020203d1442be552db58a00a05668bc8aeca5a8e4555d11c16
5
5
  SHA512:
6
- metadata.gz: 8e0e106c8073cfa12cd8b92f8c7b9b982e57d66b12ee728662434afba3e17be0cd8ab4de665522187a5589ac6b144a29ead74da596419ea615dcf923fec409a0
7
- data.tar.gz: 6b15a1b7d543ef3212c61720f84220597d0f78140722121afb668eca5150198bb7fd3cad6dec153665637594babc0a5a9c58b60f924b4dde1fbc55f6f46c070d
6
+ metadata.gz: b16a793030fed72ee5ded687166df231a60d1c602ed543201dc84b00d20a48c0f5d31d37b0d31d97356e47f386742f9499330acae7950dd407a1a77b30b9f6b8
7
+ data.tar.gz: 2e84d7222ed3bf8e8d42e67994c223686ca8fd7e9bdaf8d34966464dea6b47e6323455a3392245deaca3713cdc37b080f40fd279603fd4e8d8b792258e751b8d
@@ -31,10 +31,10 @@ module FeatureMap
31
31
  .glob(File.join('**/', FEATURE_DIRECTORY_ASSIGNMENT_FILE_NAME))
32
32
  .map(&:cleanpath)
33
33
  .each_with_object({}) do |pathname, res|
34
- feature = feature_for_directory_assignment_file(pathname)
35
- glob = glob_for_directory_assignment_file(pathname)
36
- res[glob] = feature
37
- end
34
+ feature = feature_for_directory_assignment_file(pathname)
35
+ glob = glob_for_directory_assignment_file(pathname)
36
+ res[glob] = feature
37
+ end
38
38
  end
39
39
 
40
40
  def description
@@ -113,8 +113,8 @@ module FeatureMap
113
113
 
114
114
  def self.to_glob_cache
115
115
  raw_cache_contents = {}
116
- features_by_name = CodeFeatures.all.each_with_object({}) do |feature, map|
117
- map[feature.name] = feature
116
+ features_by_name = CodeFeatures.all.to_h do |feature|
117
+ [feature.name, feature]
118
118
  end
119
119
  mapper_descriptions = Set.new(Mapper.all.map(&:description))
120
120
 
@@ -1,8 +1,6 @@
1
1
  # @feature Metrics Calculation
2
2
  # frozen_string_literal: true
3
3
 
4
- require 'parser/current'
5
-
6
4
  module FeatureMap
7
5
  module Private
8
6
  class CyclomaticComplexityCalculator
@@ -17,6 +15,10 @@ module FeatureMap
17
15
  end
18
16
 
19
17
  def calculate
18
+ # Lazy load the parser gem only when we need to process AST nodes to avoid introducing unnecessary
19
+ # dependencies for use cases that do not exercise this functionality.
20
+ require 'parser/current'
21
+
20
22
  process(@ast)
21
23
  @complexity
22
24
  end