Class: ArchSpec::Component

Inherits:
Object
  • Object
show all
Defined in:
lib/archspec/model.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name) ⇒ Component

Returns a new instance of Component.



75
76
77
78
79
80
81
# File 'lib/archspec/model.rb', line 75

def initialize(name)
  @name = name.to_sym
  @files = Set.new
  @constants = Set.new
  @file_reasons = Hash.new { |hash, key| hash[key] = Set.new }
  @constant_reasons = Hash.new { |hash, key| hash[key] = Set.new }
end

Instance Attribute Details

#constant_reasonsObject (readonly)

Returns the value of attribute constant_reasons.



73
74
75
# File 'lib/archspec/model.rb', line 73

def constant_reasons
  @constant_reasons
end

#constantsObject (readonly)

Returns the value of attribute constants.



73
74
75
# File 'lib/archspec/model.rb', line 73

def constants
  @constants
end

#file_reasonsObject (readonly)

Returns the value of attribute file_reasons.



73
74
75
# File 'lib/archspec/model.rb', line 73

def file_reasons
  @file_reasons
end

#filesObject (readonly)

Returns the value of attribute files.



73
74
75
# File 'lib/archspec/model.rb', line 73

def files
  @files
end

#nameObject (readonly)

Returns the value of attribute name.



73
74
75
# File 'lib/archspec/model.rb', line 73

def name
  @name
end

Instance Method Details

#add_constant(name, reason: nil) ⇒ Object



88
89
90
91
# File 'lib/archspec/model.rb', line 88

def add_constant(name, reason: nil)
  constants.add(name)
  constant_reasons[name].add(reason) if reason
end

#add_file(path, reason: nil) ⇒ Object



83
84
85
86
# File 'lib/archspec/model.rb', line 83

def add_file(path, reason: nil)
  files.add(path)
  file_reasons[path].add(reason) if reason
end