class Splashy::Bucket
Private: Collects elements and maintains a count.
Attributes
name[R]
Public Class Methods
new( name )
click to toggle source
# File lib/splashy/bucket.rb, line 8 def initialize( name ) @name = name @elements = [] end
Public Instance Methods
<<( element )
click to toggle source
# File lib/splashy/bucket.rb, line 13 def <<( element ) @elements << element end
count()
click to toggle source
# File lib/splashy/bucket.rb, line 37 def count @elements.count end
elements( count = nil )
click to toggle source
# File lib/splashy/bucket.rb, line 17 def elements( count = nil ) if count @elements[0, count] else @elements end end
empty?()
click to toggle source
# File lib/splashy/bucket.rb, line 33 def empty? self.count == 0 end
random_elements( count = nil )
click to toggle source
# File lib/splashy/bucket.rb, line 25 def random_elements( count = nil ) if @elements.respond_to?( :sample ) @elements.sample( count ) else count ? @elements.sort_by{ rand }[0, count] : @elements.sort_by{ rand } end end