Class: ArchUnit::Metrics::FluentApi::DistanceMetricsBuilder

Inherits:
Object
  • Object
show all
Includes:
MetricReportBuilder
Defined in:
lib/archunit/metrics/fluentapi/distance_metrics_builder.rb

Overview

Fluent distance metric names and architectural zone guards.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from MetricReportBuilder

#export_as_html

Constructor Details

#initialize(scope) ⇒ DistanceMetricsBuilder

Returns a new instance of DistanceMetricsBuilder.

Raises:

  • (ArgumentError)


17
18
19
20
21
22
# File 'lib/archunit/metrics/fluentapi/distance_metrics_builder.rb', line 17

def initialize(scope)
  raise ArgumentError, 'scope must be a MetricsBuilder' unless scope.is_a?(MetricsBuilder)

  @scope = scope
  freeze
end

Instance Attribute Details

#scopeObject (readonly)

Returns the value of attribute scope.



15
16
17
# File 'lib/archunit/metrics/fluentapi/distance_metrics_builder.rb', line 15

def scope
  @scope
end

Instance Method Details

#not_in_zone_of_painObject



30
31
32
# File 'lib/archunit/metrics/fluentapi/distance_metrics_builder.rb', line 30

def not_in_zone_of_pain
  ZoneCondition.new(scope:, zone: :pain)
end

#not_in_zone_of_uselessnessObject



34
35
36
# File 'lib/archunit/metrics/fluentapi/distance_metrics_builder.rb', line 34

def not_in_zone_of_uselessness
  ZoneCondition.new(scope:, zone: :uselessness)
end