spaghetti 0.5.1 → 0.6.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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 0f8230177b8ac7b534ab47c1548491203e1d7afc
4
+ data.tar.gz: d908acc7a15bbcfc40ca150b6969e5defb6edec7
5
+ SHA512:
6
+ metadata.gz: d8dfc0e6b31ff4a286782fdf5e3f8cfdd9391a9e2e00fd38b22e9b1998fc2b26cba3bebc5c621da81420a281a8091ad23854b9a7edcf02157b96baac1074ddfa
7
+ data.tar.gz: 0da44dbf3a4741022fadeb026d10ed28352121ff7ce9a1608d541140eb76b393b9d9df44404067b1684926cf0e6b3bcfd2f8098643cd54b7e07005d925c32aab
@@ -1,5 +1,4 @@
1
1
  //= require jquery
2
- //= require jquery.ui.core
3
2
  //= require jquery.ui.widget
4
3
  //= require spaghetti/jquery.sausage
5
4
  //= require spaghetti/init
@@ -1,60 +1,67 @@
1
- $(function() {
2
- function nearBottomOfPage() {
3
- return $(window).scrollTop() > $(document).height() - $(window).height() - 200;
4
- }
5
-
6
- function triggerHooks(hook) {
7
- fn = hook + '_spaghetti';
8
- if (typeof window[fn] != 'undefined') {
9
- fireHook(fn);
10
- }
11
- }
12
-
13
- function fireHook(func){
14
- this[func].apply(this, Array.prototype.slice.call(arguments, 1));
15
- }
16
-
17
- $('.spaghetti-empty').each(function() {
18
- $(this).data('spaghetti-enabled', 0);
19
- $(this).removeClass('spaghetti-empty');
20
- $(this).addClass('spaghetti-loading');
21
- if($(this).data('spaghetti-url').indexOf("?") === -1){
22
- pageParameter = '?page=';
23
- }else{
24
- pageParameter = '&page=';
25
- }
26
- $.ajax({
27
- url: $(this).data('spaghetti-url') + pageParameter + $(this).data('spaghetti-next-page'),
28
- type: 'get',
29
- dataType: 'script',
30
- success: function() {
31
- triggerHooks('post');
1
+ (function() {
2
+ jQuery(function() {
3
+ $(window).scroll(function() {
4
+ var pageParameter;
5
+ if ($('.spaghetti').data('spaghetti-enabled') === 1) {
6
+ if ($(window).scrollTop() > ($(document).height() - $(window).height() - 200)) {
7
+ triggerHooks('pre');
8
+ $('.spaghetti').data('spaghetti-enabled', 0);
9
+ $('.spaghetti').addClass('spaghetti-loading');
10
+ if ($('.spaghetti').data('spaghetti-url').indexOf("?") === -1) {
11
+ pageParameter = '?page=';
12
+ }
13
+ } else {
14
+ pageParameter = '&page=';
15
+ }
16
+ return window.spaghetti.load($('.spaghetti'));
32
17
  }
33
18
  });
19
+ $(window).sausage();
20
+ return $('.spaghetti-empty').each(function() {
21
+ return window.spaghetti.load($(this));
22
+ });
34
23
  });
35
-
36
- $(window).scroll(function(){
37
- if ($('.spaghetti').data('spaghetti-enabled') == 1) {
38
- if(nearBottomOfPage()) {
39
- triggerHooks('pre');
40
- $('.spaghetti').data('spaghetti-enabled', 0);
41
- $('.spaghetti').addClass('spaghetti-loading');
42
- if($('.spaghetti').data('spaghetti-url').indexOf("?") === -1){
43
- pageParameter = '?page=';
44
- }else{
45
- pageParameter = '&page=';
46
- }
47
- $.ajax({
48
- url: $('.spaghetti').data('spaghetti-url') + pageParameter + $('.spaghetti').data('spaghetti-next-page'),
49
- type: 'get',
50
- dataType: 'script',
51
- success: function() {
52
- $(window).sausage('draw');
53
- triggerHooks('post');
54
- }
55
- });
24
+
25
+ window.spaghetti = {
26
+ triggerHooks: function(hook) {
27
+ var fn;
28
+ fn = hook + '_spaghetti';
29
+ if (typeof window[fn] !== 'undefined') {
30
+ this.fireHooks(fn);
56
31
  }
32
+ return this;
33
+ },
34
+ fireHooks: function(func) {
35
+ return window[func].apply(this, Array.prototype.slice.call(arguments, 1));
36
+ },
37
+ load: function(elm) {
38
+ var pageParameter;
39
+ elm.data('spaghetti-enabled', 0);
40
+ elm.addClass('spaghetti-loading');
41
+ elm.removeClass('spaghetti-empty');
42
+ if (elm.data('spaghetti-url').indexOf("?") === -1) {
43
+ pageParameter = '?page=';
44
+ } else {
45
+ pageParameter = '&page=';
46
+ }
47
+ $.ajax({
48
+ type: 'get',
49
+ url: elm.data('spaghetti-url') + pageParameter + elm.data('spaghetti-next-page'),
50
+ dataType: 'script',
51
+ success: function() {
52
+ $(window).sausage('draw');
53
+ window.spaghetti.triggerHooks('post');
54
+ return true;
55
+ }
56
+ });
57
+ return this;
58
+ },
59
+ reset: function(elm) {
60
+ elm.find('.spaghetti-items').html('');
61
+ elm.data('spaghetti-enabled', 1);
62
+ elm.data('spaghetti-next-page', 0);
63
+ return this.load(elm);
57
64
  }
58
- });
59
- $(window).sausage();
60
- });
65
+ };
66
+
67
+ }).call(this);
@@ -2,7 +2,7 @@ module SpaghettiHelpers
2
2
  def spaghetti name, path_or_items, options = {}
3
3
  output = ''.html_safe
4
4
  if path_or_items.class.name == 'String'
5
- output << "<div class=\"#{ name } spaghetti spaghetti-empty\" data-spaghetti-enabled=\"1\" data-spaghetti-url=\"#{ path_or_items }\" data-spaghetti-next-page=\"1\"><div class=\"#{ name }-items\"></div><div class=\"throbber\">#{ image_tag 'throbber.gif' }</div></div>".html_safe
5
+ output << "<div class=\"#{ name } spaghetti spaghetti-empty\" data-spaghetti-enabled=\"1\" data-spaghetti-url=\"#{ path_or_items }\" data-spaghetti-next-page=\"1\"><div class=\"#{ name }-items spaghetti-items\"></div><div class=\"throbber\">#{ image_tag 'throbber.gif' }</div></div>".html_safe
6
6
  else
7
7
  if path_or_items.any?
8
8
  if options[:partial]
@@ -1,2 +1,3 @@
1
+ require "jquery-ui-rails"
1
2
  require "spaghetti/version"
2
- require "spaghetti/engine"
3
+ require "spaghetti/engine"
@@ -1,3 +1,3 @@
1
1
  module Spaghetti
2
- VERSION = "0.5.1"
2
+ VERSION = "0.6.0"
3
3
  end
@@ -12,10 +12,12 @@ Gem::Specification.new do |gem|
12
12
  gem.description = %q{Spaghetti - Rails Endless Page}
13
13
  gem.summary = %q{Spaghetti - Rails Endless Page}
14
14
  gem.homepage = "http://github.com/rayasocialmedia/spaghetti"
15
- gem.add_dependency 'jquery-rails', '>= 2.1'
16
- gem.add_dependency 'jquery-ui-rails', '4.0.1'
17
15
  gem.files = `git ls-files`.split($/)
18
16
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
19
17
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
20
18
  gem.require_paths = ["lib"]
19
+
20
+ gem.add_dependency 'rails', '>= 3.1', '< 4.1'
21
+ gem.add_dependency 'jquery-rails'
22
+ gem.add_dependency 'jquery-ui-rails'
21
23
  end
metadata CHANGED
@@ -1,48 +1,63 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spaghetti
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
5
- prerelease:
4
+ version: 0.6.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Omar Abdel-Wahab
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-07-06 00:00:00.000000000 Z
11
+ date: 2013-10-05 00:00:00.000000000 Z
13
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '3.1'
20
+ - - <
21
+ - !ruby/object:Gem::Version
22
+ version: '4.1'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '3.1'
30
+ - - <
31
+ - !ruby/object:Gem::Version
32
+ version: '4.1'
14
33
  - !ruby/object:Gem::Dependency
15
34
  name: jquery-rails
16
35
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
36
  requirements:
19
- - - ! '>='
37
+ - - '>='
20
38
  - !ruby/object:Gem::Version
21
- version: '2.1'
39
+ version: '0'
22
40
  type: :runtime
23
41
  prerelease: false
24
42
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
43
  requirements:
27
- - - ! '>='
44
+ - - '>='
28
45
  - !ruby/object:Gem::Version
29
- version: '2.1'
46
+ version: '0'
30
47
  - !ruby/object:Gem::Dependency
31
48
  name: jquery-ui-rails
32
49
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
50
  requirements:
35
- - - '='
51
+ - - '>='
36
52
  - !ruby/object:Gem::Version
37
- version: 4.0.1
53
+ version: '0'
38
54
  type: :runtime
39
55
  prerelease: false
40
56
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
57
  requirements:
43
- - - '='
58
+ - - '>='
44
59
  - !ruby/object:Gem::Version
45
- version: 4.0.1
60
+ version: '0'
46
61
  description: Spaghetti - Rails Endless Page
47
62
  email:
48
63
  - owahab@gmail.com
@@ -68,26 +83,25 @@ files:
68
83
  - spaghetti.gemspec
69
84
  homepage: http://github.com/rayasocialmedia/spaghetti
70
85
  licenses: []
86
+ metadata: {}
71
87
  post_install_message:
72
88
  rdoc_options: []
73
89
  require_paths:
74
90
  - lib
75
91
  required_ruby_version: !ruby/object:Gem::Requirement
76
- none: false
77
92
  requirements:
78
- - - ! '>='
93
+ - - '>='
79
94
  - !ruby/object:Gem::Version
80
95
  version: '0'
81
96
  required_rubygems_version: !ruby/object:Gem::Requirement
82
- none: false
83
97
  requirements:
84
- - - ! '>='
98
+ - - '>='
85
99
  - !ruby/object:Gem::Version
86
100
  version: '0'
87
101
  requirements: []
88
102
  rubyforge_project:
89
- rubygems_version: 1.8.23
103
+ rubygems_version: 2.0.3
90
104
  signing_key:
91
- specification_version: 3
105
+ specification_version: 4
92
106
  summary: Spaghetti - Rails Endless Page
93
107
  test_files: []