Class: Perennial::Manifest
Defined Under Namespace
Modules: Mixin
Constant Summary collapse
- @@manifest_mapping =
{}
Instance Attribute Summary collapse
-
#app_name ⇒ Object
Returns the value of attribute app_name.
-
#namespace ⇒ Object
Returns the value of attribute namespace.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(name, klass) ⇒ Manifest
constructor
A new instance of Manifest.
- #inspect ⇒ Object
Constructor Details
#initialize(name, klass) ⇒ Manifest
Returns a new instance of Manifest.
9 10 11 12 13 |
# File 'lib/perennial/manifest.rb', line 9 def initialize(name, klass) self.app_name = name self.namespace = klass @@manifest_mapping[klass.name] = self end |
Instance Attribute Details
#app_name ⇒ Object
Returns the value of attribute app_name.
7 8 9 |
# File 'lib/perennial/manifest.rb', line 7 def app_name @app_name end |
#namespace ⇒ Object
Returns the value of attribute namespace.
7 8 9 |
# File 'lib/perennial/manifest.rb', line 7 def namespace @namespace end |
Class Method Details
.[](klass) ⇒ Object
19 20 21 22 |
# File 'lib/perennial/manifest.rb', line 19 def self.[](klass) klass = klass.name if klass.respond_to?(:name) @@manifest_mapping[klass.split("::", 2).first] end |
.add_manifest(name, klass) ⇒ Object
24 25 26 |
# File 'lib/perennial/manifest.rb', line 24 def self.add_manifest(name, klass) self.new(name, klass) end |
Instance Method Details
#inspect ⇒ Object
15 16 17 |
# File 'lib/perennial/manifest.rb', line 15 def inspect "#<#{self.class.name} app_name: #{self.app_name.inspect}, namespace: #{self.namespace.inspect}>" end |