Sha256: d55a8886ed5ed46d5fa685881e92e750cd46b1ffeea1a569b6f426c4d4b766ec
Contents?: true
Size: 1.35 KB
Versions: 2
Compression:
Stored size: 1.35 KB
Contents
require 'rbconfig' require File.dirname(__FILE__) + '/clipboard/version' module Clipboard extend self class ClipboardLoadError < Exception end unless defined? Ocra # see gh#9 autoload :Linux, 'clipboard/linux' autoload :Mac, 'clipboard/mac' autoload :Java, 'clipboard/java' autoload :Cygwin, 'clipboard/cygwin' end autoload :Windows, 'clipboard/windows' autoload :File, 'clipboard/file' 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 def self.implementation=(val) @implementation = val end def paste(*args) Clipboard.implementation.paste(*args) end def clear(*args) Clipboard.implementation.clear(*args) end def copy(*args) Clipboard.implementation.copy(*args) end end Clipboard.implementation
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
clipboard-1.1.2 | lib/clipboard.rb |
clipboard-1.1.1 | lib/clipboard.rb |