zeroclipboard-rails 0.0.7 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +6 -14
- data/README.md +7 -0
- data/app/assets/images/ZeroClipboard.swf +0 -0
- data/app/assets/javascripts/zeroclipboard/ZeroClipboard.js +163 -77
- data/lib/zeroclipboard-rails/version.rb +1 -1
- metadata +9 -8
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
metadata.gz: !binary |-
|
9
|
-
MWJlNDdkMmQ3MTAyZTYyNjQwY2ViMTdjM2EyMTE0ZDI3NGQxZmUwOTY1MWYx
|
10
|
-
ZTkzY2ZjYTI3YjkwNmMxNTM5MjM5ZGU0NWEzYmEyMGFhYjliNTM1ZGE2NmNi
|
11
|
-
MzYwNjdmNWZjMTdmOGYwMDM4Y2I2YWU1YTM2MmRjNzRlMTE0N2I=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
Yjk2NmQ1NDQ2ZGIzMWU0N2Q1YjFkYzdjYmY1MjRhM2E1ZWExOTU2M2NjNmY0
|
14
|
-
MzJiMzc4MWI0YmFiZTgwMWMzZDY2NWM5NmY1NGM0YzNlMjRmY2U5YmVhYTM5
|
15
|
-
OTZkOWM2YTgyZDBjZDNjOGIyYjZjYjY3MGNjN2RkMTEzMzM0N2M=
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: b5884e438fb4efc6deb96fae16c35ee654c6cc39
|
4
|
+
data.tar.gz: 6e6dee00c12ccc40070e048167b39358d4b9721f
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: c2d098e026f30e1f18d5895002797a36bef16b30fd23802d46f2b0b418abd3ad6386c98c4aff8c61bfe688f4f6a53ea1c7d4bbacc3a55511742757f0ec0800e2
|
7
|
+
data.tar.gz: add4715b320ed79d5eb6add9ebb36a2200beab898318b51d23de2ec607289d724939fc33814aa6e6ce8ec9524684d549c24dd5381a0eed1b9806cefc0497cf91
|
data/README.md
CHANGED
@@ -124,6 +124,13 @@ This gem is merely a wrapper around [ZeroClipboard](https://github.com/zeroclipb
|
|
124
124
|
Includes workaround for <a href="https://github.com/zeroclipboard/ZeroClipboard/issues/149">CSS zoom bug</a>
|
125
125
|
</td>
|
126
126
|
</tr>
|
127
|
+
<tr>
|
128
|
+
<td><a href="https://rubygems.org/gems/zeroclipboard-rails/versions/0.0.7">0.0.7</a></td>
|
129
|
+
<td><a href="https://github.com/zeroclipboard/ZeroClipboard/tree/v1.1.7">1.1.7</a></td>
|
130
|
+
<td>
|
131
|
+
Includes workaround for <a href="https://github.com/zeroclipboard/ZeroClipboard/issues/149">CSS zoom bug</a>
|
132
|
+
</td>
|
133
|
+
</tr>
|
127
134
|
</table>
|
128
135
|
|
129
136
|
|
Binary file
|
@@ -1,35 +1,45 @@
|
|
1
1
|
/*!
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
2
|
+
* ZeroClipboard
|
3
|
+
* The ZeroClipboard library provides an easy way to copy text to the clipboard using an invisible Adobe Flash movie and a JavaScript interface.
|
4
|
+
* Copyright (c) 2013 Jon Rohan, James M. Greene
|
5
|
+
* Licensed MIT
|
6
|
+
* http://zeroclipboard.org/
|
7
|
+
* v1.2.2
|
8
|
+
*/
|
9
|
+
(function() {
|
9
10
|
"use strict";
|
11
|
+
var _camelizeCssPropName = function() {
|
12
|
+
var matcherRegex = /\-([a-z])/g, replacerFn = function(match, group) {
|
13
|
+
return group.toUpperCase();
|
14
|
+
};
|
15
|
+
return function(prop) {
|
16
|
+
return prop.replace(matcherRegex, replacerFn);
|
17
|
+
};
|
18
|
+
}();
|
10
19
|
var _getStyle = function(el, prop) {
|
11
|
-
var
|
12
|
-
if (
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
20
|
+
var value, camelProp, tagName, possiblePointers, i, len;
|
21
|
+
if (window.getComputedStyle) {
|
22
|
+
value = window.getComputedStyle(el, null).getPropertyValue(prop);
|
23
|
+
} else {
|
24
|
+
camelProp = _camelizeCssPropName(prop);
|
25
|
+
if (el.currentStyle) {
|
26
|
+
value = el.currentStyle[camelProp];
|
27
|
+
} else {
|
28
|
+
value = el.style[camelProp];
|
19
29
|
}
|
20
30
|
}
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
+
if (prop === "cursor") {
|
32
|
+
if (!value || value === "auto") {
|
33
|
+
tagName = el.tagName.toLowerCase();
|
34
|
+
possiblePointers = [ "a" ];
|
35
|
+
for (i = 0, len = possiblePointers.length; i < len; i++) {
|
36
|
+
if (tagName === possiblePointers[i]) {
|
37
|
+
return "pointer";
|
38
|
+
}
|
39
|
+
}
|
40
|
+
}
|
31
41
|
}
|
32
|
-
return
|
42
|
+
return value;
|
33
43
|
};
|
34
44
|
var _elementMouseOver = function(event) {
|
35
45
|
if (!ZeroClipboard.prototype._singleton) return;
|
@@ -104,54 +114,82 @@
|
|
104
114
|
}
|
105
115
|
return element;
|
106
116
|
};
|
117
|
+
var _getZoomFactor = function() {
|
118
|
+
var rect, physicalWidth, logicalWidth, zoomFactor = 1;
|
119
|
+
if (typeof document.body.getBoundingClientRect === "function") {
|
120
|
+
rect = document.body.getBoundingClientRect();
|
121
|
+
physicalWidth = rect.right - rect.left;
|
122
|
+
logicalWidth = document.body.offsetWidth;
|
123
|
+
zoomFactor = Math.round(physicalWidth / logicalWidth * 100) / 100;
|
124
|
+
}
|
125
|
+
return zoomFactor;
|
126
|
+
};
|
107
127
|
var _getDOMObjectPosition = function(obj) {
|
108
128
|
var info = {
|
109
129
|
left: 0,
|
110
130
|
top: 0,
|
111
|
-
width:
|
112
|
-
height:
|
113
|
-
zIndex:
|
131
|
+
width: 0,
|
132
|
+
height: 0,
|
133
|
+
zIndex: 999999999
|
114
134
|
};
|
115
|
-
var zi = _getStyle(obj, "
|
116
|
-
if (zi && zi
|
135
|
+
var zi = _getStyle(obj, "z-index");
|
136
|
+
if (zi && zi !== "auto") {
|
117
137
|
info.zIndex = parseInt(zi, 10);
|
118
138
|
}
|
119
|
-
if (
|
139
|
+
if (obj.getBoundingClientRect) {
|
120
140
|
var rect = obj.getBoundingClientRect();
|
121
|
-
var pageXOffset
|
122
|
-
|
141
|
+
var pageXOffset, pageYOffset, zoomFactor;
|
142
|
+
if ("pageXOffset" in window && "pageYOffset" in window) {
|
143
|
+
pageXOffset = window.pageXOffset;
|
144
|
+
pageYOffset = window.pageYOffset;
|
145
|
+
} else {
|
146
|
+
zoomFactor = _getZoomFactor();
|
147
|
+
pageXOffset = Math.round(document.documentElement.scrollLeft / zoomFactor);
|
148
|
+
pageYOffset = Math.round(document.documentElement.scrollTop / zoomFactor);
|
149
|
+
}
|
123
150
|
var leftBorderWidth = document.documentElement.clientLeft || 0;
|
124
151
|
var topBorderWidth = document.documentElement.clientTop || 0;
|
125
|
-
|
126
|
-
info.
|
127
|
-
info.
|
128
|
-
info.
|
129
|
-
info.top = (rect.top + pageYOffset - topBorderWidth) * zoom;
|
130
|
-
return info;
|
131
|
-
}
|
132
|
-
while (obj) {
|
133
|
-
var borderLeftWidth = parseInt(_getStyle(obj, "borderLeftWidth"), 10);
|
134
|
-
var borderTopWidth = parseInt(_getStyle(obj, "borderTopWidth"), 10);
|
135
|
-
info.left += isNaN(obj.offsetLeft) ? 0 : obj.offsetLeft;
|
136
|
-
info.left += isNaN(borderLeftWidth) ? 0 : borderLeftWidth;
|
137
|
-
info.top += isNaN(obj.offsetTop) ? 0 : obj.offsetTop;
|
138
|
-
info.top += isNaN(borderTopWidth) ? 0 : borderTopWidth;
|
139
|
-
obj = obj.offsetParent;
|
152
|
+
info.left = rect.left + pageXOffset - leftBorderWidth;
|
153
|
+
info.top = rect.top + pageYOffset - topBorderWidth;
|
154
|
+
info.width = "width" in rect ? rect.width : rect.right - rect.left;
|
155
|
+
info.height = "height" in rect ? rect.height : rect.bottom - rect.top;
|
140
156
|
}
|
141
157
|
return info;
|
142
158
|
};
|
143
|
-
var _noCache = function(path) {
|
144
|
-
|
159
|
+
var _noCache = function(path, options) {
|
160
|
+
var useNoCache = !(options && options.useNoCache === false);
|
161
|
+
if (useNoCache) {
|
162
|
+
return (path.indexOf("?") === -1 ? "?" : "&") + "nocache=" + new Date().getTime();
|
163
|
+
} else {
|
164
|
+
return "";
|
165
|
+
}
|
145
166
|
};
|
146
167
|
var _vars = function(options) {
|
147
168
|
var str = [];
|
169
|
+
var origins = [];
|
170
|
+
if (options.trustedOrigins) {
|
171
|
+
if (typeof options.trustedOrigins === "string") {
|
172
|
+
origins.push(options.trustedOrigins);
|
173
|
+
} else if (typeof options.trustedOrigins === "object" && "length" in options.trustedOrigins) {
|
174
|
+
origins = origins.concat(options.trustedOrigins);
|
175
|
+
}
|
176
|
+
}
|
148
177
|
if (options.trustedDomains) {
|
149
178
|
if (typeof options.trustedDomains === "string") {
|
150
|
-
|
151
|
-
} else {
|
152
|
-
|
179
|
+
origins.push(options.trustedDomains);
|
180
|
+
} else if (typeof options.trustedDomains === "object" && "length" in options.trustedDomains) {
|
181
|
+
origins = origins.concat(options.trustedDomains);
|
153
182
|
}
|
154
183
|
}
|
184
|
+
if (origins.length) {
|
185
|
+
str.push("trustedOrigins=" + encodeURIComponent(origins.join(",")));
|
186
|
+
}
|
187
|
+
if (typeof options.amdModuleId === "string" && options.amdModuleId) {
|
188
|
+
str.push("amdModuleId=" + encodeURIComponent(options.amdModuleId));
|
189
|
+
}
|
190
|
+
if (typeof options.cjsModuleId === "string" && options.cjsModuleId) {
|
191
|
+
str.push("cjsModuleId=" + encodeURIComponent(options.cjsModuleId));
|
192
|
+
}
|
155
193
|
return str.join("&");
|
156
194
|
};
|
157
195
|
var _inArray = function(elem, array) {
|
@@ -170,6 +208,15 @@
|
|
170
208
|
if (!elements.length) return [ elements ];
|
171
209
|
return elements;
|
172
210
|
};
|
211
|
+
var _dispatchCallback = function(func, element, instance, args, async) {
|
212
|
+
if (async) {
|
213
|
+
window.setTimeout(function() {
|
214
|
+
func.call(element, instance, args);
|
215
|
+
}, 0);
|
216
|
+
} else {
|
217
|
+
func.call(element, instance, args);
|
218
|
+
}
|
219
|
+
};
|
173
220
|
var ZeroClipboard = function(elements, options) {
|
174
221
|
if (elements) (ZeroClipboard.prototype._singleton || this).glue(elements);
|
175
222
|
if (ZeroClipboard.prototype._singleton) return ZeroClipboard.prototype._singleton;
|
@@ -184,34 +231,48 @@
|
|
184
231
|
ZeroClipboard.prototype.setCurrent = function(element) {
|
185
232
|
currentElement = element;
|
186
233
|
this.reposition();
|
187
|
-
|
188
|
-
|
234
|
+
var titleAttr = element.getAttribute("title");
|
235
|
+
if (titleAttr) {
|
236
|
+
this.setTitle(titleAttr);
|
189
237
|
}
|
190
|
-
this.
|
238
|
+
var useHandCursor = this.options.forceHandCursor === true || _getStyle(element, "cursor") === "pointer";
|
239
|
+
_setHandCursor.call(this, useHandCursor);
|
240
|
+
return this;
|
191
241
|
};
|
192
242
|
ZeroClipboard.prototype.setText = function(newText) {
|
193
243
|
if (newText && newText !== "") {
|
194
244
|
this.options.text = newText;
|
195
245
|
if (this.ready()) this.flashBridge.setText(newText);
|
196
246
|
}
|
247
|
+
return this;
|
197
248
|
};
|
198
249
|
ZeroClipboard.prototype.setTitle = function(newTitle) {
|
199
250
|
if (newTitle && newTitle !== "") this.htmlBridge.setAttribute("title", newTitle);
|
251
|
+
return this;
|
200
252
|
};
|
201
253
|
ZeroClipboard.prototype.setSize = function(width, height) {
|
202
254
|
if (this.ready()) this.flashBridge.setSize(width, height);
|
255
|
+
return this;
|
203
256
|
};
|
204
257
|
ZeroClipboard.prototype.setHandCursor = function(enabled) {
|
258
|
+
enabled = typeof enabled === "boolean" ? enabled : !!enabled;
|
259
|
+
_setHandCursor.call(this, enabled);
|
260
|
+
this.options.forceHandCursor = enabled;
|
261
|
+
return this;
|
262
|
+
};
|
263
|
+
var _setHandCursor = function(enabled) {
|
205
264
|
if (this.ready()) this.flashBridge.setHandCursor(enabled);
|
206
265
|
};
|
207
|
-
ZeroClipboard.version = "1.
|
266
|
+
ZeroClipboard.version = "1.2.2";
|
208
267
|
var _defaults = {
|
209
268
|
moviePath: "ZeroClipboard.swf",
|
210
|
-
|
269
|
+
trustedOrigins: null,
|
211
270
|
text: null,
|
212
271
|
hoverClass: "zeroclipboard-is-hover",
|
213
272
|
activeClass: "zeroclipboard-is-active",
|
214
|
-
allowScriptAccess: "sameDomain"
|
273
|
+
allowScriptAccess: "sameDomain",
|
274
|
+
useNoCache: true,
|
275
|
+
forceHandCursor: false
|
215
276
|
};
|
216
277
|
ZeroClipboard.setDefaults = function(options) {
|
217
278
|
for (var ko in options) _defaults[ko] = options[ko];
|
@@ -224,22 +285,30 @@
|
|
224
285
|
};
|
225
286
|
ZeroClipboard.detectFlashSupport = function() {
|
226
287
|
var hasFlash = false;
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
288
|
+
if (typeof ActiveXObject === "function") {
|
289
|
+
try {
|
290
|
+
if (new ActiveXObject("ShockwaveFlash.ShockwaveFlash")) {
|
291
|
+
hasFlash = true;
|
292
|
+
}
|
293
|
+
} catch (error) {}
|
294
|
+
}
|
295
|
+
if (!hasFlash && navigator.mimeTypes["application/x-shockwave-flash"]) {
|
296
|
+
hasFlash = true;
|
235
297
|
}
|
236
298
|
return hasFlash;
|
237
299
|
};
|
300
|
+
var _amdModuleId = null;
|
301
|
+
var _cjsModuleId = null;
|
238
302
|
var _bridge = function() {
|
239
303
|
var client = ZeroClipboard.prototype._singleton;
|
240
304
|
var container = document.getElementById("global-zeroclipboard-html-bridge");
|
241
305
|
if (!container) {
|
242
|
-
var
|
306
|
+
var opts = {};
|
307
|
+
for (var ko in client.options) opts[ko] = client.options[ko];
|
308
|
+
opts.amdModuleId = _amdModuleId;
|
309
|
+
opts.cjsModuleId = _cjsModuleId;
|
310
|
+
var flashvars = _vars(opts);
|
311
|
+
var html = ' <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" id="global-zeroclipboard-flash-bridge" width="100%" height="100%"> <param name="movie" value="' + client.options.moviePath + _noCache(client.options.moviePath, client.options) + '"/> <param name="allowScriptAccess" value="' + client.options.allowScriptAccess + '"/> <param name="scale" value="exactfit"/> <param name="loop" value="false"/> <param name="menu" value="false"/> <param name="quality" value="best" /> <param name="bgcolor" value="#ffffff"/> <param name="wmode" value="transparent"/> <param name="flashvars" value="' + flashvars + '"/> <embed src="' + client.options.moviePath + _noCache(client.options.moviePath, client.options) + '" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="100%" height="100%" name="global-zeroclipboard-flash-bridge" allowScriptAccess="always" allowFullScreen="false" type="application/x-shockwave-flash" wmode="transparent" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="' + flashvars + '" scale="exactfit"> </embed> </object>';
|
243
312
|
container = document.createElement("div");
|
244
313
|
container.id = "global-zeroclipboard-html-bridge";
|
245
314
|
container.setAttribute("class", "global-zeroclipboard-container");
|
@@ -264,6 +333,7 @@
|
|
264
333
|
_removeClass(currentElement, this.options.activeClass);
|
265
334
|
currentElement = null;
|
266
335
|
this.options.text = null;
|
336
|
+
return this;
|
267
337
|
};
|
268
338
|
ZeroClipboard.prototype.ready = function() {
|
269
339
|
var ready = this.htmlBridge.getAttribute("data-clipboard-ready");
|
@@ -278,6 +348,7 @@
|
|
278
348
|
this.htmlBridge.style.height = pos.height + "px";
|
279
349
|
this.htmlBridge.style.zIndex = pos.zIndex + 1;
|
280
350
|
this.setSize(pos.width, pos.height);
|
351
|
+
return this;
|
281
352
|
};
|
282
353
|
ZeroClipboard.dispatch = function(eventName, args) {
|
283
354
|
ZeroClipboard.prototype._singleton.receiveEvent(eventName, args);
|
@@ -291,6 +362,7 @@
|
|
291
362
|
if (this.handlers.noflash && !ZeroClipboard.detectFlashSupport()) {
|
292
363
|
this.receiveEvent("onNoFlash", null);
|
293
364
|
}
|
365
|
+
return this;
|
294
366
|
};
|
295
367
|
ZeroClipboard.prototype.addEventListener = ZeroClipboard.prototype.on;
|
296
368
|
ZeroClipboard.prototype.off = function(eventName, func) {
|
@@ -303,11 +375,13 @@
|
|
303
375
|
}
|
304
376
|
}
|
305
377
|
}
|
378
|
+
return this;
|
306
379
|
};
|
307
380
|
ZeroClipboard.prototype.removeEventListener = ZeroClipboard.prototype.off;
|
308
381
|
ZeroClipboard.prototype.receiveEvent = function(eventName, args) {
|
309
382
|
eventName = eventName.toString().toLowerCase().replace(/^on/, "");
|
310
383
|
var element = currentElement;
|
384
|
+
var performCallbackAsync = true;
|
311
385
|
switch (eventName) {
|
312
386
|
case "load":
|
313
387
|
if (args && parseFloat(args.flashVersion.replace(",", ".").replace(/[^0-9\.]/gi, "")) < 10) {
|
@@ -318,19 +392,24 @@
|
|
318
392
|
}
|
319
393
|
this.htmlBridge.setAttribute("data-clipboard-ready", true);
|
320
394
|
break;
|
395
|
+
|
321
396
|
case "mouseover":
|
322
397
|
_addClass(element, this.options.hoverClass);
|
323
398
|
break;
|
399
|
+
|
324
400
|
case "mouseout":
|
325
401
|
_removeClass(element, this.options.hoverClass);
|
326
402
|
this.resetBridge();
|
327
403
|
break;
|
404
|
+
|
328
405
|
case "mousedown":
|
329
406
|
_addClass(element, this.options.activeClass);
|
330
407
|
break;
|
408
|
+
|
331
409
|
case "mouseup":
|
332
410
|
_removeClass(element, this.options.activeClass);
|
333
411
|
break;
|
412
|
+
|
334
413
|
case "datarequested":
|
335
414
|
var targetId = element.getAttribute("data-clipboard-target"), targetEl = !targetId ? null : document.getElementById(targetId);
|
336
415
|
if (targetEl) {
|
@@ -340,17 +419,20 @@
|
|
340
419
|
var defaultText = element.getAttribute("data-clipboard-text");
|
341
420
|
if (defaultText) this.setText(defaultText);
|
342
421
|
}
|
422
|
+
performCallbackAsync = false;
|
343
423
|
break;
|
424
|
+
|
344
425
|
case "complete":
|
345
426
|
this.options.text = null;
|
346
427
|
break;
|
347
428
|
}
|
348
429
|
if (this.handlers[eventName]) {
|
349
430
|
var func = this.handlers[eventName];
|
350
|
-
if (typeof func
|
351
|
-
func
|
352
|
-
}
|
353
|
-
|
431
|
+
if (typeof func === "string" && typeof window[func] === "function") {
|
432
|
+
func = window[func];
|
433
|
+
}
|
434
|
+
if (typeof func === "function") {
|
435
|
+
_dispatchCallback(func, element, this, args, performCallbackAsync);
|
354
436
|
}
|
355
437
|
}
|
356
438
|
};
|
@@ -362,6 +444,7 @@
|
|
362
444
|
_addEventHandler(elements[i], "mouseover", _elementMouseOver);
|
363
445
|
}
|
364
446
|
}
|
447
|
+
return this;
|
365
448
|
};
|
366
449
|
ZeroClipboard.prototype.unglue = function(elements) {
|
367
450
|
elements = _prepGlue(elements);
|
@@ -370,13 +453,16 @@
|
|
370
453
|
var arrayIndex = _inArray(elements[i], gluedElements);
|
371
454
|
if (arrayIndex != -1) gluedElements.splice(arrayIndex, 1);
|
372
455
|
}
|
456
|
+
return this;
|
373
457
|
};
|
374
|
-
if (typeof
|
375
|
-
module
|
376
|
-
|
377
|
-
define(function() {
|
458
|
+
if (typeof define === "function" && define.amd) {
|
459
|
+
define([ "require", "exports", "module" ], function(require, exports, module) {
|
460
|
+
_amdModuleId = module && module.id || null;
|
378
461
|
return ZeroClipboard;
|
379
462
|
});
|
463
|
+
} else if (typeof module === "object" && module && typeof module.exports === "object" && module.exports) {
|
464
|
+
_cjsModuleId = module.id || null;
|
465
|
+
module.exports = ZeroClipboard;
|
380
466
|
} else {
|
381
467
|
window.ZeroClipboard = ZeroClipboard;
|
382
468
|
}
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zeroclipboard-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Henrik Wenz
|
@@ -9,20 +9,20 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-11-10 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: railties
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
|
-
- -
|
18
|
+
- - '>='
|
19
19
|
- !ruby/object:Gem::Version
|
20
20
|
version: '3.1'
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
|
-
- -
|
25
|
+
- - '>='
|
26
26
|
- !ruby/object:Gem::Version
|
27
27
|
version: '3.1'
|
28
28
|
description: ZeroClipboard libary support for Rails
|
@@ -34,8 +34,8 @@ extra_rdoc_files: []
|
|
34
34
|
files:
|
35
35
|
- lib/zeroclipboard-rails.rb
|
36
36
|
- lib/zeroclipboard-rails/version.rb
|
37
|
-
- app/assets/javascripts/zeroclipboard/asset-path.js.erb
|
38
37
|
- app/assets/javascripts/zeroclipboard/ZeroClipboard.js
|
38
|
+
- app/assets/javascripts/zeroclipboard/asset-path.js.erb
|
39
39
|
- app/assets/javascripts/zeroclipboard.js
|
40
40
|
- app/assets/images/ZeroClipboard.swf
|
41
41
|
- LICENSE
|
@@ -50,18 +50,19 @@ require_paths:
|
|
50
50
|
- lib
|
51
51
|
required_ruby_version: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
|
-
- -
|
53
|
+
- - '>='
|
54
54
|
- !ruby/object:Gem::Version
|
55
55
|
version: '0'
|
56
56
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
57
57
|
requirements:
|
58
|
-
- -
|
58
|
+
- - '>='
|
59
59
|
- !ruby/object:Gem::Version
|
60
60
|
version: '0'
|
61
61
|
requirements: []
|
62
62
|
rubyforge_project:
|
63
|
-
rubygems_version: 2.0.
|
63
|
+
rubygems_version: 2.0.3
|
64
64
|
signing_key:
|
65
65
|
specification_version: 4
|
66
66
|
summary: Adds the Javascript ZeroClipboard libary to Rails
|
67
67
|
test_files: []
|
68
|
+
has_rdoc:
|