Class: LoopAction

Inherits:
Action show all
Defined in:
lib/ruby-macrodroid/actions.rb

Overview

Conditions/Loops

Instance Attribute Summary

Attributes inherited from Action

#constraints

Attributes inherited from MacroObject

#options, #siguid, #type

Instance Method Summary collapse

Methods inherited from Action

#invoke

Methods included from ObjectX

#action_to_object, #object_create, #varify

Methods inherited from MacroObject

#to_h

Constructor Details

#initialize(h = {}) ⇒ LoopAction

Returns a new instance of LoopAction.



345
346
347
348
349
350
351
352
353
354
355
356
357
# File 'lib/ruby-macrodroid/actions.rb', line 345

def initialize(h={})
  
  options = {

  }
  
  h2 = options.merge(h)

  super(h2)
  
  @label = 'DO / WHILE '

end

Instance Method Details

#to_s(colour: false, indent: 0) ⇒ Object



359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
# File 'lib/ruby-macrodroid/actions.rb', line 359

def to_s(colour: false, indent: 0)
  
  h = @h.clone    
  h.delete :macro
  @s = 'DO / WHILE '
  operator = @h[:is_or_condition] ? 'OR' : 'AND'
  constraints = @constraints.map \
      {|x| '  ' * indent + x.to_summary(colour: colour)}.join(" %s " % operator)    
  
  out = []
  out << "; %s" % @h[:comment] if @h[:comment]
  s = @s.lines.map {|x| ('  ' * indent) + x}.join
  out << s + constraints
  out.join("\n")
  
end