Class: Mud::Module
- Inherits:
-
Object
- Object
- Mud::Module
- Defined in:
- lib/mud/module.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#content ⇒ Object
readonly
Returns the value of attribute content.
-
#context ⇒ Object
readonly
Returns the value of attribute context.
-
#dependencies ⇒ Object
readonly
Returns the value of attribute dependencies.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
Class Method Summary collapse
Instance Method Summary collapse
- #==(other) ⇒ Object
- #depends_on?(module_or_dependency) ⇒ Boolean
-
#initialize(name, content, context) ⇒ Module
constructor
A new instance of Module.
- #resolvable? ⇒ Boolean
- #to_s ⇒ Object
- #unresolvable_dependencies ⇒ Object
Constructor Details
#initialize(name, content, context) ⇒ Module
Returns a new instance of Module.
10 11 12 13 14 15 16 |
# File 'lib/mud/module.rb', line 10 def initialize(name, content, context) @name = self.class.parse_name(name) @content = content @context = context @dependencies = Mud::Dependency.analyze(content, context) end |
Instance Attribute Details
#content ⇒ Object (readonly)
Returns the value of attribute content.
4 5 6 |
# File 'lib/mud/module.rb', line 4 def content @content end |
#context ⇒ Object (readonly)
Returns the value of attribute context.
4 5 6 |
# File 'lib/mud/module.rb', line 4 def context @context end |
#dependencies ⇒ Object (readonly)
Returns the value of attribute dependencies.
4 5 6 |
# File 'lib/mud/module.rb', line 4 def dependencies @dependencies end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
4 5 6 |
# File 'lib/mud/module.rb', line 4 def name @name end |
Class Method Details
.parse_name(path_or_name) ⇒ Object
6 7 8 |
# File 'lib/mud/module.rb', line 6 def self.parse_name(path_or_name) File.basename(path_or_name).split(/\.js$/i).first end |
Instance Method Details
#==(other) ⇒ Object
22 23 24 |
# File 'lib/mud/module.rb', line 22 def ==(other) other.is_a?(self.class) and other.name == @name end |
#depends_on?(module_or_dependency) ⇒ Boolean
34 35 36 |
# File 'lib/mud/module.rb', line 34 def depends_on?(module_or_dependency) !!@dependencies.find { |d| d.name == module_or_dependency.name } end |
#resolvable? ⇒ Boolean
30 31 32 |
# File 'lib/mud/module.rb', line 30 def resolvable? @dependencies.all?(&:resolvable?) end |
#to_s ⇒ Object
18 19 20 |
# File 'lib/mud/module.rb', line 18 def to_s "#{self.class} #{@name}" end |
#unresolvable_dependencies ⇒ Object
26 27 28 |
# File 'lib/mud/module.rb', line 26 def unresolvable_dependencies @dependencies.select { |d| not d.resolvable? } end |