class SetVariableAction

MacroDroid Specific

Public Class Methods

new(obj=nil) click to toggle source
Calls superclass method MacroDroidAction::new
# File lib/ruby-macrodroid/actions.rb, line 2036
def initialize(obj=nil)
  
  h = if obj.is_a? Hash then
    obj
  elsif obj.is_a? Array
    e, macro = obj
    node = e.element('item/*')
    #puts ("node.name: %s node.value: %s" % [node.name, node.value]).debug
    r = macro.set_var node.name, node.value.to_s
    puts ('r: ' + r.inspect).debug if $debug
    r
    if r[:type] == 2 then
      { variable: {name: r[:name], type: r[:type]}, new_string_value: r[:string_value]
        }
    end
  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

Public Instance Methods

to_s(colour: false, indent: 0) click to toggle source
Calls superclass method MacroObject#to_s
# File lib/ruby-macrodroid/actions.rb, line 2077
  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
Also aliased as: to_summary
to_summary(colour: false, indent: 0)
Alias for: to_s