Sha256: 5a0728c67d3eff08265dfcedd1cb5dcbc1cf6de9fa133113764bf5c288dbe765

Contents?: true

Size: 271 Bytes

Versions: 28

Compression:

Stored size: 271 Bytes

Contents

# encoding: utf-8

class PrioritySelector

  def add(element, priority)
    if @priority.nil? || priority > @priority || (priority == @priority && [true, false].sample)
      @element = element
      @priority = priority
    end
  end

  def pick
    @element
  end

end

Version data entries

28 entries across 28 versions & 1 rubygems

Version Path
liquid-ext-3.5.3 lib/liquid/priority_selector.rb
liquid-ext-3.5.2 lib/liquid/priority_selector.rb
liquid-ext-3.5.0 lib/liquid/priority_selector.rb
liquid-ext-3.4.2 lib/liquid/priority_selector.rb
liquid-ext-3.4.1 lib/liquid/priority_selector.rb
liquid-ext-3.4.0 lib/liquid/priority_selector.rb
liquid-ext-3.3.10 lib/liquid/priority_selector.rb
liquid-ext-3.3.9 lib/liquid/priority_selector.rb
liquid-ext-3.3.8 lib/liquid/priority_selector.rb
liquid-ext-3.3.7 lib/liquid/priority_selector.rb
liquid-ext-3.3.6 lib/liquid/priority_selector.rb
liquid-ext-3.3.5 lib/liquid/priority_selector.rb
liquid-ext-3.3.4 lib/liquid/priority_selector.rb
liquid-ext-3.3.3 lib/liquid/priority_selector.rb
liquid-ext-3.3.2 lib/liquid/priority_selector.rb
liquid-ext-3.3.0 lib/liquid/priority_selector.rb
liquid-ext-3.2.0 lib/liquid/priority_selector.rb
liquid-ext-3.1.2 lib/liquid/priority_selector.rb
liquid-ext-3.1.1 lib/liquid/priority_selector.rb
liquid-ext-3.1.0 lib/liquid/priority_selector.rb