medium-editor-rails 0.10.0 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
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: