Class: Repla::Window

Inherits:
Object
  • Object
show all
Defined in:
lib/repla/lib/window.rb

Overview

Window

Direct Known Subclasses

View

Constant Summary collapse

LOAD_SCRIPT =

Web

File.join(APPLESCRIPT_DIRECTORY, 'load.scpt')
LOADWITHROOTACCESSDIRECTORY_SCRIPT =
File.join(
  APPLESCRIPT_DIRECTORY, 'load_with_root_access_directory.scpt'
)
LOAD_URL_SCRIPT =
File.join(APPLESCRIPT_DIRECTORY, 'load_url.scpt')
LOAD_URL_CACHE_SCRIPT =
File.join(APPLESCRIPT_DIRECTORY,
'load_url_clearing_cache.scpt')
DOJAVASCRIPT_SCRIPT =
File.join(APPLESCRIPT_DIRECTORY, 'do_javascript.scpt')
READ_FROM_STANDARD_INPUT_SCRIPT =
File.join(APPLESCRIPT_DIRECTORY,
'read_from_standard_input.scpt')
CLOSEWINDOW_SCRIPT =

Window

File.join(APPLESCRIPT_DIRECTORY, 'close_window.scpt')

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(window_id = nil) ⇒ Window

Returns a new instance of Window.



7
8
9
# File 'lib/repla/lib/window.rb', line 7

def initialize(window_id = nil)
  @window_id = window_id
end

Instance Attribute Details

#root_access_directory_pathObject

Returns the value of attribute root_access_directory_path.



6
7
8
# File 'lib/repla/lib/window.rb', line 6

def root_access_directory_path
  @root_access_directory_path
end

Instance Method Details

#closeObject



71
72
73
# File 'lib/repla/lib/window.rb', line 71

def close
  Repla.run_applescript(CLOSEWINDOW_SCRIPT, [window_id])
end

#dark_modeObject



18
19
20
21
# File 'lib/repla/lib/window.rb', line 18

def dark_mode
  key = DARK_MODE_KEY
  @dark_mode ||= ENV.key?(key) ? ENV[key].to_i > 0 : false
end

#do_javascript(javascript) ⇒ Object



58
59
60
# File 'lib/repla/lib/window.rb', line 58

def do_javascript(javascript)
  run_script(DOJAVASCRIPT_SCRIPT, [javascript])
end

#load_file(file) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/repla/lib/window.rb', line 29

def load_file(file)
  arguments = [file]

  script = LOAD_SCRIPT

  if @root_access_directory_path
    script = LOADWITHROOTACCESSDIRECTORY_SCRIPT
    arguments.push(@root_access_directory_path)
  end

  run_script(script, arguments)
end

#load_url(url, options = {}) ⇒ Object



45
46
47
48
49
50
51
52
53
54
55
# File 'lib/repla/lib/window.rb', line 45

def load_url(url, options = {})
  arguments = [url]
  should_clear_cache = options[:should_clear_cache]
  script = if should_clear_cache.nil?
             LOAD_URL_SCRIPT
           else
             arguments.push(should_clear_cache)
             LOAD_URL_CACHE_SCRIPT
           end
  run_script(script, arguments)
end

#read_from_standard_input(text) ⇒ Object



64
65
66
# File 'lib/repla/lib/window.rb', line 64

def read_from_standard_input(text)
  run_script(READ_FROM_STANDARD_INPUT_SCRIPT, [text])
end

#split_idObject



75
76
77
# File 'lib/repla/lib/window.rb', line 75

def split_id
  Repla.split_id_in_window(window_id)
end

#split_id_lastObject



79
80
81
# File 'lib/repla/lib/window.rb', line 79

def split_id_last
  Repla.split_id_in_window_last(window_id)
end

#window_idObject

Properties



13
14
15
16
# File 'lib/repla/lib/window.rb', line 13

def window_id
  key = WINDOW_ID_KEY
  @window_id ||= ENV.key?(key) ? ENV[key] : Repla.create_window
end