feature_map 1.1.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,6 +2,8 @@
2
2
 
3
3
  # typed: strict
4
4
 
5
+ require 'csv'
6
+
5
7
  require 'feature_map/constants'
6
8
  require 'feature_map/private/extension_loader'
7
9
  require 'feature_map/private/cyclomatic_complexity_calculator'
@@ -9,6 +11,7 @@ require 'feature_map/private/lines_of_code_calculator'
9
11
  require 'feature_map/private/todo_inspector'
10
12
  require 'feature_map/private/feature_metrics_calculator'
11
13
  require 'feature_map/private/assignments_file'
14
+ require 'feature_map/private/assignment_applicator'
12
15
  require 'feature_map/private/metrics_file'
13
16
  require 'feature_map/private/glob_cache'
14
17
  require 'feature_map/private/feature_assigner'
@@ -38,6 +41,12 @@ module FeatureMap
38
41
  ]
39
42
  end
40
43
 
44
+ sig { params(assignments_file_path: String).void }
45
+ def self.apply_assignments!(assignments_file_path)
46
+ assignments = CSV.read(assignments_file_path)
47
+ AssignmentApplicator.apply_assignments!(assignments)
48
+ end
49
+
41
50
  sig { returns(Configuration) }
42
51
  def self.configuration
43
52
  @configuration ||= T.let(@configuration, T.nilable(Configuration))
data/lib/feature_map.rb CHANGED
@@ -22,6 +22,11 @@ module FeatureMap
22
22
  requires_ancestor { Kernel }
23
23
  GlobsToAssignedFeatureMap = T.type_alias { T::Hash[String, CodeFeatures::Feature] }
24
24
 
25
+ sig { params(assignments_file_path: String).void }
26
+ def apply_assignments!(assignments_file_path)
27
+ Private.apply_assignments!(assignments_file_path)
28
+ end
29
+
25
30
  sig { params(file: String).returns(T.nilable(CodeFeatures::Feature)) }
26
31
  def for_file(file)
27
32
  @for_file ||= T.let(@for_file, T.nilable(T::Hash[String, T.nilable(CodeFeatures::Feature)]))
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: feature_map
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Beyond Finance
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-01-30 00:00:00.000000000 Z
11
+ date: 2025-02-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: code_ownership
@@ -200,6 +200,7 @@ files:
200
200
  - lib/feature_map/mapper.rb
201
201
  - lib/feature_map/output_color.rb
202
202
  - lib/feature_map/private.rb
203
+ - lib/feature_map/private/assignment_applicator.rb
203
204
  - lib/feature_map/private/assignment_mappers/directory_assignment.rb
204
205
  - lib/feature_map/private/assignment_mappers/feature_definition_assignment.rb
205
206
  - lib/feature_map/private/assignment_mappers/feature_globs.rb