tinymce-rails 3.5.5 → 3.5.6
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +5 -3
- data/lib/tinymce/rails/version.rb +2 -2
- data/vendor/assets/javascripts/tinymce/plugins/directionality/editor_plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/directionality/editor_plugin_src.js +22 -19
- data/vendor/assets/javascripts/tinymce/plugins/lists/editor_plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/lists/editor_plugin_src.js +3 -4
- data/vendor/assets/javascripts/tinymce/plugins/media/editor_plugin_src.js +1 -1
- data/vendor/assets/javascripts/tinymce/themes/advanced/editor_template.js +1 -1
- data/vendor/assets/javascripts/tinymce/themes/advanced/editor_template_src.js +3 -1
- data/vendor/assets/javascripts/tinymce/tiny_mce.js +1 -1
- data/vendor/assets/javascripts/tinymce/tiny_mce_jquery.js +1 -1
- data/vendor/assets/javascripts/tinymce/tiny_mce_jquery_src.js +39 -24
- data/vendor/assets/javascripts/tinymce/tiny_mce_src.js +39 -24
- metadata +33 -51
@@ -6,9 +6,9 @@
|
|
6
6
|
var tinymce = {
|
7
7
|
majorVersion : '3',
|
8
8
|
|
9
|
-
minorVersion : '5.
|
9
|
+
minorVersion : '5.6',
|
10
10
|
|
11
|
-
releaseDate : '2012-07-
|
11
|
+
releaseDate : '2012-07-26',
|
12
12
|
|
13
13
|
_init : function() {
|
14
14
|
var t = this, d = document, na = navigator, ua = na.userAgent, i, nl, n, base, p, v;
|
@@ -1566,7 +1566,7 @@ tinymce.util.Quirks = function(editor) {
|
|
1566
1566
|
}
|
1567
1567
|
|
1568
1568
|
function isSelectionAcrossElements() {
|
1569
|
-
return !selection.isCollapsed() && selection.getStart() != selection.getEnd();
|
1569
|
+
return !selection.isCollapsed() && dom.getParent(selection.getStart(), dom.isBlock) != dom.getParent(selection.getEnd(), dom.isBlock);
|
1570
1570
|
}
|
1571
1571
|
|
1572
1572
|
function blockEvent(editor, e) {
|
@@ -1885,7 +1885,7 @@ tinymce.util.Quirks = function(editor) {
|
|
1885
1885
|
};
|
1886
1886
|
|
1887
1887
|
function fakeImageResize() {
|
1888
|
-
var selectedElmX, selectedElmY, selectedElm, selectedElmGhost, selectedHandle, startX, startY, startW, startH,
|
1888
|
+
var selectedElmX, selectedElmY, selectedElm, selectedElmGhost, selectedHandle, startX, startY, startW, startH, ratio,
|
1889
1889
|
resizeHandles, width, height, rootDocument = document, editableDoc = editor.getDoc();
|
1890
1890
|
|
1891
1891
|
if (!settings.object_resizing || settings.webkit_fake_resize === false) {
|
@@ -1909,27 +1909,26 @@ tinymce.util.Quirks = function(editor) {
|
|
1909
1909
|
};
|
1910
1910
|
|
1911
1911
|
function resizeElement(e) {
|
1912
|
-
var deltaX, deltaY
|
1912
|
+
var deltaX, deltaY;
|
1913
1913
|
|
1914
1914
|
// Calc new width/height
|
1915
1915
|
deltaX = e.screenX - startX;
|
1916
1916
|
deltaY = e.screenY - startY;
|
1917
|
-
ratio = Math.max((startW + deltaX) / startW, (startH + deltaY) / startH);
|
1918
1917
|
|
1919
|
-
|
1920
|
-
|
1921
|
-
|
1922
|
-
height = Math.round(startH * ratio);
|
1923
|
-
} else {
|
1924
|
-
// Calc new size
|
1925
|
-
width = deltaX * selectedHandle[2] + startW;
|
1926
|
-
height = deltaY * selectedHandle[3] + startH;
|
1927
|
-
}
|
1918
|
+
// Calc new size
|
1919
|
+
width = deltaX * selectedHandle[2] + startW;
|
1920
|
+
height = deltaY * selectedHandle[3] + startH;
|
1928
1921
|
|
1929
1922
|
// Never scale down lower than 5 pixels
|
1930
1923
|
width = width < 5 ? 5 : width;
|
1931
1924
|
height = height < 5 ? 5 : height;
|
1932
1925
|
|
1926
|
+
// Constrain proportions when modifier key is pressed or if the nw, ne, sw, se corners are moved on an image
|
1927
|
+
if (VK.modifierPressed(e) || (selectedElm.nodeName == "IMG" && selectedHandle[2] * selectedHandle[3] !== 0)) {
|
1928
|
+
width = Math.round(height / ratio);
|
1929
|
+
height = Math.round(width * ratio);
|
1930
|
+
}
|
1931
|
+
|
1933
1932
|
// Update ghost size
|
1934
1933
|
dom.setStyles(selectedElmGhost, {
|
1935
1934
|
width: width,
|
@@ -1938,12 +1937,12 @@ tinymce.util.Quirks = function(editor) {
|
|
1938
1937
|
|
1939
1938
|
// Update ghost X position if needed
|
1940
1939
|
if (selectedHandle[2] < 0 && selectedElmGhost.clientWidth <= width) {
|
1941
|
-
dom.setStyle(selectedElmGhost, 'left', selectedElmX +
|
1940
|
+
dom.setStyle(selectedElmGhost, 'left', selectedElmX + (startW - width));
|
1942
1941
|
}
|
1943
1942
|
|
1944
1943
|
// Update ghost Y position if needed
|
1945
1944
|
if (selectedHandle[3] < 0 && selectedElmGhost.clientHeight <= height) {
|
1946
|
-
dom.setStyle(selectedElmGhost, 'top', selectedElmY +
|
1945
|
+
dom.setStyle(selectedElmGhost, 'top', selectedElmY + (startH - height));
|
1947
1946
|
}
|
1948
1947
|
}
|
1949
1948
|
|
@@ -2015,6 +2014,7 @@ tinymce.util.Quirks = function(editor) {
|
|
2015
2014
|
startY = e.screenY;
|
2016
2015
|
startW = selectedElm.clientWidth;
|
2017
2016
|
startH = selectedElm.clientHeight;
|
2017
|
+
ratio = startH / startW;
|
2018
2018
|
selectedHandle = handle;
|
2019
2019
|
|
2020
2020
|
selectedElmGhost = selectedElm.cloneNode(true);
|
@@ -5984,7 +5984,7 @@ tinymce.dom.TreeWalker = function(start_node, root_node) {
|
|
5984
5984
|
styleElm.id = 'mceDefaultStyles';
|
5985
5985
|
styleElm.type = 'text/css';
|
5986
5986
|
|
5987
|
-
head = doc.getElementsByTagName('head')[0]
|
5987
|
+
head = doc.getElementsByTagName('head')[0];
|
5988
5988
|
if (head.firstChild) {
|
5989
5989
|
head.insertBefore(styleElm, head.firstChild);
|
5990
5990
|
} else {
|
@@ -13095,7 +13095,7 @@ tinymce.create('tinymce.ui.Toolbar:tinymce.ui.Container', {
|
|
13095
13095
|
},
|
13096
13096
|
|
13097
13097
|
getContent : function(args) {
|
13098
|
-
var self = this, content;
|
13098
|
+
var self = this, content, body = self.getBody();
|
13099
13099
|
|
13100
13100
|
// Setup args object
|
13101
13101
|
args = args || {};
|
@@ -13109,11 +13109,18 @@ tinymce.create('tinymce.ui.Toolbar:tinymce.ui.Container', {
|
|
13109
13109
|
|
13110
13110
|
// Get raw contents or by default the cleaned contents
|
13111
13111
|
if (args.format == 'raw')
|
13112
|
-
content =
|
13112
|
+
content = body.innerHTML;
|
13113
|
+
else if (args.format == 'text')
|
13114
|
+
content = body.innerText || body.textContent;
|
13113
13115
|
else
|
13114
|
-
content = self.serializer.serialize(
|
13116
|
+
content = self.serializer.serialize(body, args);
|
13115
13117
|
|
13116
|
-
|
13118
|
+
// Trim whitespace in beginning/end of HTML
|
13119
|
+
if (args.format != 'text') {
|
13120
|
+
args.content = tinymce.trim(content);
|
13121
|
+
} else {
|
13122
|
+
args.content = content;
|
13123
|
+
}
|
13117
13124
|
|
13118
13125
|
// Do post processing
|
13119
13126
|
if (!args.no_events)
|
@@ -14447,6 +14454,14 @@ tinymce.ForceBlocks = function(editor) {
|
|
14447
14454
|
node = rootNode.firstChild;
|
14448
14455
|
while (node) {
|
14449
14456
|
if (node.nodeType === 3 || (node.nodeType == 1 && !blockElements[node.nodeName])) {
|
14457
|
+
// Remove empty text nodes
|
14458
|
+
if (node.nodeType === 3 && node.nodeValue.length == 0) {
|
14459
|
+
tempNode = node;
|
14460
|
+
node = node.nextSibling;
|
14461
|
+
dom.remove(tempNode);
|
14462
|
+
continue;
|
14463
|
+
}
|
14464
|
+
|
14450
14465
|
if (!rootBlockNode) {
|
14451
14466
|
rootBlockNode = dom.create(settings.forced_root_block);
|
14452
14467
|
node.parentNode.insertBefore(rootBlockNode, node);
|
@@ -17403,7 +17418,7 @@ tinymce.onAddEditor.add(function(tinymce, ed) {
|
|
17403
17418
|
if (container && container.nodeType == 3 && offset >= container.nodeValue.length) {
|
17404
17419
|
// Insert extra BR element at the end block elements
|
17405
17420
|
if (!tinymce.isIE && !hasRightSideBr()) {
|
17406
|
-
brElm = dom.create('br')
|
17421
|
+
brElm = dom.create('br');
|
17407
17422
|
rng.insertNode(brElm);
|
17408
17423
|
rng.setStartAfter(brElm);
|
17409
17424
|
rng.setEndAfter(brElm);
|
@@ -17488,7 +17503,7 @@ tinymce.onAddEditor.add(function(tinymce, ed) {
|
|
17488
17503
|
// Setup range items and newBlockName
|
17489
17504
|
container = rng.startContainer;
|
17490
17505
|
offset = rng.startOffset;
|
17491
|
-
newBlockName = settings.forced_root_block;
|
17506
|
+
newBlockName = (settings.force_p_newlines ? 'p' : '') || settings.forced_root_block;
|
17492
17507
|
newBlockName = newBlockName ? newBlockName.toUpperCase() : '';
|
17493
17508
|
documentMode = dom.doc.documentMode;
|
17494
17509
|
shiftKey = evt.shiftKey;
|
@@ -6,9 +6,9 @@
|
|
6
6
|
var tinymce = {
|
7
7
|
majorVersion : '3',
|
8
8
|
|
9
|
-
minorVersion : '5.
|
9
|
+
minorVersion : '5.6',
|
10
10
|
|
11
|
-
releaseDate : '2012-07-
|
11
|
+
releaseDate : '2012-07-26',
|
12
12
|
|
13
13
|
_init : function() {
|
14
14
|
var t = this, d = document, na = navigator, ua = na.userAgent, i, nl, n, base, p, v;
|
@@ -1314,7 +1314,7 @@ tinymce.util.Quirks = function(editor) {
|
|
1314
1314
|
}
|
1315
1315
|
|
1316
1316
|
function isSelectionAcrossElements() {
|
1317
|
-
return !selection.isCollapsed() && selection.getStart() != selection.getEnd();
|
1317
|
+
return !selection.isCollapsed() && dom.getParent(selection.getStart(), dom.isBlock) != dom.getParent(selection.getEnd(), dom.isBlock);
|
1318
1318
|
}
|
1319
1319
|
|
1320
1320
|
function blockEvent(editor, e) {
|
@@ -1633,7 +1633,7 @@ tinymce.util.Quirks = function(editor) {
|
|
1633
1633
|
};
|
1634
1634
|
|
1635
1635
|
function fakeImageResize() {
|
1636
|
-
var selectedElmX, selectedElmY, selectedElm, selectedElmGhost, selectedHandle, startX, startY, startW, startH,
|
1636
|
+
var selectedElmX, selectedElmY, selectedElm, selectedElmGhost, selectedHandle, startX, startY, startW, startH, ratio,
|
1637
1637
|
resizeHandles, width, height, rootDocument = document, editableDoc = editor.getDoc();
|
1638
1638
|
|
1639
1639
|
if (!settings.object_resizing || settings.webkit_fake_resize === false) {
|
@@ -1657,27 +1657,26 @@ tinymce.util.Quirks = function(editor) {
|
|
1657
1657
|
};
|
1658
1658
|
|
1659
1659
|
function resizeElement(e) {
|
1660
|
-
var deltaX, deltaY
|
1660
|
+
var deltaX, deltaY;
|
1661
1661
|
|
1662
1662
|
// Calc new width/height
|
1663
1663
|
deltaX = e.screenX - startX;
|
1664
1664
|
deltaY = e.screenY - startY;
|
1665
|
-
ratio = Math.max((startW + deltaX) / startW, (startH + deltaY) / startH);
|
1666
1665
|
|
1667
|
-
|
1668
|
-
|
1669
|
-
|
1670
|
-
height = Math.round(startH * ratio);
|
1671
|
-
} else {
|
1672
|
-
// Calc new size
|
1673
|
-
width = deltaX * selectedHandle[2] + startW;
|
1674
|
-
height = deltaY * selectedHandle[3] + startH;
|
1675
|
-
}
|
1666
|
+
// Calc new size
|
1667
|
+
width = deltaX * selectedHandle[2] + startW;
|
1668
|
+
height = deltaY * selectedHandle[3] + startH;
|
1676
1669
|
|
1677
1670
|
// Never scale down lower than 5 pixels
|
1678
1671
|
width = width < 5 ? 5 : width;
|
1679
1672
|
height = height < 5 ? 5 : height;
|
1680
1673
|
|
1674
|
+
// Constrain proportions when modifier key is pressed or if the nw, ne, sw, se corners are moved on an image
|
1675
|
+
if (VK.modifierPressed(e) || (selectedElm.nodeName == "IMG" && selectedHandle[2] * selectedHandle[3] !== 0)) {
|
1676
|
+
width = Math.round(height / ratio);
|
1677
|
+
height = Math.round(width * ratio);
|
1678
|
+
}
|
1679
|
+
|
1681
1680
|
// Update ghost size
|
1682
1681
|
dom.setStyles(selectedElmGhost, {
|
1683
1682
|
width: width,
|
@@ -1686,12 +1685,12 @@ tinymce.util.Quirks = function(editor) {
|
|
1686
1685
|
|
1687
1686
|
// Update ghost X position if needed
|
1688
1687
|
if (selectedHandle[2] < 0 && selectedElmGhost.clientWidth <= width) {
|
1689
|
-
dom.setStyle(selectedElmGhost, 'left', selectedElmX +
|
1688
|
+
dom.setStyle(selectedElmGhost, 'left', selectedElmX + (startW - width));
|
1690
1689
|
}
|
1691
1690
|
|
1692
1691
|
// Update ghost Y position if needed
|
1693
1692
|
if (selectedHandle[3] < 0 && selectedElmGhost.clientHeight <= height) {
|
1694
|
-
dom.setStyle(selectedElmGhost, 'top', selectedElmY +
|
1693
|
+
dom.setStyle(selectedElmGhost, 'top', selectedElmY + (startH - height));
|
1695
1694
|
}
|
1696
1695
|
}
|
1697
1696
|
|
@@ -1763,6 +1762,7 @@ tinymce.util.Quirks = function(editor) {
|
|
1763
1762
|
startY = e.screenY;
|
1764
1763
|
startW = selectedElm.clientWidth;
|
1765
1764
|
startH = selectedElm.clientHeight;
|
1765
|
+
ratio = startH / startW;
|
1766
1766
|
selectedHandle = handle;
|
1767
1767
|
|
1768
1768
|
selectedElmGhost = selectedElm.cloneNode(true);
|
@@ -5765,7 +5765,7 @@ tinymce.dom.TreeWalker = function(start_node, root_node) {
|
|
5765
5765
|
styleElm.id = 'mceDefaultStyles';
|
5766
5766
|
styleElm.type = 'text/css';
|
5767
5767
|
|
5768
|
-
head = doc.getElementsByTagName('head')[0]
|
5768
|
+
head = doc.getElementsByTagName('head')[0];
|
5769
5769
|
if (head.firstChild) {
|
5770
5770
|
head.insertBefore(styleElm, head.firstChild);
|
5771
5771
|
} else {
|
@@ -14314,7 +14314,7 @@ tinymce.create('tinymce.ui.Toolbar:tinymce.ui.Container', {
|
|
14314
14314
|
},
|
14315
14315
|
|
14316
14316
|
getContent : function(args) {
|
14317
|
-
var self = this, content;
|
14317
|
+
var self = this, content, body = self.getBody();
|
14318
14318
|
|
14319
14319
|
// Setup args object
|
14320
14320
|
args = args || {};
|
@@ -14328,11 +14328,18 @@ tinymce.create('tinymce.ui.Toolbar:tinymce.ui.Container', {
|
|
14328
14328
|
|
14329
14329
|
// Get raw contents or by default the cleaned contents
|
14330
14330
|
if (args.format == 'raw')
|
14331
|
-
content =
|
14331
|
+
content = body.innerHTML;
|
14332
|
+
else if (args.format == 'text')
|
14333
|
+
content = body.innerText || body.textContent;
|
14332
14334
|
else
|
14333
|
-
content = self.serializer.serialize(
|
14335
|
+
content = self.serializer.serialize(body, args);
|
14334
14336
|
|
14335
|
-
|
14337
|
+
// Trim whitespace in beginning/end of HTML
|
14338
|
+
if (args.format != 'text') {
|
14339
|
+
args.content = tinymce.trim(content);
|
14340
|
+
} else {
|
14341
|
+
args.content = content;
|
14342
|
+
}
|
14336
14343
|
|
14337
14344
|
// Do post processing
|
14338
14345
|
if (!args.no_events)
|
@@ -15666,6 +15673,14 @@ tinymce.ForceBlocks = function(editor) {
|
|
15666
15673
|
node = rootNode.firstChild;
|
15667
15674
|
while (node) {
|
15668
15675
|
if (node.nodeType === 3 || (node.nodeType == 1 && !blockElements[node.nodeName])) {
|
15676
|
+
// Remove empty text nodes
|
15677
|
+
if (node.nodeType === 3 && node.nodeValue.length == 0) {
|
15678
|
+
tempNode = node;
|
15679
|
+
node = node.nextSibling;
|
15680
|
+
dom.remove(tempNode);
|
15681
|
+
continue;
|
15682
|
+
}
|
15683
|
+
|
15669
15684
|
if (!rootBlockNode) {
|
15670
15685
|
rootBlockNode = dom.create(settings.forced_root_block);
|
15671
15686
|
node.parentNode.insertBefore(rootBlockNode, node);
|
@@ -18622,7 +18637,7 @@ tinymce.onAddEditor.add(function(tinymce, ed) {
|
|
18622
18637
|
if (container && container.nodeType == 3 && offset >= container.nodeValue.length) {
|
18623
18638
|
// Insert extra BR element at the end block elements
|
18624
18639
|
if (!tinymce.isIE && !hasRightSideBr()) {
|
18625
|
-
brElm = dom.create('br')
|
18640
|
+
brElm = dom.create('br');
|
18626
18641
|
rng.insertNode(brElm);
|
18627
18642
|
rng.setStartAfter(brElm);
|
18628
18643
|
rng.setEndAfter(brElm);
|
@@ -18707,7 +18722,7 @@ tinymce.onAddEditor.add(function(tinymce, ed) {
|
|
18707
18722
|
// Setup range items and newBlockName
|
18708
18723
|
container = rng.startContainer;
|
18709
18724
|
offset = rng.startOffset;
|
18710
|
-
newBlockName = settings.forced_root_block;
|
18725
|
+
newBlockName = (settings.force_p_newlines ? 'p' : '') || settings.forced_root_block;
|
18711
18726
|
newBlockName = newBlockName ? newBlockName.toUpperCase() : '';
|
18712
18727
|
documentMode = dom.doc.documentMode;
|
18713
18728
|
shiftKey = evt.shiftKey;
|
metadata
CHANGED
@@ -1,47 +1,39 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: tinymce-rails
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 3.5.6
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 3
|
8
|
-
- 5
|
9
|
-
- 5
|
10
|
-
version: 3.5.5
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Sam Pohlenz
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2012-07-29 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
21
15
|
name: railties
|
22
|
-
|
23
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
24
17
|
none: false
|
25
|
-
requirements:
|
26
|
-
- -
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
hash: 1
|
29
|
-
segments:
|
30
|
-
- 3
|
31
|
-
- 1
|
32
|
-
- 1
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
33
21
|
version: 3.1.1
|
34
22
|
type: :runtime
|
35
|
-
|
36
|
-
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 3.1.1
|
30
|
+
description: Seamlessly integrates TinyMCE into the Rails asset pipeline introduced
|
31
|
+
in Rails 3.1.
|
37
32
|
email: sam@sampohlenz.com
|
38
33
|
executables: []
|
39
|
-
|
40
34
|
extensions: []
|
41
|
-
|
42
35
|
extra_rdoc_files: []
|
43
|
-
|
44
|
-
files:
|
36
|
+
files:
|
45
37
|
- README.md
|
46
38
|
- LICENSE
|
47
39
|
- Rakefile
|
@@ -317,36 +309,26 @@ files:
|
|
317
309
|
- vendor/assets/javascripts/tinymce/utils/validate.js
|
318
310
|
homepage:
|
319
311
|
licenses: []
|
320
|
-
|
321
312
|
post_install_message:
|
322
313
|
rdoc_options: []
|
323
|
-
|
324
|
-
require_paths:
|
314
|
+
require_paths:
|
325
315
|
- lib
|
326
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
316
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
327
317
|
none: false
|
328
|
-
requirements:
|
329
|
-
- -
|
330
|
-
- !ruby/object:Gem::Version
|
331
|
-
|
332
|
-
|
333
|
-
- 0
|
334
|
-
version: "0"
|
335
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
318
|
+
requirements:
|
319
|
+
- - ! '>='
|
320
|
+
- !ruby/object:Gem::Version
|
321
|
+
version: '0'
|
322
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
336
323
|
none: false
|
337
|
-
requirements:
|
338
|
-
- -
|
339
|
-
- !ruby/object:Gem::Version
|
340
|
-
|
341
|
-
segments:
|
342
|
-
- 0
|
343
|
-
version: "0"
|
324
|
+
requirements:
|
325
|
+
- - ! '>='
|
326
|
+
- !ruby/object:Gem::Version
|
327
|
+
version: '0'
|
344
328
|
requirements: []
|
345
|
-
|
346
329
|
rubyforge_project:
|
347
|
-
rubygems_version: 1.8.
|
330
|
+
rubygems_version: 1.8.24
|
348
331
|
signing_key:
|
349
332
|
specification_version: 3
|
350
333
|
summary: Rails asset pipeline integration for TinyMCE.
|
351
334
|
test_files: []
|
352
|
-
|