readmorejs-rails 0.0.11 → 0.0.12
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/readmorejs/rails/version.rb +1 -1
- data/vendor/assets/javascripts/readmore.js +237 -66
- data/vendor/assets/javascripts/readmore.min.js +11 -5
- metadata +18 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 39bc82eec15d46381e6b46a7ce1f1cc59d6f6d75
|
4
|
+
data.tar.gz: 922577f57d1cee1fd21b2c0f2af03646d01961a5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 195c7d2f08f0b619b80a4f9afaa407812a2f6a2969ad7c56fcb61c54abd721394c369b56d5d43e2a72046cfce8a9aac4981e86ee572dc43af0cae3854ca16d1f
|
7
|
+
data.tar.gz: 134fb72adc5d8673b15520e0b1355b0ee68d445357c3dbc312d6afbef8fe657eb553b9c9b062e3e15ea349414c196e87514ebb282481a43c101b90d67460e574
|
@@ -1,142 +1,313 @@
|
|
1
1
|
/*!
|
2
|
+
* @preserve
|
3
|
+
*
|
2
4
|
* Readmore.js jQuery plugin
|
3
5
|
* Author: @jed_foster
|
4
|
-
* Project home: jedfoster.github.io/Readmore.js
|
6
|
+
* Project home: http://jedfoster.github.io/Readmore.js
|
5
7
|
* Licensed under the MIT license
|
8
|
+
*
|
9
|
+
* Debounce function from http://davidwalsh.name/javascript-debounce-function
|
6
10
|
*/
|
7
11
|
|
8
|
-
|
12
|
+
/* global jQuery */
|
13
|
+
|
14
|
+
(function($) {
|
15
|
+
'use strict';
|
9
16
|
|
10
17
|
var readmore = 'readmore',
|
11
18
|
defaults = {
|
12
19
|
speed: 100,
|
13
|
-
|
20
|
+
collapsedHeight: 200,
|
21
|
+
heightMargin: 16,
|
14
22
|
moreLink: '<a href="#">Read More</a>',
|
15
23
|
lessLink: '<a href="#">Close</a>',
|
16
24
|
embedCSS: true,
|
17
|
-
|
25
|
+
blockCSS: 'display: block; width: 100%;',
|
18
26
|
startOpen: false,
|
19
27
|
|
20
28
|
// callbacks
|
21
29
|
beforeToggle: function(){},
|
22
30
|
afterToggle: function(){}
|
23
31
|
},
|
24
|
-
cssEmbedded =
|
32
|
+
cssEmbedded = {},
|
33
|
+
uniqueIdCounter = 0;
|
25
34
|
|
26
|
-
function
|
27
|
-
|
35
|
+
function debounce(func, wait, immediate) {
|
36
|
+
var timeout;
|
37
|
+
|
38
|
+
return function() {
|
39
|
+
var context = this, args = arguments;
|
40
|
+
var later = function() {
|
41
|
+
timeout = null;
|
42
|
+
if (! immediate) {
|
43
|
+
func.apply(context, args);
|
44
|
+
}
|
45
|
+
};
|
46
|
+
var callNow = immediate && !timeout;
|
47
|
+
|
48
|
+
clearTimeout(timeout);
|
49
|
+
timeout = setTimeout(later, wait);
|
50
|
+
|
51
|
+
if (callNow) {
|
52
|
+
func.apply(context, args);
|
53
|
+
}
|
54
|
+
};
|
55
|
+
}
|
56
|
+
|
57
|
+
function uniqueId(prefix) {
|
58
|
+
var id = ++uniqueIdCounter;
|
28
59
|
|
29
|
-
|
60
|
+
return String(prefix == null ? 'rmjs-' : prefix) + id;
|
61
|
+
}
|
62
|
+
|
63
|
+
function setBoxHeights(element) {
|
64
|
+
var el = element.clone().css({
|
65
|
+
height: 'auto',
|
66
|
+
width: element.width(),
|
67
|
+
maxHeight: 'none',
|
68
|
+
overflow: 'hidden'
|
69
|
+
}).insertAfter(element),
|
70
|
+
expandedHeight = el.outerHeight(),
|
71
|
+
cssMaxHeight = parseInt(el.css({maxHeight: ''}).css('max-height').replace(/[^-\d\.]/g, ''), 10),
|
72
|
+
defaultHeight = element.data('defaultHeight');
|
73
|
+
|
74
|
+
el.remove();
|
30
75
|
|
31
|
-
|
76
|
+
var collapsedHeight = cssMaxHeight || element.data('collapsedHeight') || defaultHeight;
|
77
|
+
|
78
|
+
// Store our measurements.
|
79
|
+
element.data({
|
80
|
+
expandedHeight: expandedHeight,
|
81
|
+
maxHeight: cssMaxHeight,
|
82
|
+
collapsedHeight: collapsedHeight
|
83
|
+
})
|
84
|
+
// and disable any `max-height` property set in CSS
|
85
|
+
.css({
|
86
|
+
maxHeight: 'none'
|
87
|
+
});
|
88
|
+
}
|
32
89
|
|
33
|
-
|
90
|
+
var resizeBoxes = debounce(function() {
|
91
|
+
$('[data-readmore]').each(function() {
|
92
|
+
var current = $(this),
|
93
|
+
isExpanded = (current.attr('aria-expanded') === 'true');
|
34
94
|
|
35
|
-
|
36
|
-
var styles = '.readmore-js-toggle, .readmore-js-section { ' + this.options.sectionCSS + ' } .readmore-js-section { overflow: hidden; }';
|
95
|
+
setBoxHeights(current);
|
37
96
|
|
38
|
-
(
|
39
|
-
|
97
|
+
current.css({
|
98
|
+
height: current.data( (isExpanded ? 'expandedHeight' : 'collapsedHeight') )
|
99
|
+
});
|
100
|
+
});
|
101
|
+
}, 100);
|
102
|
+
|
103
|
+
function embedCSS(options) {
|
104
|
+
if (! cssEmbedded[options.selector]) {
|
105
|
+
var styles = ' ';
|
106
|
+
|
107
|
+
if (options.embedCSS && options.blockCSS !== '') {
|
108
|
+
styles += options.selector + ' + [data-readmore-toggle], ' +
|
109
|
+
options.selector + '[data-readmore]{' +
|
110
|
+
options.blockCSS +
|
111
|
+
'}';
|
112
|
+
}
|
113
|
+
|
114
|
+
// Include the transition CSS even if embedCSS is false
|
115
|
+
styles += options.selector + '[data-readmore]{' +
|
116
|
+
'transition: height ' + options.speed + 'ms;' +
|
117
|
+
'overflow: hidden;' +
|
118
|
+
'}';
|
119
|
+
|
120
|
+
(function(d, u) {
|
121
|
+
var css = d.createElement('style');
|
40
122
|
css.type = 'text/css';
|
41
|
-
|
42
|
-
|
123
|
+
|
124
|
+
if (css.styleSheet) {
|
125
|
+
css.styleSheet.cssText = u;
|
43
126
|
}
|
44
127
|
else {
|
45
|
-
|
128
|
+
css.appendChild(d.createTextNode(u));
|
46
129
|
}
|
47
|
-
|
130
|
+
|
131
|
+
d.getElementsByTagName('head')[0].appendChild(css);
|
48
132
|
}(document, styles));
|
49
133
|
|
50
|
-
cssEmbedded = true;
|
134
|
+
cssEmbedded[options.selector] = true;
|
51
135
|
}
|
136
|
+
}
|
137
|
+
|
138
|
+
function Readmore(element, options) {
|
139
|
+
var $this = this;
|
140
|
+
|
141
|
+
this.element = element;
|
142
|
+
|
143
|
+
this.options = $.extend({}, defaults, options);
|
144
|
+
|
145
|
+
embedCSS(this.options);
|
52
146
|
|
53
147
|
this._defaults = defaults;
|
54
148
|
this._name = readmore;
|
55
149
|
|
56
150
|
this.init();
|
151
|
+
|
152
|
+
// IE8 chokes on `window.addEventListener`, so need to test for support.
|
153
|
+
if (window.addEventListener) {
|
154
|
+
// Need to resize boxes when the page has fully loaded.
|
155
|
+
window.addEventListener('load', resizeBoxes);
|
156
|
+
window.addEventListener('resize', resizeBoxes);
|
157
|
+
}
|
158
|
+
else {
|
159
|
+
window.attachEvent('load', resizeBoxes);
|
160
|
+
window.attachEvent('resize', resizeBoxes);
|
161
|
+
}
|
57
162
|
}
|
58
163
|
|
59
|
-
Readmore.prototype = {
|
60
164
|
|
165
|
+
Readmore.prototype = {
|
61
166
|
init: function() {
|
62
|
-
var $this = this
|
167
|
+
var $this = this,
|
168
|
+
current = $(this.element);
|
63
169
|
|
64
|
-
|
65
|
-
|
66
|
-
|
170
|
+
current.data({
|
171
|
+
defaultHeight: this.options.collapsedHeight,
|
172
|
+
heightMargin: this.options.heightMargin
|
173
|
+
});
|
67
174
|
|
68
|
-
|
175
|
+
setBoxHeights(current);
|
69
176
|
|
70
|
-
|
71
|
-
current.
|
72
|
-
}
|
177
|
+
var collapsedHeight = current.data('collapsedHeight'),
|
178
|
+
heightMargin = current.data('heightMargin');
|
73
179
|
|
74
|
-
|
180
|
+
if (current.outerHeight(true) <= collapsedHeight + heightMargin) {
|
181
|
+
// The block is shorter than the limit, so there's no need to truncate it.
|
182
|
+
return true;
|
183
|
+
}
|
184
|
+
else {
|
185
|
+
var id = current.attr('id') || uniqueId(),
|
186
|
+
useLink = $this.options.startOpen ? $this.options.lessLink : $this.options.moreLink;
|
75
187
|
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
current.data('sliderHeight', maxHeight);
|
188
|
+
current.attr({
|
189
|
+
'data-readmore': '',
|
190
|
+
'aria-expanded': false,
|
191
|
+
'id': id
|
192
|
+
});
|
82
193
|
|
83
|
-
|
84
|
-
|
194
|
+
current.after($(useLink)
|
195
|
+
.on('click', function(event) { $this.toggle(this, current[0], event); })
|
196
|
+
.attr({
|
197
|
+
'data-readmore-toggle': '',
|
198
|
+
'aria-controls': id
|
199
|
+
}));
|
85
200
|
|
86
|
-
|
87
|
-
|
88
|
-
|
201
|
+
if (! $this.options.startOpen) {
|
202
|
+
current.css({
|
203
|
+
height: collapsedHeight
|
204
|
+
});
|
89
205
|
}
|
90
|
-
}
|
206
|
+
}
|
91
207
|
},
|
92
208
|
|
93
|
-
|
94
|
-
|
95
|
-
|
209
|
+
toggle: function(trigger, element, event) {
|
210
|
+
if (event) {
|
211
|
+
event.preventDefault();
|
212
|
+
}
|
213
|
+
|
214
|
+
if (! trigger) {
|
215
|
+
trigger = $('[aria-controls="' + this.element.id + '"]')[0];
|
216
|
+
}
|
217
|
+
|
218
|
+
if (! element) {
|
219
|
+
element = this.element;
|
220
|
+
}
|
96
221
|
|
97
222
|
var $this = this,
|
98
|
-
|
99
|
-
|
100
|
-
|
223
|
+
$element = $(element),
|
224
|
+
newHeight = '',
|
225
|
+
newLink = '',
|
226
|
+
expanded = false,
|
227
|
+
collapsedHeight = $element.data('collapsedHeight');
|
101
228
|
|
102
|
-
if ($
|
103
|
-
newHeight = $
|
229
|
+
if ($element.height() <= collapsedHeight) {
|
230
|
+
newHeight = $element.data('expandedHeight') + 'px';
|
104
231
|
newLink = 'lessLink';
|
105
|
-
|
232
|
+
expanded = true;
|
106
233
|
}
|
107
|
-
|
108
234
|
else {
|
109
|
-
newHeight =
|
235
|
+
newHeight = collapsedHeight;
|
110
236
|
newLink = 'moreLink';
|
111
237
|
}
|
112
238
|
|
113
239
|
// Fire beforeToggle callback
|
114
|
-
|
240
|
+
// Since we determined the new "expanded" state above we're now out of sync
|
241
|
+
// with our true current state, so we need to flip the value of `expanded`
|
242
|
+
$this.options.beforeToggle(trigger, element, ! expanded);
|
115
243
|
|
116
|
-
$
|
117
|
-
|
118
|
-
$(trigger).replaceWith($($this.options[newLink]).on('click', function(event) { $this.toggleSlider(this, element, event) }).addClass('readmore-js-toggle'));
|
244
|
+
$element.css({'height': newHeight});
|
119
245
|
|
120
246
|
// Fire afterToggle callback
|
121
|
-
$
|
247
|
+
$element.on('transitionend', function() {
|
248
|
+
$this.options.afterToggle(trigger, element, expanded);
|
249
|
+
|
250
|
+
$(this).attr({
|
251
|
+
'aria-expanded': expanded
|
252
|
+
}).off('transitionend');
|
253
|
+
});
|
254
|
+
|
255
|
+
$(trigger).replaceWith($($this.options[newLink])
|
256
|
+
.on('click', function(event) { $this.toggle(this, element, event); })
|
257
|
+
.attr({
|
258
|
+
'data-readmore-toggle': '',
|
259
|
+
'aria-controls': $element.attr('id')
|
260
|
+
}));
|
261
|
+
},
|
262
|
+
|
263
|
+
destroy: function() {
|
264
|
+
$(this.element).each(function() {
|
265
|
+
var current = $(this);
|
266
|
+
|
267
|
+
current.attr({
|
268
|
+
'data-readmore': null,
|
269
|
+
'aria-expanded': null
|
270
|
+
})
|
271
|
+
.css({
|
272
|
+
maxHeight: '',
|
273
|
+
height: ''
|
274
|
+
})
|
275
|
+
.next('[data-readmore-toggle]')
|
276
|
+
.remove();
|
277
|
+
|
278
|
+
current.removeData();
|
279
|
+
});
|
122
280
|
}
|
123
281
|
};
|
124
282
|
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
283
|
+
|
284
|
+
$.fn.readmore = function(options) {
|
285
|
+
var args = arguments,
|
286
|
+
selector = this.selector;
|
287
|
+
|
288
|
+
options = options || {};
|
289
|
+
|
290
|
+
if (typeof options === 'object') {
|
291
|
+
return this.each(function() {
|
292
|
+
if ($.data(this, 'plugin_' + readmore)) {
|
293
|
+
var instance = $.data(this, 'plugin_' + readmore);
|
294
|
+
instance.destroy.apply(instance);
|
131
295
|
}
|
296
|
+
|
297
|
+
options.selector = selector;
|
298
|
+
|
299
|
+
$.data(this, 'plugin_' + readmore, new Readmore(this, options));
|
132
300
|
});
|
133
|
-
}
|
301
|
+
}
|
302
|
+
else if (typeof options === 'string' && options[0] !== '_' && options !== 'init') {
|
134
303
|
return this.each(function () {
|
135
304
|
var instance = $.data(this, 'plugin_' + readmore);
|
136
305
|
if (instance instanceof Readmore && typeof instance[options] === 'function') {
|
137
|
-
instance[options].apply(
|
306
|
+
instance[options].apply(instance, Array.prototype.slice.call(args, 1));
|
138
307
|
}
|
139
308
|
});
|
140
309
|
}
|
141
|
-
}
|
310
|
+
};
|
311
|
+
|
142
312
|
})(jQuery);
|
313
|
+
|
@@ -1,5 +1,11 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
1
|
+
/*!
|
2
|
+
* @preserve
|
3
|
+
*
|
4
|
+
* Readmore.js jQuery plugin
|
5
|
+
* Author: @jed_foster
|
6
|
+
* Project home: http://jedfoster.github.io/Readmore.js
|
7
|
+
* Licensed under the MIT license
|
8
|
+
*
|
9
|
+
* Debounce function from http://davidwalsh.name/javascript-debounce-function
|
10
|
+
*/
|
11
|
+
!function(e){"use strict";function t(e,t,a){var i;return function(){var n=this,o=arguments,r=function(){i=null,a||e.apply(n,o)},s=a&&!i;clearTimeout(i),i=setTimeout(r,t),s&&e.apply(n,o)}}function a(e){var t=++h;return String(null==e?"rmjs-":e)+t}function i(e){var t=e.clone().css({height:"auto",width:e.width(),maxHeight:"none",overflow:"hidden"}).insertAfter(e),a=t.outerHeight(),i=parseInt(t.css({maxHeight:""}).css("max-height").replace(/[^-\d\.]/g,""),10),n=e.data("defaultHeight");t.remove();var o=i||e.data("collapsedHeight")||n;e.data({expandedHeight:a,maxHeight:i,collapsedHeight:o}).css({maxHeight:"none"})}function n(e){if(!d[e.selector]){var t=" ";e.embedCSS&&""!==e.blockCSS&&(t+=e.selector+" + [data-readmore-toggle], "+e.selector+"[data-readmore]{"+e.blockCSS+"}"),t+=e.selector+"[data-readmore]{transition: height "+e.speed+"ms;overflow: hidden;}",function(e,t){var a=e.createElement("style");a.type="text/css",a.styleSheet?a.styleSheet.cssText=t:a.appendChild(e.createTextNode(t)),e.getElementsByTagName("head")[0].appendChild(a)}(document,t),d[e.selector]=!0}}function o(t,a){this.element=t,this.options=e.extend({},s,a),n(this.options),this._defaults=s,this._name=r,this.init(),window.addEventListener?(window.addEventListener("load",l),window.addEventListener("resize",l)):(window.attachEvent("load",l),window.attachEvent("resize",l))}var r="readmore",s={speed:100,collapsedHeight:200,heightMargin:16,moreLink:'<a href="#">Read More</a>',lessLink:'<a href="#">Close</a>',embedCSS:!0,blockCSS:"display: block; width: 100%;",startOpen:!1,beforeToggle:function(){},afterToggle:function(){}},d={},h=0,l=t(function(){e("[data-readmore]").each(function(){var t=e(this),a="true"===t.attr("aria-expanded");i(t),t.css({height:t.data(a?"expandedHeight":"collapsedHeight")})})},100);o.prototype={init:function(){var t=this,n=e(this.element);n.data({defaultHeight:this.options.collapsedHeight,heightMargin:this.options.heightMargin}),i(n);var o=n.data("collapsedHeight"),r=n.data("heightMargin");if(n.outerHeight(!0)<=o+r)return!0;var s=n.attr("id")||a(),d=t.options.startOpen?t.options.lessLink:t.options.moreLink;n.attr({"data-readmore":"","aria-expanded":!1,id:s}),n.after(e(d).on("click",function(e){t.toggle(this,n[0],e)}).attr({"data-readmore-toggle":"","aria-controls":s})),t.options.startOpen||n.css({height:o})},toggle:function(t,a,i){i&&i.preventDefault(),t||(t=e('[aria-controls="'+this.element.id+'"]')[0]),a||(a=this.element);var n=this,o=e(a),r="",s="",d=!1,h=o.data("collapsedHeight");o.height()<=h?(r=o.data("expandedHeight")+"px",s="lessLink",d=!0):(r=h,s="moreLink"),n.options.beforeToggle(t,a,!d),o.css({height:r}),o.on("transitionend",function(){n.options.afterToggle(t,a,d),e(this).attr({"aria-expanded":d}).off("transitionend")}),e(t).replaceWith(e(n.options[s]).on("click",function(e){n.toggle(this,a,e)}).attr({"data-readmore-toggle":"","aria-controls":o.attr("id")}))},destroy:function(){e(this.element).each(function(){var t=e(this);t.attr({"data-readmore":null,"aria-expanded":null}).css({maxHeight:"",height:""}).next("[data-readmore-toggle]").remove(),t.removeData()})}},e.fn.readmore=function(t){var a=arguments,i=this.selector;return t=t||{},"object"==typeof t?this.each(function(){if(e.data(this,"plugin_"+r)){var a=e.data(this,"plugin_"+r);a.destroy.apply(a)}t.selector=i,e.data(this,"plugin_"+r,new o(this,t))}):"string"==typeof t&&"_"!==t[0]&&"init"!==t?this.each(function(){var i=e.data(this,"plugin_"+r);i instanceof o&&"function"==typeof i[t]&&i[t].apply(i,Array.prototype.slice.call(a,1))}):void 0}}(jQuery);
|
metadata
CHANGED
@@ -1,89 +1,89 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: readmorejs-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- seankay
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-05-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: railties
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '3.2'
|
20
|
-
- - <
|
20
|
+
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
22
|
version: '5.0'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
|
-
- -
|
27
|
+
- - ">="
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: '3.2'
|
30
|
-
- - <
|
30
|
+
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: '5.0'
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: bundler
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
|
-
- - ~>
|
37
|
+
- - "~>"
|
38
38
|
- !ruby/object:Gem::Version
|
39
39
|
version: '1.3'
|
40
40
|
type: :development
|
41
41
|
prerelease: false
|
42
42
|
version_requirements: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
|
-
- - ~>
|
44
|
+
- - "~>"
|
45
45
|
- !ruby/object:Gem::Version
|
46
46
|
version: '1.3'
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rake
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
50
50
|
requirements:
|
51
|
-
- -
|
51
|
+
- - ">="
|
52
52
|
- !ruby/object:Gem::Version
|
53
53
|
version: '0'
|
54
54
|
type: :development
|
55
55
|
prerelease: false
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
57
|
requirements:
|
58
|
-
- -
|
58
|
+
- - ">="
|
59
59
|
- !ruby/object:Gem::Version
|
60
60
|
version: '0'
|
61
61
|
- !ruby/object:Gem::Dependency
|
62
62
|
name: activesupport
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
64
64
|
requirements:
|
65
|
-
- -
|
65
|
+
- - ">="
|
66
66
|
- !ruby/object:Gem::Version
|
67
67
|
version: '0'
|
68
68
|
type: :development
|
69
69
|
prerelease: false
|
70
70
|
version_requirements: !ruby/object:Gem::Requirement
|
71
71
|
requirements:
|
72
|
-
- -
|
72
|
+
- - ">="
|
73
73
|
- !ruby/object:Gem::Version
|
74
74
|
version: '0'
|
75
75
|
- !ruby/object:Gem::Dependency
|
76
76
|
name: tzinfo
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|
78
78
|
requirements:
|
79
|
-
- -
|
79
|
+
- - ">="
|
80
80
|
- !ruby/object:Gem::Version
|
81
81
|
version: '0'
|
82
82
|
type: :development
|
83
83
|
prerelease: false
|
84
84
|
version_requirements: !ruby/object:Gem::Requirement
|
85
85
|
requirements:
|
86
|
-
- -
|
86
|
+
- - ">="
|
87
87
|
- !ruby/object:Gem::Version
|
88
88
|
version: '0'
|
89
89
|
description: Readmore.js for Rails
|
@@ -93,7 +93,7 @@ executables: []
|
|
93
93
|
extensions: []
|
94
94
|
extra_rdoc_files: []
|
95
95
|
files:
|
96
|
-
- .gitignore
|
96
|
+
- ".gitignore"
|
97
97
|
- Gemfile
|
98
98
|
- LICENSE.txt
|
99
99
|
- README.md
|
@@ -126,17 +126,17 @@ require_paths:
|
|
126
126
|
- lib
|
127
127
|
required_ruby_version: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
|
-
- -
|
129
|
+
- - ">="
|
130
130
|
- !ruby/object:Gem::Version
|
131
131
|
version: '0'
|
132
132
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
133
133
|
requirements:
|
134
|
-
- -
|
134
|
+
- - ">="
|
135
135
|
- !ruby/object:Gem::Version
|
136
136
|
version: '0'
|
137
137
|
requirements: []
|
138
138
|
rubyforge_project:
|
139
|
-
rubygems_version: 2.
|
139
|
+
rubygems_version: 2.4.5
|
140
140
|
signing_key:
|
141
141
|
specification_version: 4
|
142
142
|
summary: Gemified Readmore.js
|