Class: SayTimeAction

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

Overview

Category: Date/Time

Instance Attribute Summary

Attributes inherited from Action

#constraints

Attributes inherited from MacroObject

#options, #siguid, #type

Instance Method Summary collapse

Methods included from ObjectX

#action_to_object, #object_create, #varify

Methods inherited from MacroObject

#to_h

Constructor Details

#initialize(obj = nil) ⇒ SayTimeAction

Returns a new instance of SayTimeAction.



917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
# File 'lib/ruby-macrodroid/actions.rb', line 917

def initialize(obj=nil)
  
  h = if obj.is_a? Hash then
    obj
  elsif obj.is_a? Array
    
    e, macro = obj      
    {:'12_hour' => e.text('item/description').to_s[/^\d+/] == '12'}
    
  end 
  
  options = {
    :'12_hour' => true
  }

  super(options.merge h)

end

Instance Method Details

#invokeObject



936
937
938
939
940
941
# File 'lib/ruby-macrodroid/actions.rb', line 936

def invoke()
  #time = ($env and $env[:time]) ? $env[:time] : Time.now
  time = Time.now
  tformat = @h['12_hour'] ? "%-I:%M%P" : "%H:%M"
  super(txt: time.strftime(tformat))
end

#to_pcObject



943
944
945
# File 'lib/ruby-macrodroid/actions.rb', line 943

def to_pc()
  'say current_time()'
end

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



947
948
949
950
951
# File 'lib/ruby-macrodroid/actions.rb', line 947

def to_s(colour: false, indent: 0)
  @s = 'Say Current Time'
  @s += "\n%s hour clock" % (@h[:'12_hour'] ? '12' : '24')
  super()
end