Parent

Class Index [+]

Quicksearch

OrderedSet

Basically an Set, but with Order, ain’t that obivous?

Public Class Methods

[](*args) click to toggle source
    # File lib/ramaze/snippets/ordered_set.rb, line 8
 8:   def self.[](*args)
 9:     new(*args)
10:   end
new(*args) click to toggle source

Create new instances, optionally pass the first set

    # File lib/ramaze/snippets/ordered_set.rb, line 13
13:   def initialize(*args)
14:     if args.size == 1
15:       @set = args.shift
16:     else
17:       @set = *args
18:     end
19: 
20:     @set ||= []
21:     @set = [@set] unless ::Array === @set
22:     @set.uniq!
23:   end

Public Instance Methods

[]=(*args) click to toggle source
    # File lib/ramaze/snippets/ordered_set.rb, line 34
34:   def []= *args
35:     @set.map! do |e|
36:       if ::Array === args.last
37:         args.last.include?(e) ? nil : e
38:       else
39:         args.last == e ? nil : e
40:       end
41:     end
42:     @set.__send__(:[]=, *args)
43:     @set.compact!
44:   end
method_missing(meth, *args, &block) click to toggle source

Delegate everything, but controlled, keep elements unique. Warning, this is not really atomic.

    # File lib/ramaze/snippets/ordered_set.rb, line 48
48:   def method_missing(meth, *args, &block)
49:     @set.__send__(meth, *args, &block)
50:   end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.