Class: EXEL::Job::Parser
- Inherits:
-
Object
- Object
- EXEL::Job::Parser
- Defined in:
- lib/exel/job.rb
Instance Attribute Summary collapse
-
#ast ⇒ Object
readonly
Returns the value of attribute ast.
Class Method Summary collapse
Instance Method Summary collapse
- #async(options = {}, &block) ⇒ Object
- #context ⇒ Object
-
#initialize ⇒ Parser
constructor
A new instance of Parser.
- #process(options, &block) ⇒ Object
- #split(options = {}, &block) ⇒ Object
Constructor Details
#initialize ⇒ Parser
Returns a new instance of Parser.
33 34 35 |
# File 'lib/exel/job.rb', line 33 def initialize @ast = SequenceNode.new end |
Instance Attribute Details
#ast ⇒ Object (readonly)
Returns the value of attribute ast.
31 32 33 |
# File 'lib/exel/job.rb', line 31 def ast @ast end |
Class Method Details
.parse(dsl_proc_or_code) ⇒ Object
37 38 39 40 41 42 43 44 45 |
# File 'lib/exel/job.rb', line 37 def self.parse(dsl_proc_or_code) parser = Parser.new if dsl_proc_or_code.is_a?(::Proc) parser.instance_eval(&dsl_proc_or_code) else parser.instance_eval(dsl_proc_or_code) end parser.ast end |
Instance Method Details
#async(options = {}, &block) ⇒ Object
52 53 54 |
# File 'lib/exel/job.rb', line 52 def async( = {}, &block) add_instruction_node('async', Processors::AsyncProcessor, block, ) end |
#context ⇒ Object
60 61 62 |
# File 'lib/exel/job.rb', line 60 def context DeferredContextValue.new end |
#process(options, &block) ⇒ Object
47 48 49 50 |
# File 'lib/exel/job.rb', line 47 def process(, &block) processor_class = .delete(:with) add_instruction_node('process', processor_class, block, ) end |
#split(options = {}, &block) ⇒ Object
56 57 58 |
# File 'lib/exel/job.rb', line 56 def split( = {}, &block) add_instruction_node('split', Processors::SplitProcessor, block, ) end |