Module: Clipboard

Extended by:
Clipboard
Included in:
Clipboard
Defined in:
lib/clipboard.rb,
lib/clipboard/mac.rb,
lib/clipboard/file.rb,
lib/clipboard/java.rb,
lib/clipboard/linux.rb,
lib/clipboard/cygwin.rb,
lib/clipboard/version.rb,
lib/clipboard/windows.rb

Defined Under Namespace

Modules: Cygwin, File, Java, Linux, Mac, Windows Classes: ClipboardLoadError

Constant Summary collapse

VERSION =
"1.1.0"

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.implementationObject



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/clipboard.rb', line 19

def self.implementation
return @implementation if @implementation

  os = case RbConfig::CONFIG['host_os']
  when /mac|darwin/        then :Mac
  when /linux|bsd/         then :Linux
  when /mswin|mingw/       then :Windows
  when /cygwin/            then :Cygwin
  # when /solaris|sunos/     then :Linux # needs testing..
  else
    raise ClipboardLoadError, "Your OS(#{ RbConfig::CONFIG['host_os'] }) is not supported, using file-based (fake) clipboard"
  end

  @implementation = Clipboard.const_get os
rescue ClipboardLoadError => e
  $stderr.puts e.message if $VERBOSE
  @implementation = Clipboard::File
end

.implementation=(val) ⇒ Object



38
39
40
# File 'lib/clipboard.rb', line 38

def self.implementation=(val)
  @implementation = val
end

Instance Method Details

#clear(*args) ⇒ Object



46
47
48
# File 'lib/clipboard.rb', line 46

def clear(*args)
  Clipboard.implementation.clear(*args)
end

#copy(*args) ⇒ Object



50
51
52
# File 'lib/clipboard.rb', line 50

def copy(*args)
  Clipboard.implementation.copy(*args)
end

#paste(*args) ⇒ Object



42
43
44
# File 'lib/clipboard.rb', line 42

def paste(*args)
  Clipboard.implementation.paste(*args)
end