Class: Musa::Sequencer::Sequencer::DSLContext

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Includes:
Extension::With
Defined in:
lib/musa-dsl/sequencer/sequencer-dsl.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Extension::With

#with

Constructor Details

#initialize(sequencer, keep_block_context:) ⇒ DSLContext

Returns a new instance of DSLContext.



69
70
71
72
# File 'lib/musa-dsl/sequencer/sequencer-dsl.rb', line 69

def initialize(sequencer, keep_block_context:)
  @sequencer = sequencer
  @keep_block_context_on_with = keep_block_context
end

Instance Attribute Details

#sequencerObject (readonly)

Returns the value of attribute sequencer.



59
60
61
# File 'lib/musa-dsl/sequencer/sequencer-dsl.rb', line 59

def sequencer
  @sequencer
end

Instance Method Details

#at(*value_parameters, **key_parameters, &block) ⇒ Object



82
83
84
85
86
87
88
# File 'lib/musa-dsl/sequencer/sequencer-dsl.rb', line 82

def at(*value_parameters, **key_parameters, &block)
  block ||= proc {}

  @sequencer.at *value_parameters, **key_parameters do |*value_args, **key_args|
    with *value_args, **key_args, keep_block_context: @keep_block_context_on_with, &block
  end
end

#every(*value_parameters, **key_parameters, &block) ⇒ Object



113
114
115
116
117
118
119
120
# File 'lib/musa-dsl/sequencer/sequencer-dsl.rb', line 113

def every(*value_parameters, **key_parameters, &block)
  block ||= proc {}

  @sequencer.every *value_parameters, **key_parameters do |*value_args, **key_args|
    args = Musa::Extension::SmartProcBinder::SmartProcBinder.new(block)._apply(value_args, key_args)
    with *args.first, **args.last, keep_block_context: @keep_block_context_on_with, &block
  end
end

#move(*value_parameters, **key_parameters, &block) ⇒ Object



122
123
124
125
126
127
128
# File 'lib/musa-dsl/sequencer/sequencer-dsl.rb', line 122

def move(*value_parameters, **key_parameters, &block)
  block ||= proc {}

  @sequencer.move *value_parameters, **key_parameters do |*value_args, **key_args|
    with *value_args, **key_args, keep_block_context: @keep_block_context_on_with, &block
  end
end

#now(*value_parameters, **key_parameters, &block) ⇒ Object



74
75
76
77
78
79
80
# File 'lib/musa-dsl/sequencer/sequencer-dsl.rb', line 74

def now(*value_parameters, **key_parameters, &block)
  block ||= proc {}

  @sequencer.now *value_parameters, **key_parameters do |*value_args, **key_args|
    with *value_args, **key_args, keep_block_context: @keep_block_context_on_with, &block
  end
end

#play(*value_parameters, **key_parameters, &block) ⇒ Object



97
98
99
100
101
102
103
# File 'lib/musa-dsl/sequencer/sequencer-dsl.rb', line 97

def play(*value_parameters, **key_parameters, &block)
  block ||= proc {}

  @sequencer.play *value_parameters, **key_parameters do |*value_args, **key_args|
    with *value_args, **key_args, keep_block_context: @keep_block_context_on_with, &block
  end
end

#play_timed(*value_parameters, **key_parameters, &block) ⇒ Object



105
106
107
108
109
110
111
# File 'lib/musa-dsl/sequencer/sequencer-dsl.rb', line 105

def play_timed(*value_parameters, **key_parameters, &block)
  block ||= proc {}

  @sequencer.play_timed *value_parameters, **key_parameters do |*value_args, **key_args|
    with *value_args, **key_args, keep_block_context: @keep_block_context_on_with, &block
  end
end

#wait(*value_parameters, **key_parameters, &block) ⇒ Object



90
91
92
93
94
95
# File 'lib/musa-dsl/sequencer/sequencer-dsl.rb', line 90

def wait(*value_parameters, **key_parameters, &block)
  block ||= proc {}
  @sequencer.wait *value_parameters, **key_parameters do |*values, **key_values|
    with *values, **key_values, keep_block_context: @keep_block_context_on_with, &block
  end
end