Module: WebConsole

Defined in:
lib/webconsole.rb,
lib/webconsole/lib/view.rb,
lib/webconsole/lib/logger.rb,
lib/webconsole/lib/module.rb,
lib/webconsole/lib/window.rb,
lib/webconsole/lib/view/erb.rb,
lib/webconsole/lib/constants.rb,
lib/webconsole/lib/controller.rb,
lib/webconsole/lib/view/resources.rb,
lib/webconsole/lib/view/javascript.rb

Defined Under Namespace

Modules: Dependencies, REPL Classes: Controller, Logger, View, Window

Constant Summary collapse

LOAD_PLUGIN_SCRIPT =
File.join(APPLESCRIPT_DIRECTORY, "load_plugin.scpt")
EXISTS_SCRIPT =
File.join(APPLESCRIPT_DIRECTORY, "exists.scpt")
RUN_PLUGIN_SCRIPT =
File.join(APPLESCRIPT_DIRECTORY, "run_plugin.scpt")
PLUGIN_HAS_WINDOWS_SCRIPT =
File.join(APPLESCRIPT_DIRECTORY, "plugin_has_windows.scpt")
WINDOW_ID_FOR_PLUGIN_SCRIPT =
File.join(APPLESCRIPT_DIRECTORY, "window_id_for_plugin.scpt")
RESOURCE_PATH_FOR_PLUGIN_SCRIPT =

Shared Resources

File.join(APPLESCRIPT_DIRECTORY, "resource_path_for_plugin.scpt")
SHARED_RESOURCES_PLUGIN_NAME =

Shared Resource Path

"Shared Resources"
SHARED_TEST_RESOURCES_PLUGIN_NAME =
"Shared Test Resources"
RESOURCE_URL_FOR_PLUGIN_SCRIPT =

Shared Resource URL

File.join(APPLESCRIPT_DIRECTORY, "resource_url_for_plugin.scpt")
PLUGIN_READ_FROM_STANDARD_INPUT_SCRIPT =
File.join(APPLESCRIPT_DIRECTORY, "plugin_read_from_standard_input.scpt")
PLUGIN_NAME_KEY =

Keys

'WC_PLUGIN_NAME'
WINDOW_ID_KEY =
'WC_WINDOW_ID'
SHARED_RESOURCES_PATH_KEY =
'WC_SHARED_RESOURCES_PATH'
SHARED_RESOURCES_URL_KEY =
'WC_SHARED_RESOURCES_URL'
APPLESCRIPT_DIRECTORY =

Directories

File.join(File.dirname(__FILE__), "..", "..", "applescript")

Class Method Summary collapse

Class Method Details

.application_existsObject



9
10
11
12
13
14
15
16
17
# File 'lib/webconsole/lib/module.rb', line 9

def self.application_exists
  result = self.run_applescript(EXISTS_SCRIPT)
  result.chomp!
  if result == "true"
    return true
  else
    return false
  end
end

.load_plugin(path) ⇒ Object



4
5
6
# File 'lib/webconsole/lib/module.rb', line 4

def self.load_plugin(path)
  self.run_applescript(LOAD_PLUGIN_SCRIPT, [path])
end

.plugin_has_windows(name) ⇒ Object



32
33
34
35
36
37
38
39
40
# File 'lib/webconsole/lib/module.rb', line 32

def self.plugin_has_windows(name)
  result = self.run_applescript(PLUGIN_HAS_WINDOWS_SCRIPT, [name])
  result.chomp!
  if result == "true"
    return true
  else
    return false
  end
end

.plugin_read_from_standard_input(name, text) ⇒ Object



90
91
92
# File 'lib/webconsole/lib/module.rb', line 90

def self.plugin_read_from_standard_input(name, text)
  self.run_applescript(PLUGIN_READ_FROM_STANDARD_INPUT_SCRIPT, [name, text])
end

.resource_path_for_plugin(name) ⇒ Object



52
53
54
55
56
# File 'lib/webconsole/lib/module.rb', line 52

def self.resource_path_for_plugin(name)
  result = self.run_applescript(RESOURCE_PATH_FOR_PLUGIN_SCRIPT, [name])
  result.chomp!
  return result
end

.resource_url_for_plugin(name) ⇒ Object



79
80
81
82
83
# File 'lib/webconsole/lib/module.rb', line 79

def self.resource_url_for_plugin(name)
  result = self.run_applescript(RESOURCE_URL_FOR_PLUGIN_SCRIPT, [name])
  result.chomp!
  return result
end

.run_applescript(script, arguments = nil) ⇒ Object



96
97
98
99
100
101
102
103
104
105
106
107
# File 'lib/webconsole/lib/module.rb', line 96

def self.run_applescript(script, arguments = nil)
  command = "osascript #{Shellwords.escape(script)}"
  if arguments
    arguments.each { |argument|
      if argument
        argument = argument.to_s
        command = command + " " + Shellwords.escape(argument)
      end
    }
  end
  return `#{command}`
end

.run_plugin(name, directory = nil, arguments = nil) ⇒ Object



20
21
22
23
24
25
26
27
28
29
# File 'lib/webconsole/lib/module.rb', line 20

def self.run_plugin(name, directory = nil, arguments = nil)
  parameters = [name]
  if directory
    parameters.push(directory)
  end
  if arguments
    parameters = parameters + arguments
  end
  self.run_applescript(RUN_PLUGIN_SCRIPT, parameters)
end

.shared_resource(resource) ⇒ Object



69
70
71
# File 'lib/webconsole/lib/module.rb', line 69

def self.shared_resource(resource)
  return File.join(self.shared_resources_path, resource)
end

.shared_resources_pathObject



62
63
64
# File 'lib/webconsole/lib/module.rb', line 62

def self.shared_resources_path
  return resource_path_for_plugin(SHARED_RESOURCES_PLUGIN_NAME)
end

.shared_resources_urlObject



84
85
86
# File 'lib/webconsole/lib/module.rb', line 84

def self.shared_resources_url
  return resource_url_for_plugin(SHARED_RESOURCES_PLUGIN_NAME)
end

.shared_test_resource(resource) ⇒ Object



72
73
74
# File 'lib/webconsole/lib/module.rb', line 72

def self.shared_test_resource(resource)
  return File.join(self.shared_test_resources_path, resource)    
end

.shared_test_resources_pathObject



65
66
67
# File 'lib/webconsole/lib/module.rb', line 65

def self.shared_test_resources_path
  return resource_path_for_plugin(SHARED_TEST_RESOURCES_PLUGIN_NAME)
end

.window_id_for_plugin(name) ⇒ Object



43
44
45
46
47
# File 'lib/webconsole/lib/module.rb', line 43

def self.window_id_for_plugin(name)
  result = self.run_applescript(WINDOW_ID_FOR_PLUGIN_SCRIPT, [name])
  result.chomp!
  return result
end