Class: ArchUnit::Layers::FluentApi::LayeredArchitecture
- Inherits:
-
Object
- Object
- ArchUnit::Layers::FluentApi::LayeredArchitecture
- Defined in:
- lib/archunit/layers/fluentapi/layered_architecture.rb
Overview
Immutable, executable named-layer dependency policy.
Instance Attribute Summary collapse
-
#allowed_dependencies ⇒ Object
readonly
Returns the value of attribute allowed_dependencies.
-
#forbidden_dependencies ⇒ Object
readonly
Returns the value of attribute forbidden_dependencies.
-
#layer_definitions ⇒ Object
readonly
Returns the value of attribute layer_definitions.
-
#project_locator ⇒ Object
readonly
Returns the value of attribute project_locator.
Instance Method Summary collapse
-
#initialize(project_locator: nil, layer_definitions: [], allowed_dependencies: {}, forbidden_dependencies: {}) ⇒ LayeredArchitecture
constructor
A new instance of LayeredArchitecture.
- #layer(name) ⇒ Object
- #where_layer(name) ⇒ Object
Methods included from Common::FluentApi::Checkable
Constructor Details
#initialize(project_locator: nil, layer_definitions: [], allowed_dependencies: {}, forbidden_dependencies: {}) ⇒ LayeredArchitecture
Returns a new instance of LayeredArchitecture.
26 27 28 29 30 31 32 33 34 35 |
# File 'lib/archunit/layers/fluentapi/layered_architecture.rb', line 26 def initialize( project_locator: nil, layer_definitions: [], allowed_dependencies: {}, forbidden_dependencies: {} ) @project_locator = immutable_project_locator(project_locator) @layer_definitions = immutable_layer_definitions(layer_definitions) @allowed_dependencies = immutable_dependency_map(allowed_dependencies) @forbidden_dependencies = immutable_dependency_map(forbidden_dependencies) freeze end |
Instance Attribute Details
#allowed_dependencies ⇒ Object (readonly)
Returns the value of attribute allowed_dependencies.
23 24 25 |
# File 'lib/archunit/layers/fluentapi/layered_architecture.rb', line 23 def allowed_dependencies @allowed_dependencies end |
#forbidden_dependencies ⇒ Object (readonly)
Returns the value of attribute forbidden_dependencies.
23 24 25 |
# File 'lib/archunit/layers/fluentapi/layered_architecture.rb', line 23 def forbidden_dependencies @forbidden_dependencies end |
#layer_definitions ⇒ Object (readonly)
Returns the value of attribute layer_definitions.
23 24 25 |
# File 'lib/archunit/layers/fluentapi/layered_architecture.rb', line 23 def layer_definitions @layer_definitions end |
#project_locator ⇒ Object (readonly)
Returns the value of attribute project_locator.
23 24 25 |
# File 'lib/archunit/layers/fluentapi/layered_architecture.rb', line 23 def project_locator @project_locator end |
Instance Method Details
#layer(name) ⇒ Object
37 38 39 |
# File 'lib/archunit/layers/fluentapi/layered_architecture.rb', line 37 def layer(name) LayerDefinitionBuilder.new(self, validated_layer_name(name)) end |
#where_layer(name) ⇒ Object
41 42 43 44 45 |
# File 'lib/archunit/layers/fluentapi/layered_architecture.rb', line 41 def where_layer(name) name = validated_layer_name(name) ensure_defined_layer!(name) LayerDependencyRuleBuilder.new(self, name) end |