class Trigger
This file contains the following classes:
## Trigger classes Trigger WebHookTrigger WifiConnectionTrigger ApplicationInstalledRemovedTrigger ApplicationLaunchedTrigger BatteryLevelTrigger BatteryTemperatureTrigger PowerButtonToggleTrigger ExternalPowerTrigger CallActiveTrigger IncomingCallTrigger OutgoingCallTrigger CallEndedTrigger CallMissedTrigger IncomingSMSTrigger WebHookTrigger WifiConnectionTrigger BluetoothTrigger HeadphonesTrigger SignalOnOffTrigger UsbDeviceConnectionTrigger WifiSSIDTrigger CalendarTrigger TimerTrigger StopwatchTrigger DayTrigger RegularIntervalTrigger DeviceEventsTrigger AirplaneModeTrigger AutoSyncChangeTrigger DayDreamTrigger DockTrigger FailedLoginTrigger GPSEnabledTrigger MusicPlayingTrigger DeviceUnlockedTrigger AutoRotateChangeTrigger ClipboardChangeTrigger BootTrigger IntentReceivedTrigger NotificationTrigger ScreenOnOffTrigger SilentModeTrigger WeatherTrigger GeofenceTrigger SunriseSunsetTrigger SensorsTrigger ActivityRecognitionTrigger ProximityTrigger ShakeDeviceTrigger FlipDeviceTrigger OrientationTrigger FloatingButtonTrigger ShortcutTrigger VolumeButtonTrigger MediaButtonPressedTrigger SwipeTrigger
Attributes
constraints[R]
Public Class Methods
new(h={})
click to toggle source
Calls superclass method
MacroObject::new
# File lib/ruby-macrodroid/triggers.rb, line 36 def initialize(h={}) super({fakeIcon: 0}.merge(h)) @list << 'fakeIcon' # fetch the constraints @constraints = @h[:constraint_list].map do |constraint| object(constraint.to_snake_case) end end
Public Instance Methods
match?(detail={}, model=nil)
click to toggle source
# File lib/ruby-macrodroid/triggers.rb, line 47 def match?(detail={}, model=nil) # only match where the key exists in the trigger object detail.select {|k,v| @h.include? k }.all? {|key,value| @h[key] == value} end
to_s(colour: false)
click to toggle source
Calls superclass method
MacroObject#to_s
# File lib/ruby-macrodroid/triggers.rb, line 54 def to_s(colour: false) h = @h.clone h.delete :macro @s ||= "#<%s %s>" % [self.class, h.inspect] operator = @h[:is_or_condition] ? 'OR' : 'AND' constraints = @constraints.map \ {|x| 'c: ' + x.to_summary(colour: colour, indent: 1)}.join(" %s " % operator) @constraints.any? ? @s + "\n" + constraints : @s super() end