class Concurrent::Channel::Selector::TakeClause

Public Class Methods

new(channel, block) click to toggle source
# File lib/concurrent/channel/selector/take_clause.rb, line 9
def initialize(channel, block)
  @channel = channel
  @block = block
end

Public Instance Methods

execute() click to toggle source
# File lib/concurrent/channel/selector/take_clause.rb, line 14
def execute
  if (result = @channel.poll?).just?
    Concurrent::Maybe.just(@block.call(result.value))
  else
    Concurrent::Maybe.nothing
  end
end