Repository is archived
No commit activity in last 3 years
No release in over 3 years
There's a lot of open issues
ZeroClipboard libary support for Rails
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

>= 3.1
 Project Readme

Zeroclipboard::Rails

Add the ZeroClipboard libary to your Rails app

Setup

Add this line to your application's Gemfile:

gem 'zeroclipboard-rails'

Then execute:

$ bundle

Add this line to your app/assets/javascripts/application.js file:

//= require zeroclipboard

Usage

For usage information, browser support see the ZeroClipboard documentation. The 'Setup' section can be skipped as this is covered by the Rails-specific instructions provided above.

Example (HTML, ERB)

Place the following in a plain HTML or ERB view file:

<div class='demo-area'>
  <button class='my_clip_button' data-clipboard-target='fe_text' data-clipboard-text='Default clipboard text from attribute' id='d_clip_button' title='Click me to copy to clipboard.'>
    <b>Copy To Clipboard...</b>
  </button>
  <h4>
    <label for='fe_text'>Change Copy Text Here</label>
  </h4>
  <textarea cols='50' id='fe_text' rows='3'>Copy me!</textarea>
  <h4>
    <label for='testarea'>Paste Text Here</label>
  </h4>
  <textarea cols='50' id='testarea' rows='3'></textarea>
  <p>
    <button id='clear-test'>Clear Test Area</button>
  </p>
</div>
<script>
  $(document).ready(function() {
    var clip = new ZeroClipboard($("#d_clip_button"))
  });

  $("#clear-test").on("click", function(){
    $("#fe_text").val("Copy me!");
    $("#testarea").val("");
  });
</script>

Example (HAML)

Place the following in a Haml view file:

.demo-area
  %button#d_clip_button.my_clip_button{"data-clipboard-target" => "fe_text", "data-clipboard-text" => "Default clipboard text from attribute", :title => "Click me to copy to clipboard."}
    %b Copy To Clipboard...
  %h4
    %label{:for => "fe_text"} Change Copy Text Here
  %textarea#fe_text{:cols => "50", :rows => "3"} Copy me!
  %h4
    %label{:for => "testarea"} Paste Text Here
  %textarea#testarea{:cols => "50", :rows => "3"}
  %p
    %button#clear-test Clear Test Area
:javascript
  $(document).ready(function() {
    var clip = new ZeroClipboard($("#d_clip_button"))
  });

  $("#clear-test").on("click", function(){
    $("#fe_text").val("Copy me!");
    $("#testarea").val("");
  });

Version mapping

This gem is merely a wrapper around ZeroClipboard. The mapping between the gem version and the version of the underlying ZeroClipboard code is as follows:

zeroclipboard-rails gem version ZeroClipboard version Notes
0.0.3 1.1.7 Includes workaround for CSS zoom bug
0.0.4 1.1.7 Includes workaround for CSS zoom bug
0.0.5 1.1.7 Includes workaround for CSS zoom bug
0.0.6 1.1.7 Includes workaround for CSS zoom bug
0.0.7 1.1.7 Includes workaround for CSS zoom bug
0.0.8 1.2.2
0.0.9 1.2.3
0.0.10 1.2.3
0.0.11 1.3.1
0.0.12 1.3.1 Fix deprecation warning - @markrickert
0.0.13 1.3.5
0.1.0 2.1.2 Switch to new zeroclipboard.js major version, see their releases
0.1.1 2.2.0

Credits

Credits entirely to the team behind ZeroClipboard

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request