Class: Tableau::Module
- Inherits:
-
Object
- Object
- Tableau::Module
- Defined in:
- lib/tableau/module.rb
Instance Attribute Summary collapse
-
#classes ⇒ Object
readonly
Returns the value of attribute classes.
-
#module_id ⇒ Object
readonly
Returns the value of attribute module_id.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
Instance Method Summary collapse
-
#add_class(new_class) ⇒ Object
Add a class to the module.
-
#classes_for_day(day) ⇒ Object
Returns an array of all the classes for the day.
-
#earliest_class ⇒ Object
Returns the earliest class in the module.
-
#initialize(id, options = {}) ⇒ Module
constructor
A new instance of Module.
-
#latest_class ⇒ Object
Returns the latest class in the module.
Constructor Details
#initialize(id, options = {}) ⇒ Module
Returns a new instance of Module.
6 7 8 9 10 11 |
# File 'lib/tableau/module.rb', line 6 def initialize(id, = {}) @module_id = id @name = [:name] || '' @classes = [:classes] || Tableau::ClassArray.new end |
Instance Attribute Details
#classes ⇒ Object (readonly)
Returns the value of attribute classes.
4 5 6 |
# File 'lib/tableau/module.rb', line 4 def classes @classes end |
#module_id ⇒ Object (readonly)
Returns the value of attribute module_id.
4 5 6 |
# File 'lib/tableau/module.rb', line 4 def module_id @module_id end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
4 5 6 |
# File 'lib/tableau/module.rb', line 4 def name @name end |
Instance Method Details
#add_class(new_class) ⇒ Object
Add a class to the module
14 15 16 |
# File 'lib/tableau/module.rb', line 14 def add_class(new_class) @classes << new_class end |
#classes_for_day(day) ⇒ Object
Returns an array of all the classes for the day
19 20 21 22 23 |
# File 'lib/tableau/module.rb', line 19 def classes_for_day(day) days_classes = Tableau::ClassArray.new @classes.each { |c| days_classes << c if c.day == day } days_classes.count > 0 ? days_classes : nil end |
#earliest_class ⇒ Object
Returns the earliest class in the module
26 27 28 29 30 |
# File 'lib/tableau/module.rb', line 26 def earliest_class earliest = @classes.first @classes.each { |c| earliest = c if c.time < earliest.time } earliest end |
#latest_class ⇒ Object
Returns the latest class in the module
33 34 35 36 37 |
# File 'lib/tableau/module.rb', line 33 def latest_class latest = @classes.first @classes.each { |c| latest = c if c.time > latest.time } latest end |