Class: ActiveScaffold::DataStructures::Actions
- Includes:
- Enumerable
- Defined in:
- lib/active_scaffold/data_structures/actions.rb
Instance Method Summary collapse
- #add(*args) ⇒ Object (also: #<<)
- #each ⇒ Object
- #exclude(*args) ⇒ Object
- #include?(val) ⇒ Boolean
-
#initialize(*args) ⇒ Actions
constructor
A new instance of Actions.
-
#swap(one, two) ⇒ Object
swaps one element in the list with the other.
Constructor Details
#initialize(*args) ⇒ Actions
Returns a new instance of Actions.
4 5 6 7 |
# File 'lib/active_scaffold/data_structures/actions.rb', line 4 def initialize(*args) @set = [] add(*args) end |
Instance Method Details
#add(*args) ⇒ Object Also known as: <<
14 15 16 |
# File 'lib/active_scaffold/data_structures/actions.rb', line 14 def add(*args) args.each { |arg| @set << arg.to_sym unless @set.include? arg.to_sym } end |
#each ⇒ Object
19 20 21 |
# File 'lib/active_scaffold/data_structures/actions.rb', line 19 def each @set.each { |item| yield item } end |
#exclude(*args) ⇒ Object
9 10 11 12 |
# File 'lib/active_scaffold/data_structures/actions.rb', line 9 def exclude(*args) args.collect!(&:to_sym) # symbolize the args @set.reject! { |m| args.include? m } # reject all actions specified end |
#include?(val) ⇒ Boolean
23 24 25 |
# File 'lib/active_scaffold/data_structures/actions.rb', line 23 def include?(val) val.is_a?(Symbol) ? super : @set.any? { |item| item.to_s == val.to_s } end |
#swap(one, two) ⇒ Object
swaps one element in the list with the other. accepts arguments in any order. it just figures out which one is in the list and which one is not.
29 30 31 32 33 34 35 36 37 |
# File 'lib/active_scaffold/data_structures/actions.rb', line 29 def swap(one, two) if include? one exclude one add two else exclude two add one end end |