Class: LanguageCards::MenuNode
- Inherits:
-
Object
- Object
- LanguageCards::MenuNode
- Defined in:
- lib/language_cards/menu_node.rb
Instance Method Summary collapse
-
#initialize(name, child) ⇒ MenuNode
constructor
A new instance of MenuNode.
-
#label ⇒ Object
This is the preferred method for the view as this object shouldn’t care about how it should be displayed in the view.
-
#mode(game_mode) ⇒ Mode<CardSet> < Game>
Mode<CardSet> < Game>.
- #title(fmt = ' - ', rng = 0..-1)) ⇒ Object
- #to_s ⇒ Object
Constructor Details
#initialize(name, child) ⇒ MenuNode
Returns a new instance of MenuNode.
4 5 6 7 8 9 10 11 12 13 |
# File 'lib/language_cards/menu_node.rb', line 4 def initialize name, child @name = name if child.is_a?(Hash) and child.has_key?("mapping") @mapping = child.delete("mapping") # Extra unused data for the moment @child = CardSet.new(child) else @child = MenuNode.new(*child) end end |
Instance Method Details
#label ⇒ Object
This is the preferred method for the view as this object shouldn’t care about how it should be displayed in the view.
27 28 29 |
# File 'lib/language_cards/menu_node.rb', line 27 def label [@name].push(*child.label) end |
#mode(game_mode) ⇒ Mode<CardSet> < Game>
Returns Mode<CardSet> < Game>.
20 21 22 |
# File 'lib/language_cards/menu_node.rb', line 20 def mode(game_mode) child.mode(game_mode) end |
#title(fmt = ' - ', rng = 0..-1)) ⇒ Object
15 16 17 |
# File 'lib/language_cards/menu_node.rb', line 15 def title(fmt = ' - ', rng = 0..-1) label[rng].delete_if(&:empty?).join(fmt) end |
#to_s ⇒ Object
31 32 33 |
# File 'lib/language_cards/menu_node.rb', line 31 def to_s label.delete_if(&:empty?).join(' - ') end |