# clipboard-rails [![Gem Version](https://badge.fury.io/rb/clipboard-rails.svg)](http://badge.fury.io/rb/clipboard-rails) clipboard-rails gem is the integration of clipboard.js javascript library for your Rails 4 and Rails 5 applications. clipboard.js is a modern approach to copy text to clipboard No Flash. No dependencies. Just 2kb source: https://github.com/zenorocha/clipboard.js Ruby gems url: https://rubygems.org/gems/clipboard-rails ## Installation Add this line to your application's Gemfile: ```ruby gem 'clipboard-rails' ``` And then execute: $ bundle Or install it yourself as: $ gem install clipboard-rails Note: After adding the gem to your gem file and running the bundle, restart rails server. Now you need to edit your `app/assets/javascripts/application.js` file and add the following line: ``` javascript //= require clipboard ``` ## Usage Here is the example working code to test with your Rails application. Add this sample code to your `app/assets/javascripts/application.js` file ``` javascript $(document).ready(function(){ var clipboard = new Clipboard('.clipboard-btn'); console.log(clipboard); }); ``` *Note:* Here i am using `gem 'jquery-turbolinks'` for using the jquery $(document).ready function Add this sample code to your template file like `index.html.erb` ``` html ``` ## Additional information Additionally, you can define a **data-clipboard-action** attribute to specify if you want to either **copy** or **cut** content. If you omit this attribute, **copy** will be used by default. ## Full documentation Read the clipboard.js documentation here http://zenorocha.github.io/clipboard.js/ for full usage information. ## Add Tooltips + Highlight animation: Add Tooltips + Highlight animation with Clipboard.js on button click using Bootstrap Tooltip ``` javascript // Tooltip $('.clipboard-btn').tooltip({ trigger: 'click', placement: 'bottom' }); function setTooltip(btn, message) { $(btn).tooltip('hide') .attr('data-original-title', message) .tooltip('show'); } function hideTooltip(btn) { setTimeout(function() { $(btn).tooltip('hide'); }, 1000); } // Clipboard var clipboard = new Clipboard('.clipboard-btn'); clipboard.on('success', function(e) { setTooltip(e.trigger, 'Copied!'); hideTooltip(e.trigger); }); clipboard.on('error', function(e) { setTooltip(e.trigger, 'Failed!'); hideTooltip(e.trigger); }); ``` ``` html ``` ``` html ``` ## Development After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake false` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment. To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org). ## Contributing Bug reports and pull requests are welcome on GitHub at https://github.com/sadiqmmm/clipboard-rails. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct. ## License The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).