infinitescrolling-rails 0.1.2

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.
data/.gitignore ADDED
@@ -0,0 +1,5 @@
1
+ pkg/*
2
+ tmp
3
+ spec/support/*/Gemfile.lock
4
+ spec/support/*/public/javascripts
5
+ .idea/*
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source :gemcutter
2
+
3
+ # Specify your gem's dependencies in infinite_scrolling-rails.gemspec
4
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,85 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ infinitescrolling-rails (0.1.2)
5
+ jquery-rails
6
+ railties (~> 3.0)
7
+
8
+ GEM
9
+ remote: http://rubygems.org/
10
+ specs:
11
+ abstract (1.0.0)
12
+ actionmailer (3.0.9)
13
+ actionpack (= 3.0.9)
14
+ mail (~> 2.2.19)
15
+ actionpack (3.0.9)
16
+ activemodel (= 3.0.9)
17
+ activesupport (= 3.0.9)
18
+ builder (~> 2.1.2)
19
+ erubis (~> 2.6.6)
20
+ i18n (~> 0.5.0)
21
+ rack (~> 1.2.1)
22
+ rack-mount (~> 0.6.14)
23
+ rack-test (~> 0.5.7)
24
+ tzinfo (~> 0.3.23)
25
+ activemodel (3.0.9)
26
+ activesupport (= 3.0.9)
27
+ builder (~> 2.1.2)
28
+ i18n (~> 0.5.0)
29
+ activerecord (3.0.9)
30
+ activemodel (= 3.0.9)
31
+ activesupport (= 3.0.9)
32
+ arel (~> 2.0.10)
33
+ tzinfo (~> 0.3.23)
34
+ activeresource (3.0.9)
35
+ activemodel (= 3.0.9)
36
+ activesupport (= 3.0.9)
37
+ activesupport (3.0.9)
38
+ arel (2.0.10)
39
+ builder (2.1.2)
40
+ erubis (2.6.6)
41
+ abstract (>= 1.0.0)
42
+ i18n (0.5.0)
43
+ jquery-rails (1.0.12)
44
+ railties (~> 3.0)
45
+ thor (~> 0.14)
46
+ mail (2.2.19)
47
+ activesupport (>= 2.3.6)
48
+ i18n (>= 0.4.0)
49
+ mime-types (~> 1.16)
50
+ treetop (~> 1.4.8)
51
+ mime-types (1.16)
52
+ polyglot (0.3.1)
53
+ rack (1.2.3)
54
+ rack-mount (0.6.14)
55
+ rack (>= 1.0.0)
56
+ rack-test (0.5.7)
57
+ rack (>= 1.0)
58
+ rails (3.0.9)
59
+ actionmailer (= 3.0.9)
60
+ actionpack (= 3.0.9)
61
+ activerecord (= 3.0.9)
62
+ activeresource (= 3.0.9)
63
+ activesupport (= 3.0.9)
64
+ bundler (~> 1.0)
65
+ railties (= 3.0.9)
66
+ railties (3.0.9)
67
+ actionpack (= 3.0.9)
68
+ activesupport (= 3.0.9)
69
+ rake (>= 0.8.7)
70
+ rdoc (~> 3.4)
71
+ thor (~> 0.14.4)
72
+ rake (0.9.2)
73
+ rdoc (3.8)
74
+ thor (0.14.6)
75
+ treetop (1.4.9)
76
+ polyglot (>= 0.3.1)
77
+ tzinfo (0.3.29)
78
+
79
+ PLATFORMS
80
+ ruby
81
+
82
+ DEPENDENCIES
83
+ bundler (~> 1.0.0)
84
+ infinitescrolling-rails!
85
+ rails (~> 3.0)
data/README.md ADDED
@@ -0,0 +1,9 @@
1
+ # Usage #
2
+ Include the gem in your `Gemfile`:
3
+ ```gem 'infinitescrolling-rails'```
4
+
5
+ Run the generator:
6
+ ```rails generate infinitescrolling:install```
7
+
8
+ Include the javascript file in your layouts:
9
+ ```javascript_include_tag "autocomplete-rails.js"```
data/Rakefile ADDED
@@ -0,0 +1,4 @@
1
+ require 'bundler'
2
+ Bundler::GemHelper.install_tasks
3
+
4
+ task :default => :spec
@@ -0,0 +1,23 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = "infinitescrolling-rails"
5
+ s.version = "0.1.2"
6
+ s.platform = Gem::Platform::RUBY
7
+ s.authors = ["Leif Bladt"]
8
+ s.email = ["leif.bladt@gmx.de"]
9
+ s.homepage = "https://github.com/leifbladt/infinite_scrolling-rails"
10
+ s.summary = "Use the infinite scrolling jQuery plugin with Rails 3"
11
+ s.description = "This gem provides the infinite scrolling jQuery plugin for your Rails 3 application."
12
+
13
+ s.required_rubygems_version = ">= 1.3.6"
14
+
15
+ s.add_dependency "railties", "~> 3.0"
16
+ s.add_dependency "jquery-rails"
17
+ s.add_development_dependency "bundler", "~> 1.0.0"
18
+ s.add_development_dependency "rails", "~> 3.0"
19
+
20
+ s.files = `git ls-files`.split("\n")
21
+ s.executables = `git ls-files`.split("\n").select{|f| f =~ /^bin/}
22
+ s.require_path = 'lib'
23
+ end
@@ -0,0 +1,16 @@
1
+ require 'rails'
2
+
3
+ module Infinitescrolling
4
+ module Generators
5
+ class InstallGenerator < ::Rails::Generators::Base
6
+
7
+ desc "This generator installs the infinite scrolling jQuery plugin"
8
+ source_root File.expand_path('../../../../../vendor/assets/javascripts', __FILE__)
9
+
10
+ def copy_infinitescrolling
11
+ say_status("copying", "infinite scrolling jQuery plugin", :green)
12
+ copy_file "infinitescrolling.js", "public/javascripts/infinitescrolling.js"
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,12 @@
1
+ # Configure Rails 3.0 to use public/javascripts/infinite_scrolling.js
2
+ module Infinitescrolling
3
+ module Rails
4
+
5
+ class Railtie < ::Rails::Railtie
6
+ #config.before_configuration do
7
+ # config.action_view.javascript_expansions[:defaults] << 'infinitescrolling.js'
8
+ #end
9
+ end
10
+
11
+ end
12
+ end
@@ -0,0 +1,5 @@
1
+ module Infinitescrolling
2
+ module Rails
3
+ require 'infinitescrolling/rails/railtie'
4
+ end
5
+ end
@@ -0,0 +1 @@
1
+ require 'infinitescrolling/rails'
@@ -0,0 +1,44 @@
1
+ (function($){
2
+ var my = {
3
+ marginThreshold: 20,
4
+
5
+ delay: 250,
6
+
7
+ hasScrolled: false,
8
+
9
+ callback: function(){
10
+ if (!my.hasScrolled){
11
+ my.hasScrolled = true;
12
+ setTimeout(my.checkScroll, my.delay);
13
+ }
14
+ },
15
+
16
+ checkScroll: function() {
17
+ my.hasScrolled = false;
18
+ if (my.lowEnough()) {
19
+ my.loadCallback();
20
+ }
21
+ },
22
+
23
+ lowEnough: function() {
24
+ var pageHeight = Math.max(document.body.scrollHeight,
25
+ document.body.offsetHeight);
26
+ var viewportHeight = window.innerHeight ||
27
+ document.documentElement.clientHeight ||
28
+ document.body.clientHeight || 0;
29
+ var scrollHeight = window.pageYOffset ||
30
+ document.documentElement.scrollTop ||
31
+ document.body.scrollTop || 0;
32
+
33
+ // Trigger for scrolls within 20 pixels from page bottom
34
+ return pageHeight - viewportHeight - scrollHeight < my.marginThreshold;
35
+ }
36
+ };
37
+
38
+ $.fn.infiniteScrolling = function(loadCallback){
39
+ my.loadCallback = loadCallback;
40
+ this.bind('scroll', my.callback);
41
+ this.bind('resize', my.callback);
42
+ return this;
43
+ };
44
+ })(jQuery);
metadata ADDED
@@ -0,0 +1,103 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: infinitescrolling-rails
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.2
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Leif Bladt
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2011-07-25 00:00:00.000000000 +02:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: railties
17
+ requirement: &2154757240 !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - ~>
21
+ - !ruby/object:Gem::Version
22
+ version: '3.0'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: *2154757240
26
+ - !ruby/object:Gem::Dependency
27
+ name: jquery-rails
28
+ requirement: &2154756800 !ruby/object:Gem::Requirement
29
+ none: false
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: *2154756800
37
+ - !ruby/object:Gem::Dependency
38
+ name: bundler
39
+ requirement: &2154756080 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ~>
43
+ - !ruby/object:Gem::Version
44
+ version: 1.0.0
45
+ type: :development
46
+ prerelease: false
47
+ version_requirements: *2154756080
48
+ - !ruby/object:Gem::Dependency
49
+ name: rails
50
+ requirement: &2154755460 !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ~>
54
+ - !ruby/object:Gem::Version
55
+ version: '3.0'
56
+ type: :development
57
+ prerelease: false
58
+ version_requirements: *2154755460
59
+ description: This gem provides the infinite scrolling jQuery plugin for your Rails
60
+ 3 application.
61
+ email:
62
+ - leif.bladt@gmx.de
63
+ executables: []
64
+ extensions: []
65
+ extra_rdoc_files: []
66
+ files:
67
+ - .gitignore
68
+ - Gemfile
69
+ - Gemfile.lock
70
+ - README.md
71
+ - Rakefile
72
+ - infinitescrolling-rails.gemspec
73
+ - lib/generators/infinitescrolling/install/install_generator.rb
74
+ - lib/infinitescrolling-rails.rb
75
+ - lib/infinitescrolling/rails.rb
76
+ - lib/infinitescrolling/rails/railtie.rb
77
+ - vendor/assets/javascripts/infinitescrolling.js
78
+ has_rdoc: true
79
+ homepage: https://github.com/leifbladt/infinite_scrolling-rails
80
+ licenses: []
81
+ post_install_message:
82
+ rdoc_options: []
83
+ require_paths:
84
+ - lib
85
+ required_ruby_version: !ruby/object:Gem::Requirement
86
+ none: false
87
+ requirements:
88
+ - - ! '>='
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
91
+ required_rubygems_version: !ruby/object:Gem::Requirement
92
+ none: false
93
+ requirements:
94
+ - - ! '>='
95
+ - !ruby/object:Gem::Version
96
+ version: 1.3.6
97
+ requirements: []
98
+ rubyforge_project:
99
+ rubygems_version: 1.6.2
100
+ signing_key:
101
+ specification_version: 3
102
+ summary: Use the infinite scrolling jQuery plugin with Rails 3
103
+ test_files: []