Class: Cdss::Models::Analysis
- Inherits:
-
Object
- Object
- Cdss::Models::Analysis
show all
- Defined in:
- lib/cdss/models/analysis.rb
Overview
Base class for analysis-related models with shared functionality. Provides dynamic attribute handling for call analysis, source routes, and route analysis data.
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(**kwargs) ⇒ Analysis
Returns a new instance of Analysis.
24
25
26
27
28
29
|
# File 'lib/cdss/models/analysis.rb', line 24
def initialize(**kwargs)
kwargs[:metadata] ||= {}
self.class.attribute_list.each do |attr|
instance_variable_set(:"@#{attr}", kwargs[attr]) if kwargs.key?(attr)
end
end
|
Class Method Details
.attribute_list ⇒ Object
19
20
21
|
# File 'lib/cdss/models/analysis.rb', line 19
def attribute_list
@attributes || []
end
|
.attributes(*attrs) ⇒ Object
10
11
12
13
|
# File 'lib/cdss/models/analysis.rb', line 10
def attributes(*attrs)
@attributes = attrs
attr_accessor(*attrs)
end
|
.inherited(subclass) ⇒ Object
15
16
17
|
# File 'lib/cdss/models/analysis.rb', line 15
def inherited(subclass)
subclass.attributes(*@attributes) if @attributes
end
|