Class: Uniword::MacOSWordImplementation

Inherits:
WordImplementation show all
Defined in:
lib/uniword/word_implementation_macos.rb

Constant Summary collapse

WORD_APP_PATH =
"/Applications/Microsoft Word.app"
RESOURCES_PATH =
"/Applications/Microsoft Word.app/Contents/Resources"

Instance Method Summary collapse

Methods inherited from WordImplementation

#available_color_schemes, #available_font_schemes, #available_stylesets, #available_themes, detect

Instance Method Details

#cache_pathObject



37
38
39
# File 'lib/uniword/word_implementation_macos.rb', line 37

def cache_path
  File.expand_path("~/.uniword")
end

#color_schemes_pathObject



29
30
31
# File 'lib/uniword/word_implementation_macos.rb', line 29

def color_schemes_path
  File.join(RESOURCES_PATH, "Office Themes", "Theme Colors") if installed?
end

#font_schemes_pathObject



33
34
35
# File 'lib/uniword/word_implementation_macos.rb', line 33

def font_schemes_path
  File.join(RESOURCES_PATH, "Office Themes", "Theme Fonts") if installed?
end

#installed?Boolean

Returns:

  • (Boolean)


8
9
10
# File 'lib/uniword/word_implementation_macos.rb', line 8

def installed?
  File.directory?(WORD_APP_PATH)
end

#stylesets_pathObject



25
26
27
# File 'lib/uniword/word_implementation_macos.rb', line 25

def stylesets_path
  File.join(RESOURCES_PATH, "QuickStyles") if installed?
end

#themes_pathObject



21
22
23
# File 'lib/uniword/word_implementation_macos.rb', line 21

def themes_path
  File.join(RESOURCES_PATH, "Office Themes") if installed?
end

#versionObject



12
13
14
15
16
17
18
19
# File 'lib/uniword/word_implementation_macos.rb', line 12

def version
  return nil unless installed?

  plist = File.join(WORD_APP_PATH, "Contents", "Info.plist")
  return nil unless File.exist?(plist)

  `defaults read "#{WORD_APP_PATH}/Contents" CFBundleShortVersionString 2>/dev/null`.strip.presence
end