Module: Archsight::Resources

Defined in:
lib/archsight/resources.rb,
lib/archsight/resources/base.rb

Overview

Resources contains all resources to reflect the architecture assets

Defined Under Namespace

Classes: Analysis, ApplicationComponent, ApplicationInterface, ApplicationService, Base, BusinessActor, BusinessConstraint, BusinessProcess, BusinessProduct, BusinessRequirement, ComplianceEvidence, DataObject, Import, MotivationGoal, MotivationOutcome, MotivationStakeholder, StrategyCapability, TechnologyArtifact, TechnologyInterface, TechnologyNode, TechnologyService, TechnologySystemSoftware, View

Class Method Summary collapse

Class Method Details

.[](klass_name) ⇒ Object

Returns the class by name



24
25
26
# File 'lib/archsight/resources.rb', line 24

def self.[](klass_name)
  @resource_classes[klass_name.to_s]
end

.const_get(name) ⇒ Object

Get the constant by name (for backward compatibility with const_get)



34
35
36
# File 'lib/archsight/resources.rb', line 34

def self.const_get(name)
  @resource_classes[name.to_s] || super
end

.eachObject

Iterate over all resource class names (sorted)



29
30
31
# File 'lib/archsight/resources.rb', line 29

def self.each(&)
  @resource_classes.keys.sort.each(&)
end

.register(klass) ⇒ Object

Register a resource class



10
11
12
13
14
15
16
# File 'lib/archsight/resources.rb', line 10

def self.register(klass)
  # Skip anonymous classes (used in tests)
  return if klass.name.nil?

  name = klass.name.split("::").last
  @resource_classes[name] = klass
end

.resource_classesObject

Returns all registered resource classes



19
20
21
# File 'lib/archsight/resources.rb', line 19

def self.resource_classes
  @resource_classes
end