Class: SetVariableAction

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

Overview

MacroDroid Specific

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 inherited from MacroObject

#to_h

Constructor Details

#initialize(obj = nil) ⇒ SetVariableAction

Returns a new instance of SetVariableAction.



1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
# File 'lib/ruby-macrodroid/actions.rb', line 1600

def initialize(obj=nil)
  
  h = if obj.is_a? Hash then
    obj
  elsif obj.is_a? Array
    e, macro = obj
    node = e.element('item/*')
    macro.set_var node.name, node.value.to_s
  end    
  
  options = {
    :user_prompt=>true, 
    :user_prompt_message=>"Please enter a word to see it reversed", 
    :user_prompt_show_cancel=>true, 
    :user_prompt_stop_after_cancel=>true, 
    :user_prompt_title=>"Word reverse",
    :name => 'word',
    :false_label=>"False", :int_expression=>false, :int_random=>false, 
    :int_random_max=>0, :int_random_min=>0, :int_value_decrement=>false, 
    :int_value_increment=>false, :new_boolean_value=>false, 
    :new_double_value=>0.0, :new_int_value=>0, 
    :new_string_value=>"[battery]", :true_label=>"True", 
    :user_prompt=>false, :user_prompt_show_cancel=>true, 
    :user_prompt_stop_after_cancel=>true, 
    :variable=>{
                :exclude_from_log=>false, :is_local=>true, 
                :boolean_value=>false, :decimal_value=>0.0, 
                :int_value=>0, :name=>"foo", :string_value=>"52", :type=>2
    }
  }
  super(options.merge h)
  
end

Instance Method Details

#to_s(colour: false, indent: 0) ⇒ Object Also known as: to_summary



1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
# File 'lib/ruby-macrodroid/actions.rb', line 1634

def to_s(colour: false, indent: 0)
  
  input = if @h[:user_prompt] then
    '[User Prompt]'
  elsif @h[:expression]
    @h[:expression]
  elsif @h[:int_value_increment]
    '(+1)'      
  elsif @h[:int_value_decrement]
    '(-1)'
  elsif @h[:int_random]
    "Random %d -> %d" % [@h[:int_random_min], @h[:int_random_max]]
  else

=begin      
      sym = case @h[:variable][:type]
      when 0 # boolean
        :new_boolean_value
      when 1 # integer
        :new_int_value
      when 2 # string
        :new_string_value
      when 3 # decimal
        :new_double_value
      end
      
      @h[sym].to_s
=end        
      a = %i(new_boolean_value new_int_value new_string_value new_double_value)
      @h[a[@h[:variable][:type]]].to_s

  end
  
  @s = 'Set Variable' + ("\n%s: " % @h[:variable][:name]) + input #+ @h.inspect
  super()
  
end