Class: Fairy::PSelect
- Inherits:
-
PSingleExportFilter
- Object
- PFilter
- PIOFilter
- PSingleExportFilter
- Fairy::PSelect
- Defined in:
- lib/fairy/node/p-select.rb
Constant Summary
Constants included from PSingleExportable
Fairy::PSingleExportable::END_OF_STREAM, Fairy::PSingleExportable::ST_EXPORT_FINISH, Fairy::PSingleExportable::ST_WAIT_EXPORT_FINISH
Constants inherited from PIOFilter
Fairy::PIOFilter::ST_WAIT_IMPORT
Constants inherited from PFilter
Fairy::PFilter::END_OF_STREAM, Fairy::PFilter::ST_ACTIVATE, Fairy::PFilter::ST_FINISH, Fairy::PFilter::ST_INIT
Instance Attribute Summary
Attributes included from PSingleExportable
Attributes inherited from PFilter
#IGNORE_EXCEPTION, #id, #log_id, #ntask
Instance Method Summary collapse
-
#basic_each(&block) ⇒ Object
def start super do @map_proc = BBlock.new(@block_source, @context, self) @import.each do |e| if @map_proc.yield(e) @export.push e end end end end.
-
#initialize(id, ntask, bjob, opts, block_source) ⇒ PSelect
constructor
A new instance of PSelect.
Methods included from PSingleExportable
#start, #start_export, #terminate, #wait_export_finish
Methods inherited from PIOFilter
Methods inherited from PFilter
#abort_running, #basic_start, #break_running, #each, #global_break, #global_break_from_other, #handle_exception, #key, #key=, #next, #no, #no=, #notice_status, #processor, #start, #start_export, #start_watch_status, #status=, #terminate, #terminate_proc
Constructor Details
#initialize(id, ntask, bjob, opts, block_source) ⇒ PSelect
Returns a new instance of PSelect.
13 14 15 16 |
# File 'lib/fairy/node/p-select.rb', line 13 def initialize(id, ntask, bjob, opts, block_source) super @block_source = block_source end |
Instance Method Details
#basic_each(&block) ⇒ Object
def start
super do
@map_proc = BBlock.new(@block_source, @context, self) @import.each do |e| if @map_proc.yield(e) @export.push e end end
end
end
29 30 31 32 33 34 35 36 37 38 |
# File 'lib/fairy/node/p-select.rb', line 29 def basic_each(&block) @map_proc = BBlock.new(@block_source, @context, self) @input.each do |e| # if !(v = @map_proc.yield(e)) || v.kind_of?(Import::CTLTOKEN_NULLVALUE) if !(v = @map_proc.yield(e)) || Import::CTLTOKEN_NULLVALUE === v next end block.call e end end |