Class: UserChoices::ArbitraryArglist
- Inherits:
-
AbstractArglistStrategy
- Object
- AbstractArglistStrategy
- UserChoices::ArbitraryArglist
- Defined in:
- lib/user-choices/arglist-strategies.rb
Overview
The arglist is to be treated as a list, possibly with a Conversion that limits its length. It defers processing of an empty arglist until the last possible moment and only does it if there's no other value for the choice symbol.
Instance Attribute Summary
Attributes inherited from AbstractArglistStrategy
Instance Method Summary collapse
- #adjust(all_choices) ⇒ Object
- #apply_claimed_conversions ⇒ Object
- #claim_conversions(conversions_map) ⇒ Object
-
#fill(arglist) ⇒ Object
:nodoc:.
Methods inherited from AbstractArglistStrategy
#arglist_arity_error, #initialize
Constructor Details
This class inherits a constructor from UserChoices::AbstractArglistStrategy
Instance Method Details
#adjust(all_choices) ⇒ Object
118 119 120 121 122 123 124 125 |
# File 'lib/user-choices/arglist-strategies.rb', line 118 def adjust(all_choices) return if @value_holder[@choice] return if all_choices.has_key?(@choice) all_choices[@choice] = [] @value_holder[@choice] = all_choices[@choice] apply_length_check end |
#apply_claimed_conversions ⇒ Object
114 115 116 |
# File 'lib/user-choices/arglist-strategies.rb', line 114 def apply_claimed_conversions apply_length_check end |
#claim_conversions(conversions_map) ⇒ Object
110 111 112 |
# File 'lib/user-choices/arglist-strategies.rb', line 110 def claim_conversions(conversions_map) claim_length_check(conversions_map) end |
#fill(arglist) ⇒ Object
:nodoc:
106 107 108 |
# File 'lib/user-choices/arglist-strategies.rb', line 106 def fill(arglist) @value_holder[@choice] = arglist unless arglist.empty? end |