Module: Waddup::Extension::AppleScript
- Includes:
- System
- Included in:
- Source::AppleCalendar, Source::AppleCalendar, Source::AppleMail, Source::AppleMail
- Defined in:
- lib/waddup/extensions/applescript.rb
Instance Method Summary collapse
-
#applescript(script, options = {}) ⇒ Object
Runs given AppleScript on disk.
-
#applescript? ⇒ Boolean
Whether AppleScript is available.
Methods included from System
Instance Method Details
#applescript(script, options = {}) ⇒ Object
Runs given AppleScript on disk
Options:
:args (arguments to provide to the script)
:as_ruby (whether to eval results as Ruby)
13 14 15 16 17 18 19 20 |
# File 'lib/waddup/extensions/applescript.rb', line 13 def applescript(script, = {}) args = .delete(:args) || [] arguments = args.map { |arg| " '#{arg}'" }.join results = run("osascript -s s '#{script}'#{arguments}") # TODO: This is very scary, find alternatives! eval "[#{results[1...-1]}]" if .delete(:as_ruby) end |
#applescript? ⇒ Boolean
Whether AppleScript is available
23 24 25 26 27 |
# File 'lib/waddup/extensions/applescript.rb', line 23 def applescript? osx? && begin run('osalang', quietly: true).include? 'AppleScript' end end |