slim_scroll 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ MGRhOTljZjBlNGMxNjNiYTRlMWZhZGU4MjhlOGQyY2I2NTk0NTU1YQ==
5
+ data.tar.gz: !binary |-
6
+ NmQwZTM0MTQyN2M5YTgxNzlmNmFhMjMxNjhlNWRlYjY4OWE3ZjJjNA==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ NmNjNzViOWNkODM4YWE2NzdkODJmMzllZmUwOTk4NGYxMDA2NTdmOTE5Nzgw
10
+ N2IzNjAwZWZmOTUxODkzMDc1ZjExODFmMjcyMGU2NzE5MDQ0NzFiY2JiMjNl
11
+ ODIyMjQ1OWMyYjYxZGY4NjE3ZDU4NzZjYjIyYjI0ZDZlOWUyNjk=
12
+ data.tar.gz: !binary |-
13
+ YTY0ZmRmN2NlZDczNTFiZmNkYWZkODE1NzUyNWI4ZGRiMjdjMmEzN2NjZjM3
14
+ ZmQwMDQyNGVkZjg2OTdkNzY5YzIwMzk4NWYyMGE0ZjkxOTBkZTMzZDU4NWNj
15
+ NTg5YWQxMmQzMjlmYTAzOTY2NzI1NTU0ZTAzYTc0NmM2YzY0NzA=
data/README.md ADDED
@@ -0,0 +1,45 @@
1
+ slim_scroll is a small jQuery plugin gem that transforms any div into a scrollable area with a nice scrollbar - similar to the one Facebook and Google started using in their products recently. slim_scroll doesn't occupy any visual space as it only appears on a user initiated mouse-over. User can drag the scrollbar or use mouse-wheel to change the scroll value..
2
+
3
+ ## Setup
4
+
5
+ Add the gem to your Gemfile and run the `bundle` command to install it.
6
+
7
+ ```ruby
8
+ gem "slim_scroll"
9
+ ```
10
+
11
+ Run the generator to create the initial files.
12
+
13
+ ```
14
+ rails g slim_scroll:install
15
+ ```
16
+ **In Rails 3.1** add the JavaScript file to your application.js file manifest.
17
+
18
+ ```javascript
19
+ //= require slim_scroll
20
+ ```
21
+
22
+
23
+ **In Rails 3.0** add the generated slim_scroll file to your layout.
24
+
25
+ ```rhtml
26
+ <%= javascript_include_tag "slim_scroll" %>
27
+
28
+ ## Usage
29
+ Slim scroll provide various option to for user
30
+ ```rhtml
31
+ <%= subscribe_to "/messages/new" %>
32
+ ```
33
+ Use the `publish_to` helper method to send JavaScript to that channel. This is usually done in a JavaScript AJAX template (such as a create.js.erb file).
34
+
35
+ ```rhtml
36
+ <% publish_to "/messages/new" do %>
37
+ $("#chat").append("<%= j render(@messages) %>");
38
+ <% end %>
39
+ ```
40
+
41
+ This JavaScript will be immediately evaluated on all clients who have subscribed to that channel. In this example they will see the new chat message appear in real-time without reloading the browser.
42
+
43
+ ## Development & Feedback
44
+
45
+ Questions or comments? Please use the [issue tracker](https://github.com/ciserfan/slim_scroll/issues). Tests can be run with `bundle` and `rake` commands.
@@ -0,0 +1,8 @@
1
+ Description:
2
+ Setup jQuerylive assets on your application
3
+
4
+ Example:
5
+ rails g livequery:install
6
+
7
+ This will replace the default application assets:
8
+ /app/assets/javascripts/application.js
@@ -0,0 +1,37 @@
1
+ require 'rails'
2
+
3
+ # Supply generator for Rails 3.0.x or if asset pipeline is not enabled
4
+ if ::Rails.version < "3.1" || !::Rails.application.config.assets.enabled || !File.exist?('app/assets/javascripts/application.js') || !File.exist?('app/assets/javascripts/application.js.coffee')
5
+ module SlimScroll
6
+ module Generators
7
+ class InstallGenerator < ::Rails::Generators::Base
8
+
9
+ desc "This generator installs SlimScroll"
10
+ source_root File.expand_path('../../../../../vendor/assets/javascripts', __FILE__)
11
+
12
+ def copy_slim_scroll
13
+ say_status("copying", "slim_scroll", :green)
14
+ copy_file "slim_scroll.js", "public/javascripts/slim_scroll.js"
15
+ copy_file "slim_scroll.min.js", "public/javascripts/slim_scroll.min.js"
16
+ end
17
+ end
18
+ end
19
+ end
20
+ else
21
+ module SlimScroll
22
+ module Generators
23
+ class InstallGenerator < ::Rails::Generators::Base
24
+ desc "This generator add SlimScroll to application.js or application.js.coffee"
25
+ source_root File.expand_path('../../../../../vendor/assets/javascripts', __FILE__)
26
+ def add_assets
27
+ insert_into_file "app/assets/javascripts/application#{detect_js_format[0]}", "#{detect_js_format[1]} require slim_scroll\n", :after => "jquery_ujs\n"
28
+ end
29
+
30
+ def detect_js_format
31
+ return ['.js.coffee', '#='] if File.exist?('app/assets/javascripts/application.js.coffee')
32
+ return ['.js', '//='] if File.exist?('app/assets/javascripts/application.js')
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1 @@
1
+ require 'slim_scroll/rails'
@@ -0,0 +1,25 @@
1
+ module ActionDispatch
2
+ module Assertions
3
+ module SelectorAssertions
4
+
5
+ PATTERN_HTML = %Q{"((\\\\\"|[^\"])*)"}
6
+ PATTERN_UNICODE_ESCAPED_CHAR = /\\u([0-9a-zA-Z]{4})/
7
+
8
+ private
9
+
10
+ # Unescapes a JS string.
11
+ def unescape_js(js_string)
12
+ # js encodes double quotes and line breaks.
13
+ unescaped= js_string.gsub('\"', '"')
14
+ unescaped.gsub!('\\\'', "'")
15
+ unescaped.gsub!(/\\\//, '/')
16
+ unescaped.gsub!('\n', "\n")
17
+ unescaped.gsub!('\076', '>')
18
+ unescaped.gsub!('\074', '<')
19
+ # js encodes non-ascii characters.
20
+ unescaped.gsub!(PATTERN_UNICODE_ESCAPED_CHAR) {|u| [$1.hex].pack('U*')}
21
+ unescaped
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,8 @@
1
+ require 'rails'
2
+ require 'slim_scroll/assert_select' if ::Rails.env.test?
3
+ require 'slim_scroll/rails/engine' if ::Rails.version >= '3.1'
4
+ require 'slim_scroll/rails/railtie'
5
+ module SlimScroll
6
+ module Rails
7
+ end
8
+ end
@@ -0,0 +1,6 @@
1
+ module SlimScroll
2
+ module Rails
3
+ class Engine < ::Rails::Engine
4
+ end
5
+ end
6
+ end
@@ -0,0 +1,13 @@
1
+ # Used to ensure that Rails 3.0.x, as well as Rails >= 3.1 with asset pipeline disabled
2
+ # get the minified version of the scripts included into the layout in production.
3
+ module SlimScroll
4
+ module Rails
5
+ class Railtie < ::Rails::Railtie
6
+ config.before_configuration do
7
+ if config.action_view.javascript_expansions
8
+ slim_scroll_defaults = ::Rails.env.production? || ::Rails.env.test? ? %w(slim_scroll.min) : %w(slim_scroll)
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,228 @@
1
+ /*! Copyright (c) 2011 Piotr Rochala (http://rocha.la)
2
+ * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
3
+ * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
4
+ *
5
+ * Version: 1.3.0
6
+ *
7
+ */
8
+ (function (f) {
9
+ jQuery.fn.extend({
10
+ slimScroll: function (h) {
11
+ var a = f.extend({
12
+ width: "auto",
13
+ height: "250px",
14
+ size: "7px",
15
+ color: "#000",
16
+ position: "right",
17
+ distance: "1px",
18
+ start: "top",
19
+ opacity: 0.4,
20
+ alwaysVisible: !1,
21
+ disableFadeOut: !1,
22
+ railVisible: !1,
23
+ railColor: "#333",
24
+ railOpacity: 0.2,
25
+ railDraggable: !0,
26
+ railClass: "slimScrollRail",
27
+ barClass: "slimScrollBar",
28
+ wrapperClass: "slimScrollDiv",
29
+ allowPageScroll: !1,
30
+ wheelStep: 20,
31
+ touchScrollStep: 200,
32
+ borderRadius: "7px",
33
+ railBorderRadius: "7px"
34
+ }, h);
35
+ this.each(function () {
36
+ function r(d) {
37
+ if (s) {
38
+ d = d ||
39
+ window.event;
40
+ var c = 0;
41
+ d.wheelDelta && (c = -d.wheelDelta / 120);
42
+ d.detail && (c = d.detail / 3);
43
+ f(d.target || d.srcTarget || d.srcElement).closest("." + a.wrapperClass).is(b.parent()) && m(c, !0);
44
+ d.preventDefault && !k && d.preventDefault();
45
+ k || (d.returnValue = !1)
46
+ }
47
+ }
48
+
49
+ function m(d, f, h) {
50
+ k = !1;
51
+ var e = d,
52
+ g = b.outerHeight() - c.outerHeight();
53
+ f && (e = parseInt(c.css("top")) + d * parseInt(a.wheelStep) / 100 * c.outerHeight(), e = Math.min(Math.max(e, 0), g), e = 0 < d ? Math.ceil(e) : Math.floor(e), c.css({
54
+ top: e + "px"
55
+ }));
56
+ l = parseInt(c.css("top")) / (b.outerHeight() - c.outerHeight());
57
+ e = l * (b[0].scrollHeight - b.outerHeight());
58
+ h && (e = d, d = e / b[0].scrollHeight * b.outerHeight(), d = Math.min(Math.max(d, 0), g), c.css({
59
+ top: d + "px"
60
+ }));
61
+ b.scrollTop(e);
62
+ b.trigger("slimscrolling", ~~e);
63
+ v();
64
+ p()
65
+ }
66
+
67
+ function C() {
68
+ window.addEventListener ? (this.addEventListener("DOMMouseScroll", r, !1), this.addEventListener("mousewheel", r, !1), this.addEventListener("MozMousePixelScroll", r, !1)) : document.attachEvent("onmousewheel", r)
69
+ }
70
+
71
+ function w() {
72
+ u = Math.max(b.outerHeight() / b[0].scrollHeight * b.outerHeight(), D);
73
+ c.css({
74
+ height: u + "px"
75
+ });
76
+ var a = u == b.outerHeight() ? "none" : "block";
77
+ c.css({
78
+ display: a
79
+ })
80
+ }
81
+
82
+ function v() {
83
+ w();
84
+ clearTimeout(A);
85
+ l == ~~l ? (k = a.allowPageScroll, B != l && b.trigger("slimscroll", 0 == ~~l ? "top" : "bottom")) : k = !1;
86
+ B = l;
87
+ u >= b.outerHeight() ? k = !0 : (c.stop(!0, !0).fadeIn("fast"), a.railVisible && g.stop(!0, !0).fadeIn("fast"))
88
+ }
89
+
90
+ function p() {
91
+ a.alwaysVisible || (A = setTimeout(function () {
92
+ a.disableFadeOut && s || (x || y) || (c.fadeOut("slow"), g.fadeOut("slow"))
93
+ }, 1E3))
94
+ }
95
+ var s, x, y, A, z, u, l, B, D = 30,
96
+ k = !1,
97
+ b = f(this);
98
+ if (b.parent().hasClass(a.wrapperClass)) {
99
+ var n = b.scrollTop(),
100
+ c = b.parent().find("." + a.barClass),
101
+ g = b.parent().find("." + a.railClass);
102
+ w();
103
+ if (f.isPlainObject(h)) {
104
+ if ("height" in h && "auto" == h.height) {
105
+ b.parent().css("height", "auto");
106
+ b.css("height", "auto");
107
+ var q = b.parent().parent().height();
108
+ b.parent().css("height", q);
109
+ b.css("height", q)
110
+ }
111
+ if ("scrollTo" in h) n = parseInt(a.scrollTo);
112
+ else if ("scrollBy" in h) n += parseInt(a.scrollBy);
113
+ else if ("destroy" in h) {
114
+ c.remove();
115
+ g.remove();
116
+ b.unwrap();
117
+ return
118
+ }
119
+ m(n, !1, !0)
120
+ }
121
+ } else {
122
+ a.height = "auto" == a.height ? b.parent().height() : a.height;
123
+ n = f("<div></div>").addClass(a.wrapperClass).css({
124
+ position: "relative",
125
+ overflow: "hidden",
126
+ width: a.width,
127
+ height: a.height
128
+ });
129
+ b.css({
130
+ overflow: "hidden",
131
+ width: a.width,
132
+ height: a.height
133
+ });
134
+ var g = f("<div></div>").addClass(a.railClass).css({
135
+ width: a.size,
136
+ height: "100%",
137
+ position: "absolute",
138
+ top: 0,
139
+ display: a.alwaysVisible && a.railVisible ? "block" : "none",
140
+ "border-radius": a.railBorderRadius,
141
+ background: a.railColor,
142
+ opacity: a.railOpacity,
143
+ zIndex: 90
144
+ }),
145
+ c = f("<div></div>").addClass(a.barClass).css({
146
+ background: a.color,
147
+ width: a.size,
148
+ position: "absolute",
149
+ top: 0,
150
+ opacity: a.opacity,
151
+ display: a.alwaysVisible ? "block" : "none",
152
+ "border-radius": a.borderRadius,
153
+ BorderRadius: a.borderRadius,
154
+ MozBorderRadius: a.borderRadius,
155
+ WebkitBorderRadius: a.borderRadius,
156
+ zIndex: 99
157
+ }),
158
+ q = "right" == a.position ? {
159
+ right: a.distance
160
+ } : {
161
+ left: a.distance
162
+ };
163
+ g.css(q);
164
+ c.css(q);
165
+ b.wrap(n);
166
+ b.parent().append(c);
167
+ b.parent().append(g);
168
+ a.railDraggable && c.bind("mousedown", function (a) {
169
+ var b = f(document);
170
+ y = !0;
171
+ t = parseFloat(c.css("top"));
172
+ pageY = a.pageY;
173
+ b.bind("mousemove.slimscroll", function (a) {
174
+ currTop = t + a.pageY - pageY;
175
+ c.css("top", currTop);
176
+ m(0, c.position().top, !1)
177
+ });
178
+ b.bind("mouseup.slimscroll", function (a) {
179
+ y = !1;
180
+ p();
181
+ b.unbind(".slimscroll")
182
+ });
183
+ return !1
184
+ }).bind("selectstart.slimscroll", function (a) {
185
+ a.stopPropagation();
186
+ a.preventDefault();
187
+ return !1
188
+ });
189
+ g.hover(function () {
190
+ v()
191
+ }, function () {
192
+ p()
193
+ });
194
+ c.hover(function () {
195
+ x = !0
196
+ }, function () {
197
+ x = !1
198
+ });
199
+ b.hover(function () {
200
+ s = !0;
201
+ v();
202
+ p()
203
+ }, function () {
204
+ s = !1;
205
+ p()
206
+ });
207
+ b.bind("touchstart", function (a, b) {
208
+ a.originalEvent.touches.length && (z = a.originalEvent.touches[0].pageY)
209
+ });
210
+ b.bind("touchmove", function (b) {
211
+ k || b.originalEvent.preventDefault();
212
+ b.originalEvent.touches.length &&
213
+ (m((z - b.originalEvent.touches[0].pageY) / a.touchScrollStep, !0), z = b.originalEvent.touches[0].pageY)
214
+ });
215
+ w();
216
+ "bottom" === a.start ? (c.css({
217
+ top: b.outerHeight() - c.outerHeight()
218
+ }), m(0, !0)) : "top" !== a.start && (m(f(a.start).position().top, null, !0), a.alwaysVisible || c.hide());
219
+ C()
220
+ }
221
+ });
222
+ return this
223
+ }
224
+ });
225
+ jQuery.fn.extend({
226
+ slimscroll: jQuery.fn.slimScroll
227
+ })
228
+ })(jQuery);
@@ -0,0 +1,16 @@
1
+ /*! Copyright (c) 2011 Piotr Rochala (http://rocha.la)
2
+ * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
3
+ * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
4
+ *
5
+ * Version: 1.3.0
6
+ *
7
+ */
8
+ (function(f){jQuery.fn.extend({slimScroll:function(h){var a=f.extend({width:"auto",height:"250px",size:"7px",color:"#000",position:"right",distance:"1px",start:"top",opacity:0.4,alwaysVisible:!1,disableFadeOut:!1,railVisible:!1,railColor:"#333",railOpacity:0.2,railDraggable:!0,railClass:"slimScrollRail",barClass:"slimScrollBar",wrapperClass:"slimScrollDiv",allowPageScroll:!1,wheelStep:20,touchScrollStep:200,borderRadius:"7px",railBorderRadius:"7px"},h);this.each(function(){function r(d){if(s){d=d||
9
+ window.event;var c=0;d.wheelDelta&&(c=-d.wheelDelta/120);d.detail&&(c=d.detail/3);f(d.target||d.srcTarget||d.srcElement).closest("."+a.wrapperClass).is(b.parent())&&m(c,!0);d.preventDefault&&!k&&d.preventDefault();k||(d.returnValue=!1)}}function m(d,f,h){k=!1;var e=d,g=b.outerHeight()-c.outerHeight();f&&(e=parseInt(c.css("top"))+d*parseInt(a.wheelStep)/100*c.outerHeight(),e=Math.min(Math.max(e,0),g),e=0<d?Math.ceil(e):Math.floor(e),c.css({top:e+"px"}));l=parseInt(c.css("top"))/(b.outerHeight()-c.outerHeight());
10
+ e=l*(b[0].scrollHeight-b.outerHeight());h&&(e=d,d=e/b[0].scrollHeight*b.outerHeight(),d=Math.min(Math.max(d,0),g),c.css({top:d+"px"}));b.scrollTop(e);b.trigger("slimscrolling",~~e);v();p()}function C(){window.addEventListener?(this.addEventListener("DOMMouseScroll",r,!1),this.addEventListener("mousewheel",r,!1),this.addEventListener("MozMousePixelScroll",r,!1)):document.attachEvent("onmousewheel",r)}function w(){u=Math.max(b.outerHeight()/b[0].scrollHeight*b.outerHeight(),D);c.css({height:u+"px"});
11
+ var a=u==b.outerHeight()?"none":"block";c.css({display:a})}function v(){w();clearTimeout(A);l==~~l?(k=a.allowPageScroll,B!=l&&b.trigger("slimscroll",0==~~l?"top":"bottom")):k=!1;B=l;u>=b.outerHeight()?k=!0:(c.stop(!0,!0).fadeIn("fast"),a.railVisible&&g.stop(!0,!0).fadeIn("fast"))}function p(){a.alwaysVisible||(A=setTimeout(function(){a.disableFadeOut&&s||(x||y)||(c.fadeOut("slow"),g.fadeOut("slow"))},1E3))}var s,x,y,A,z,u,l,B,D=30,k=!1,b=f(this);if(b.parent().hasClass(a.wrapperClass)){var n=b.scrollTop(),
12
+ c=b.parent().find("."+a.barClass),g=b.parent().find("."+a.railClass);w();if(f.isPlainObject(h)){if("height"in h&&"auto"==h.height){b.parent().css("height","auto");b.css("height","auto");var q=b.parent().parent().height();b.parent().css("height",q);b.css("height",q)}if("scrollTo"in h)n=parseInt(a.scrollTo);else if("scrollBy"in h)n+=parseInt(a.scrollBy);else if("destroy"in h){c.remove();g.remove();b.unwrap();return}m(n,!1,!0)}}else{a.height="auto"==a.height?b.parent().height():a.height;n=f("<div></div>").addClass(a.wrapperClass).css({position:"relative",
13
+ overflow:"hidden",width:a.width,height:a.height});b.css({overflow:"hidden",width:a.width,height:a.height});var g=f("<div></div>").addClass(a.railClass).css({width:a.size,height:"100%",position:"absolute",top:0,display:a.alwaysVisible&&a.railVisible?"block":"none","border-radius":a.railBorderRadius,background:a.railColor,opacity:a.railOpacity,zIndex:90}),c=f("<div></div>").addClass(a.barClass).css({background:a.color,width:a.size,position:"absolute",top:0,opacity:a.opacity,display:a.alwaysVisible?
14
+ "block":"none","border-radius":a.borderRadius,BorderRadius:a.borderRadius,MozBorderRadius:a.borderRadius,WebkitBorderRadius:a.borderRadius,zIndex:99}),q="right"==a.position?{right:a.distance}:{left:a.distance};g.css(q);c.css(q);b.wrap(n);b.parent().append(c);b.parent().append(g);a.railDraggable&&c.bind("mousedown",function(a){var b=f(document);y=!0;t=parseFloat(c.css("top"));pageY=a.pageY;b.bind("mousemove.slimscroll",function(a){currTop=t+a.pageY-pageY;c.css("top",currTop);m(0,c.position().top,!1)});
15
+ b.bind("mouseup.slimscroll",function(a){y=!1;p();b.unbind(".slimscroll")});return!1}).bind("selectstart.slimscroll",function(a){a.stopPropagation();a.preventDefault();return!1});g.hover(function(){v()},function(){p()});c.hover(function(){x=!0},function(){x=!1});b.hover(function(){s=!0;v();p()},function(){s=!1;p()});b.bind("touchstart",function(a,b){a.originalEvent.touches.length&&(z=a.originalEvent.touches[0].pageY)});b.bind("touchmove",function(b){k||b.originalEvent.preventDefault();b.originalEvent.touches.length&&
16
+ (m((z-b.originalEvent.touches[0].pageY)/a.touchScrollStep,!0),z=b.originalEvent.touches[0].pageY)});w();"bottom"===a.start?(c.css({top:b.outerHeight()-c.outerHeight()}),m(0,!0)):"top"!==a.start&&(m(f(a.start).position().top,null,!0),a.alwaysVisible||c.hide());C()}});return this}});jQuery.fn.extend({slimscroll:jQuery.fn.slimScroll})})(jQuery);
metadata ADDED
@@ -0,0 +1,54 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: slim_scroll
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Erfan Mansuri
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-10-09 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: slim scroller used for create a simple attractive scroller
14
+ email: erfan.m@cisinlabs.com
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files: []
18
+ files:
19
+ - lib/slim_scroll.rb
20
+ - lib/slim_scroll/assert_select.rb
21
+ - lib/slim_scroll/rails/railtie.rb
22
+ - lib/slim_scroll/rails/engine.rb
23
+ - lib/slim_scroll/rails.rb
24
+ - lib/generators/slim_scroll/install/install_generator.rb
25
+ - lib/generators/slim_scroll/install/USAGE
26
+ - vendor/assets/javascripts/slim_scroll.js
27
+ - vendor/assets/javascripts/slim_scroll.min.js
28
+ - README.md
29
+ homepage: https://github.com/ciserfan/slim_scroll
30
+ licenses:
31
+ - MIT
32
+ metadata: {}
33
+ post_install_message:
34
+ rdoc_options: []
35
+ require_paths:
36
+ - lib
37
+ required_ruby_version: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ! '>='
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ required_rubygems_version: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ! '>='
45
+ - !ruby/object:Gem::Version
46
+ version: 1.3.6
47
+ requirements: []
48
+ rubyforge_project:
49
+ rubygems_version: 2.1.5
50
+ signing_key:
51
+ specification_version: 4
52
+ summary: slim scroll gem used a jquery librery that will creae a attrective scroller
53
+ in you page when content hight is greter then wrapper hight
54
+ test_files: []