Module: Chupacabra::System::Scripts
Defined Under Namespace
Classes: Error
Instance Method Summary collapse
- #compile(script, argument = nil) ⇒ Object
- #compile_all ⇒ Object
- #script_or_compile(script, argument = nil) ⇒ Object
Instance Method Details
#compile(script, argument = nil) ⇒ Object
19 20 21 22 23 24 |
# File 'lib/chupacabra/system/scripts.rb', line 19 def compile(script, argument = nil) script_body = self.send(*[script, argument].compact) raise Error, 'Empty script to compile' if script_body.empty? output = System.execute "osacompile -e '#{script_body}' -o #{script_file(script, argument)} 2> /dev/null" output if $?.success? end |
#compile_all ⇒ Object
8 9 10 11 12 13 14 15 16 17 |
# File 'lib/chupacabra/system/scripts.rb', line 8 def compile_all scripts_path.mkpath unless scripts_path.exist? clear_scripts [:front_app, :paste_clipboard, :alert, :ask_for_password].each do |script| compile(script) end Chupacabra::System::BROWSERS.each do |browser| compile(:get_browser_url, browser) end end |
#script_or_compile(script, argument = nil) ⇒ Object
26 27 28 29 30 31 |
# File 'lib/chupacabra/system/scripts.rb', line 26 def script_or_compile(script, argument = nil) file = script_file(script, argument) return file if File.exist?(file) compile(script, argument) or raise "Can't compile #{script}#{' with argument ' + argument if argument}" file end |