medium-editor-rails 0.10.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4ee7ee2fc94dcc528fd70ff4099bbb0ab07ea0ba
4
- data.tar.gz: 0f052e34fe06d46b9775a97c4073c366e28191e0
3
+ metadata.gz: a32f7c8a56ef26f70498f6b0fe01a11bbc54e708
4
+ data.tar.gz: 9cbf528d1def797dd37fb67952a7eff4fef41f61
5
5
  SHA512:
6
- metadata.gz: 5e88e9e38bd332452158ee112e627119c50fec8cf2c516d4543ce6d3111b879a758259ad4239a388bd4c5fc4fc46a8920a3286c722826cf469053b5a07024a06
7
- data.tar.gz: 41bef9de1b55c3c69f3fd9c354162288015316fd87c64660ab99a5f06a1e41a65273cb9ae4946e3cc1b44ed12e4dce0a8ccac559c3cd10fc7926fdb87d3946f8
6
+ metadata.gz: d07d7b49068f155fa7d1f78c70b8a8085259179ea653e12d9c58065f085c0511c02072012c4676b24265d9bab51cb63168e79352e183a347241fcc2a96afcd29
7
+ data.tar.gz: efb7932a55e109d1ac2ade177dc8ecc5ce8f68b3f367b216bc14693f4f4f0341819227ebb5da647c87f12eae1bac1c5fb9702260d92034825b6d2b9735e0c56e
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
 
2
2
  #### [Current]
3
+ * [c949af6](../../commit/c949af6) - __(Ahmet Sezgin Duran)__ Update Medium Editor files
4
+ * [6e867bb](../../commit/6e867bb) - __(Ahmet Sezgin Duran)__ Add Gemnasium badge
5
+ * [618bf25](../../commit/618bf25) - __(Ahmet Sezgin Duran)__ Merge tag '0.10.0' into develop
6
+
7
+ 0.10.0 0.10.0
8
+
9
+ #### 0.10.0
10
+ * [050b92b](../../commit/050b92b) - __(Ahmet Sezgin Duran)__ Bump versions 0.10.0 and 1.9.0
3
11
  * [028abec](../../commit/028abec) - __(Ahmet Sezgin Duran)__ Update Medium Editor files
4
12
  * [9de9ca7](../../commit/9de9ca7) - __(Ahmet Sezgin Duran)__ Merge tag '0.9.4' into develop
5
13
 
data/README.md CHANGED
@@ -2,12 +2,13 @@
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/medium-editor-rails.png)](http://badge.fury.io/rb/medium-editor-rails)
4
4
  [![Code Climate](https://codeclimate.com/github/marjinal1st/medium-editor-rails.png)](https://codeclimate.com/github/marjinal1st/medium-editor-rails)
5
+ [![Dependency Status](https://gemnasium.com/marjinal1st/medium-editor-rails.svg)](https://gemnasium.com/marjinal1st/medium-editor-rails)
5
6
 
6
7
  This gem integrates [Medium Editor](https://github.com/daviferreira/medium-editor) with Rails asset pipeline.
7
8
 
8
9
  ## Version
9
10
 
10
- The latest version of Medium Editor bundled by this gem is [1.9.0](https://github.com/daviferreira/medium-editor/releases)
11
+ The latest version of Medium Editor bundled by this gem is [1.9.4](https://github.com/daviferreira/medium-editor/releases)
11
12
 
12
13
  ## Installation
13
14
 
@@ -63,4 +64,4 @@ https://github.com/daviferreira/medium-editor#initialization-options
63
64
  2. Create your feature branch (`git checkout -b my-new-feature`)
64
65
  3. Commit your changes (`git commit -am 'Add some feature'`)
65
66
  4. Push to the branch (`git push origin my-new-feature`)
66
- 5. Create new Pull Request
67
+ 5. Create new Pull Request
@@ -1,6 +1,6 @@
1
1
  module MediumEditorRails
2
2
  module Rails
3
- VERSION = '0.10.0'
4
- MEDIUM_EDITOR_VERSION = '1.9.0'
3
+ VERSION = '0.11.0'
4
+ MEDIUM_EDITOR_VERSION = '1.9.4'
5
5
  end
6
6
  end
@@ -23,6 +23,17 @@ if (typeof module === 'object') {
23
23
  return b;
24
24
  }
25
25
 
26
+ function isDescendant(parent, child) {
27
+ var node = child.parentNode;
28
+ while (node !== null) {
29
+ if (node === parent) {
30
+ return true;
31
+ }
32
+ node = node.parentNode;
33
+ }
34
+ return false;
35
+ }
36
+
26
37
  // http://stackoverflow.com/questions/5605401/insert-link-in-contenteditable-element
27
38
  // by Tim Down
28
39
  function saveSelection() {
@@ -112,6 +123,9 @@ if (typeof module === 'object') {
112
123
  placeholder: 'Type your text',
113
124
  secondHeader: 'h4',
114
125
  targetBlank: false,
126
+ anchorTarget: false,
127
+ anchorButton: false,
128
+ anchorButtonClass: 'btn',
115
129
  extensions: {},
116
130
  activeButtonClass: 'medium-editor-button-active',
117
131
  firstButtonClass: 'medium-editor-button-first',
@@ -326,6 +340,18 @@ if (typeof module === 'object') {
326
340
  e.preventDefault();
327
341
  document.execCommand('insertHtml', null, ' ');
328
342
  }
343
+
344
+ // Tab to indent list structures!
345
+ if (tag === 'li') {
346
+ e.preventDefault();
347
+
348
+ // If Shift is down, outdent, otherwise indent
349
+ if (e.shiftKey) {
350
+ document.execCommand('outdent', e);
351
+ } else {
352
+ document.execCommand('indent', e);
353
+ }
354
+ }
329
355
  }
330
356
  });
331
357
  return this;
@@ -411,7 +437,9 @@ if (typeof module === 'object') {
411
437
  this.toolbar = this.createToolbar();
412
438
  this.keepToolbarAlive = false;
413
439
  this.anchorForm = this.toolbar.querySelector('.medium-editor-toolbar-form-anchor');
414
- this.anchorInput = this.anchorForm.querySelector('input');
440
+ this.anchorInput = this.anchorForm.querySelector('input.medium-editor-toolbar-anchor-input');
441
+ this.anchorTarget = this.anchorForm.querySelector('input.medium-editor-toolbar-anchor-target');
442
+ this.anchorButton = this.anchorForm.querySelector('input.medium-editor-toolbar-anchor-button');
415
443
  this.toolbarActions = this.toolbar.querySelector('.medium-editor-toolbar-actions');
416
444
  this.anchorPreview = this.createAnchorPreview();
417
445
 
@@ -465,18 +493,51 @@ if (typeof module === 'object') {
465
493
  toolbarFormAnchor: function () {
466
494
  var anchor = document.createElement('div'),
467
495
  input = document.createElement('input'),
468
- a = document.createElement('a');
496
+ target_label = document.createElement('label'),
497
+ target = document.createElement('input'),
498
+ button_label = document.createElement('label'),
499
+ button = document.createElement('input'),
500
+ close = document.createElement('a'),
501
+ save = document.createElement('a');
469
502
 
470
- a.setAttribute('href', '#');
471
- a.innerHTML = '×';
503
+ close.setAttribute('href', '#');
504
+ close.className = 'medium-editor-toobar-anchor-close';
505
+ close.innerHTML = '×';
506
+
507
+ save.setAttribute('href', '#');
508
+ save.className = 'medium-editor-toobar-anchor-save';
509
+ save.innerHTML = '✓';
472
510
 
473
511
  input.setAttribute('type', 'text');
512
+ input.className = 'medium-editor-toolbar-anchor-input';
474
513
  input.setAttribute('placeholder', this.options.anchorInputPlaceholder);
475
514
 
515
+
516
+ target.setAttribute('type', 'checkbox');
517
+ target.className = 'medium-editor-toolbar-anchor-target';
518
+ target_label.innerHTML = "Open in New Window?";
519
+ target_label.insertBefore(target, target_label.firstChild);
520
+
521
+ button.setAttribute('type', 'checkbox');
522
+ button.className = 'medium-editor-toolbar-anchor-button';
523
+ button_label.innerHTML = "Button";
524
+ button_label.insertBefore(button, button_label.firstChild);
525
+
526
+
476
527
  anchor.className = 'medium-editor-toolbar-form-anchor';
477
528
  anchor.id = 'medium-editor-toolbar-form-anchor';
478
529
  anchor.appendChild(input);
479
- anchor.appendChild(a);
530
+
531
+ anchor.appendChild(save);
532
+ anchor.appendChild(close);
533
+
534
+ if (this.options.anchorTarget) {
535
+ anchor.appendChild(target_label);
536
+ }
537
+
538
+ if (this.options.anchorButton) {
539
+ anchor.appendChild(button_label);
540
+ }
480
541
 
481
542
  return anchor;
482
543
  },
@@ -513,6 +574,7 @@ if (typeof module === 'object') {
513
574
  selectionElement;
514
575
 
515
576
  if (this.keepToolbarAlive !== true && !this.options.disableToolbar) {
577
+
516
578
  newSelection = window.getSelection();
517
579
  if (newSelection.toString().trim() === '' ||
518
580
  (this.options.allowMultiParagraphSelection === false && this.hasMultiParagraphs()) ||
@@ -532,9 +594,11 @@ if (typeof module === 'object') {
532
594
 
533
595
  clickingIntoArchorForm: function (e) {
534
596
  var self = this;
597
+
535
598
  if (e.type && e.type.toLowerCase() === 'blur' && e.relatedTarget && e.relatedTarget === self.anchorInput) {
536
599
  return true;
537
600
  }
601
+
538
602
  return false;
539
603
  },
540
604
 
@@ -560,14 +624,14 @@ if (typeof module === 'object') {
560
624
  this.hideToolbarActions();
561
625
  },
562
626
 
563
- findMatchingSelectionParent: function( testElementFunction ) {
627
+ findMatchingSelectionParent: function(testElementFunction) {
564
628
  var selection = window.getSelection(),
565
629
  range, current, parent,
566
630
  result,
567
631
  getElement = function (e) {
568
632
  var localParent = e;
569
633
  try {
570
- while (!testElementFunction( localParent )) {
634
+ while (!testElementFunction(localParent)) {
571
635
  localParent = localParent.parentNode;
572
636
  }
573
637
  } catch (errb) {
@@ -581,7 +645,7 @@ if (typeof module === 'object') {
581
645
  current = range.commonAncestorContainer;
582
646
  parent = current.parentNode;
583
647
 
584
- if (testElementFunction( current )) {
648
+ if (testElementFunction(current)) {
585
649
  result = current;
586
650
  } else {
587
651
  result = getElement(parent);
@@ -594,15 +658,15 @@ if (typeof module === 'object') {
594
658
  },
595
659
 
596
660
  getSelectionElement: function () {
597
- return this.findMatchingSelectionParent( function(el) {
661
+ return this.findMatchingSelectionParent(function(el) {
598
662
  return el.getAttribute('data-medium-element');
599
- } );
663
+ });
600
664
  },
601
665
 
602
666
  selectionInContentEditableFalse: function () {
603
- return this.findMatchingSelectionParent( function(el) {
667
+ return this.findMatchingSelectionParent(function(el) {
604
668
  return (el && el.nodeName !== '#text' && el.getAttribute('contenteditable') === 'false');
605
- } );
669
+ });
606
670
  },
607
671
 
608
672
  setToolbarPosition: function () {
@@ -838,32 +902,81 @@ if (typeof module === 'object') {
838
902
  this.toolbarActions.style.display = 'none';
839
903
  this.saveSelection();
840
904
  this.anchorForm.style.display = 'block';
905
+ this.setToolbarPosition();
841
906
  this.keepToolbarAlive = true;
842
907
  this.anchorInput.focus();
843
908
  this.anchorInput.value = link_value || '';
844
909
  },
845
910
 
846
911
  bindAnchorForm: function () {
847
- var linkCancel = this.anchorForm.querySelector('a'),
912
+ var linkCancel = this.anchorForm.querySelector('a.medium-editor-toobar-anchor-close'),
913
+ linkSave = this.anchorForm.querySelector('a.medium-editor-toobar-anchor-save'),
848
914
  self = this;
915
+
849
916
  this.anchorForm.addEventListener('click', function (e) {
850
917
  e.stopPropagation();
918
+ self.keepToolbarAlive = true;
851
919
  });
920
+
852
921
  this.anchorInput.addEventListener('keyup', function (e) {
922
+ var button = null,
923
+ target;
924
+
853
925
  if (e.keyCode === 13) {
854
926
  e.preventDefault();
855
- self.createLink(this);
927
+ if (self.options.anchorTarget && self.anchorTarget.checked) {
928
+ target = "_blank";
929
+ }
930
+ else {
931
+ target = "_self";
932
+ }
933
+
934
+ if (self.options.anchorButton && self.anchorButton.checked) {
935
+ button = self.options.anchorButtonClass;
936
+ }
937
+
938
+ self.createLink(this, target, button);
856
939
  }
857
940
  });
941
+
942
+ linkSave.addEventListener('click', function(e) {
943
+ var button = null,
944
+ target;
945
+ e.preventDefault();
946
+ if ( self.options.anchorTarget && self.anchorTarget.checked) {
947
+ target = "_blank";
948
+ }
949
+ else {
950
+ target = "_self";
951
+ }
952
+
953
+ if (self.options.anchorButton && self.anchorButton.checked) {
954
+ button = self.options.anchorButtonClass;
955
+ }
956
+
957
+ self.createLink(self.anchorInput, target, button);
958
+ }, true);
959
+
858
960
  this.anchorInput.addEventListener('click', function (e) {
859
961
  // make sure not to hide form when cliking into the input
860
962
  e.stopPropagation();
861
963
  self.keepToolbarAlive = true;
862
964
  });
863
- this.anchorInput.addEventListener('blur', function () {
864
- self.keepToolbarAlive = false;
865
- self.checkSelection();
866
- });
965
+
966
+ // Hide the anchor form when focusing outside of it.
967
+ document.body.addEventListener('click', function (e) {
968
+ if (e.target !== self.anchorForm && !isDescendant(self.anchorForm, e.target) && !isDescendant(self.toolbarActions, e.target)) {
969
+ self.keepToolbarAlive = false;
970
+ self.checkSelection();
971
+ }
972
+ }, true);
973
+ document.body.addEventListener('focus', function (e) {
974
+ if (e.target !== self.anchorForm && !isDescendant(self.anchorForm, e.target) && !isDescendant(self.toolbarActions, e.target)) {
975
+ self.keepToolbarAlive = false;
976
+ self.checkSelection();
977
+ }
978
+ }, true);
979
+
867
980
  linkCancel.addEventListener('click', function (e) {
868
981
  e.preventDefault();
869
982
  self.showToolbarActions();
@@ -879,7 +992,7 @@ if (typeof module === 'object') {
879
992
 
880
993
  // TODO: break method
881
994
  showAnchorPreview: function (anchorEl) {
882
- if (this.anchorPreview.classList.contains('medium-editor-anchor-preview-active')
995
+ if (this.anchorPreview.classList.contains('medium-editor-anchor-preview-active')
883
996
  || anchorEl.getAttribute('data-disable-preview')) {
884
997
  return true;
885
998
  }
@@ -1068,19 +1181,56 @@ if (typeof module === 'object') {
1068
1181
  }
1069
1182
  },
1070
1183
 
1071
- createLink: function (input) {
1184
+ setButtonClass: function (buttonClass) {
1185
+ var el = getSelectionStart(),
1186
+ classes = buttonClass.split(' '),
1187
+ i, j;
1188
+ if (el.tagName.toLowerCase() === 'a') {
1189
+ for (j = 0; j < classes.length; j += 1) {
1190
+ el.classList.add(classes[j]);
1191
+ }
1192
+ } else {
1193
+ el = el.getElementsByTagName('a');
1194
+ for (i = 0; i < el.length; i += 1) {
1195
+ for (j = 0; j < classes.length; j += 1) {
1196
+ el[i].classList.add(classes[j]);
1197
+ }
1198
+ }
1199
+ }
1200
+ },
1201
+
1202
+ createLink: function (input, target, buttonClass) {
1203
+ var i, event;
1204
+
1072
1205
  if (input.value.trim().length === 0) {
1073
1206
  this.hideToolbarActions();
1074
1207
  return;
1075
1208
  }
1209
+
1076
1210
  restoreSelection(this.savedSelection);
1211
+
1077
1212
  if (this.options.checkLinkFormat) {
1078
1213
  input.value = this.checkLinkFormat(input.value);
1079
1214
  }
1215
+
1080
1216
  document.execCommand('createLink', false, input.value);
1081
- if (this.options.targetBlank) {
1217
+
1218
+ if (this.options.targetBlank || target === "_blank") {
1082
1219
  this.setTargetBlank();
1083
1220
  }
1221
+
1222
+ if (buttonClass) {
1223
+ this.setButtonClass(buttonClass);
1224
+ }
1225
+
1226
+ if (this.options.targetBlank || target === "_blank" || buttonClass) {
1227
+ event = document.createEvent("HTMLEvents");
1228
+ event.initEvent("input", true, true, window);
1229
+ for (i = 0; i < this.elements.length; i += 1) {
1230
+ this.elements[i].dispatchEvent(event);
1231
+ }
1232
+ }
1233
+
1084
1234
  this.checkSelection();
1085
1235
  this.showToolbarActions();
1086
1236
  input.value = '';
@@ -58,6 +58,22 @@
58
58
  transform: matrix(1, 0, 0, 1, 0, 0);
59
59
  opacity: 1; } }
60
60
 
61
+ .btn {
62
+ display: inline-block;
63
+ margin-bottom: 0;
64
+ font-weight: normal;
65
+ text-align: center;
66
+ vertical-align: middle;
67
+ background: #efefef;
68
+ border: 1px solid #ccc;
69
+ white-space: nowrap;
70
+ padding: 6px 12px;
71
+ border-radius: 4px;
72
+ color: #333;
73
+ text-decoration: none; }
74
+ .btn:hover {
75
+ text-decoration: underline; }
76
+
61
77
  .medium-toolbar-arrow-under:after, .medium-toolbar-arrow-over:before {
62
78
  position: absolute;
63
79
  left: 50%;
@@ -134,7 +150,7 @@
134
150
  display: none; }
135
151
  .medium-editor-toolbar-form-anchor input, .medium-editor-toolbar-form-anchor a {
136
152
  font-family: HelveticaNeue, Helvetica, Arial, sans-serif; }
137
- .medium-editor-toolbar-form-anchor input {
153
+ .medium-editor-toolbar-form-anchor .medium-editor-toolbar-anchor-input, .medium-editor-toolbar-form-anchor label {
138
154
  margin: 0;
139
155
  padding: 6px;
140
156
  width: 316px;
@@ -142,12 +158,14 @@
142
158
  font-size: 14px;
143
159
  -moz-box-sizing: border-box;
144
160
  box-sizing: border-box; }
145
- .medium-editor-toolbar-form-anchor input:focus {
161
+ .medium-editor-toolbar-form-anchor .medium-editor-toolbar-anchor-input:focus, .medium-editor-toolbar-form-anchor label:focus {
146
162
  outline: 0;
147
163
  border: none;
148
164
  box-shadow: none;
149
165
  -webkit-appearance: none;
150
166
  -moz-appearance: none; }
167
+ .medium-editor-toolbar-form-anchor label {
168
+ display: block; }
151
169
  .medium-editor-toolbar-form-anchor a {
152
170
  display: inline-block;
153
171
  margin: 0 10px;
@@ -40,22 +40,22 @@
40
40
  background: #428bca;
41
41
  color: #fff;
42
42
  border-radius: 4px; }
43
- .medium-editor-toolbar-form-anchor input {
43
+ .medium-editor-toolbar-form-anchor .medium-editor-toolbar-anchor-input {
44
44
  height: 60px;
45
45
  background: #428bca;
46
46
  color: #fff; }
47
- .medium-editor-toolbar-form-anchor input::-webkit-input-placeholder {
47
+ .medium-editor-toolbar-form-anchor .medium-editor-toolbar-anchor-input::-webkit-input-placeholder {
48
48
  color: #fff;
49
49
  color: rgba(255, 255, 255, 0.8); }
50
- .medium-editor-toolbar-form-anchor input:-moz-placeholder {
50
+ .medium-editor-toolbar-form-anchor .medium-editor-toolbar-anchor-input:-moz-placeholder {
51
51
  /* Firefox 18- */
52
52
  color: #fff;
53
53
  color: rgba(255, 255, 255, 0.8); }
54
- .medium-editor-toolbar-form-anchor input::-moz-placeholder {
54
+ .medium-editor-toolbar-form-anchor .medium-editor-toolbar-anchor-input::-moz-placeholder {
55
55
  /* Firefox 19+ */
56
56
  color: #fff;
57
57
  color: rgba(255, 255, 255, 0.8); }
58
- .medium-editor-toolbar-form-anchor input:-ms-input-placeholder {
58
+ .medium-editor-toolbar-form-anchor .medium-editor-toolbar-anchor-input:-ms-input-placeholder {
59
59
  color: #fff;
60
60
  color: rgba(255, 255, 255, 0.8); }
61
61
  .medium-editor-toolbar-form-anchor a {
@@ -48,7 +48,7 @@
48
48
  background: #242424;
49
49
  color: #999;
50
50
  border-radius: 5px; }
51
- .medium-editor-toolbar-form-anchor input {
51
+ .medium-editor-toolbar-form-anchor .medium-editor-toolbar-anchor-input {
52
52
  height: 50px;
53
53
  background: #242424;
54
54
  color: #ccc;
@@ -28,22 +28,22 @@
28
28
  .medium-editor-toolbar li .medium-editor-button-last {
29
29
  border-right: none; }
30
30
 
31
- .medium-editor-toolbar-form-anchor input {
31
+ .medium-editor-toolbar-form-anchor .medium-editor-toolbar-anchor-input {
32
32
  height: 60px;
33
33
  background: #57ad68;
34
34
  color: #fff; }
35
- .medium-editor-toolbar-form-anchor input::-webkit-input-placeholder {
35
+ .medium-editor-toolbar-form-anchor .medium-editor-toolbar-anchor-input::-webkit-input-placeholder {
36
36
  color: #fff;
37
37
  color: rgba(255, 255, 255, 0.8); }
38
- .medium-editor-toolbar-form-anchor input:-moz-placeholder {
38
+ .medium-editor-toolbar-form-anchor .medium-editor-toolbar-anchor-input:-moz-placeholder {
39
39
  /* Firefox 18- */
40
40
  color: #fff;
41
41
  color: rgba(255, 255, 255, 0.8); }
42
- .medium-editor-toolbar-form-anchor input::-moz-placeholder {
42
+ .medium-editor-toolbar-form-anchor .medium-editor-toolbar-anchor-input::-moz-placeholder {
43
43
  /* Firefox 19+ */
44
44
  color: #fff;
45
45
  color: rgba(255, 255, 255, 0.8); }
46
- .medium-editor-toolbar-form-anchor input:-ms-input-placeholder {
46
+ .medium-editor-toolbar-form-anchor .medium-editor-toolbar-anchor-input:-ms-input-placeholder {
47
47
  color: #fff;
48
48
  color: rgba(255, 255, 255, 0.8); }
49
49
  .medium-editor-toolbar-form-anchor a {
@@ -39,7 +39,7 @@
39
39
  background: #dee7f0;
40
40
  color: #999;
41
41
  border-radius: 2px; }
42
- .medium-editor-toolbar-form-anchor input {
42
+ .medium-editor-toolbar-form-anchor .medium-editor-toolbar-anchor-input {
43
43
  height: 50px;
44
44
  background: #dee7f0;
45
45
  color: #40648a;
@@ -40,7 +40,7 @@
40
40
  background: #fff;
41
41
  color: #999;
42
42
  border-radius: 5px; }
43
- .medium-editor-toolbar-form-anchor input {
43
+ .medium-editor-toolbar-form-anchor .medium-editor-toolbar-anchor-input {
44
44
  margin: 0;
45
45
  height: 50px;
46
46
  background: #fff;
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: medium-editor-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0
4
+ version: 0.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ahmet Sezgin Duran
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-08-09 00:00:00.000000000 Z
11
+ date: 2014-09-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties
@@ -88,3 +88,4 @@ signing_key:
88
88
  specification_version: 4
89
89
  summary: Medium Editor integrated in Rails asset pipeline
90
90
  test_files: []
91
+ has_rdoc: