Module: Chupacabra::System::Scripts

Extended by:
Scripts
Included in:
Scripts
Defined in:
lib/chupacabra/system/scripts.rb

Defined Under Namespace

Classes: Error

Instance Method Summary collapse

Instance Method Details

#compile(script, argument = nil) ⇒ Object

Raises:



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_allObject



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