Class: ArchUnit::Metrics::Extraction::ProjectInfo

Inherits:
Data
  • Object
show all
Defined in:
lib/archunit/metrics/extraction/metric_info.rb

Overview

Complete immutable metric input for one located Ruby project.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(project_root:, files: []) ⇒ ProjectInfo

Returns a new instance of ProjectInfo.



145
146
147
148
149
150
151
# File 'lib/archunit/metrics/extraction/metric_info.rb', line 145

def initialize(project_root:, files: [])
  project_root = immutable_string(
    project_root, :project_root, normalize_path: true
  )
  files = immutable_values(files, FileInfo, :files)
  super
end

Instance Attribute Details

#filesObject (readonly)

Returns the value of attribute files

Returns:

  • (Object)

    the current value of files



142
143
144
# File 'lib/archunit/metrics/extraction/metric_info.rb', line 142

def files
  @files
end

#project_rootObject (readonly)

Returns the value of attribute project_root

Returns:

  • (Object)

    the current value of project_root



142
143
144
# File 'lib/archunit/metrics/extraction/metric_info.rb', line 142

def project_root
  @project_root
end

Instance Method Details

#classesObject



153
154
155
# File 'lib/archunit/metrics/extraction/metric_info.rb', line 153

def classes
  files.flat_map(&:class_infos).freeze
end