module TerminalCommands

def self.can_open?

def self.can_open?
  (TerminalCommands.macosx? && `which open`.present?) ||
    (TerminalCommands.linux? && `which xdg-open`.present?)
end

def self.linux

def self.linux
  "linux"
end

def self.linux?

def self.linux?
  os == linux
end

def self.macosx

def self.macosx
  "darwin"
end

def self.macosx?

def self.macosx?
  os == macosx
end

def self.open_file_or_link(file_or_link, options = {})

def self.open_file_or_link(file_or_link, options = {})
  command = if macosx?
    "open"
  elsif linux?
    "xdg-open"
  end
  `#{command} #{file_or_link}`
end

def self.os

def self.os
  Gem::Platform.local.os
end