日常

ケ・セラ・セラ

pryでMac(pbcopy)とUbuntu(xsel)使い分けてコピーする術

RUBY_PLATFORM で判定する。

.pryrc にこんな感じに書いてつかっています。

Pry.config.commands.command "copy", "Copy last evaluated object to clipboard" do
  pbcopy _pry_.last_result.ai(:plain => true, :indent => 2, :index => false)
  output.puts "Copied!"
end

def pbcopy(str, opts = {})
  IO.popen(clipboard, 'r+') { |io| io.print str }
end

def clipboard
  if RUBY_PLATFORM.match(/darwin/)
    "pbcopy"
  else
    "xsel --clipboard --input"
  end
end