backstretch-rails 2.0.3 → 2.0.4

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/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Backstretch::Rails
2
2
 
3
- A rails asset pipeline packaged version of jQuery Backstretch v2.0.3 this gem will follow the version number of the backstretch distribution.
3
+ A rails asset pipeline packaged version of jQuery Backstretch v2.0.4 this gem will follow the version number of the backstretch distribution.
4
4
 
5
5
  ## Installation
6
6
 
@@ -18,7 +18,7 @@ Or install it yourself as:
18
18
 
19
19
  ## Usage
20
20
 
21
- //= require 'jquery-backstretch'
21
+ //= require 'jquery.backstretch'
22
22
 
23
23
 
24
24
  ## Acknowledgements
@@ -17,6 +17,6 @@ Gem::Specification.new do |gem|
17
17
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
18
  gem.require_paths = ["lib"]
19
19
 
20
- gem.add_dependency "railties", "~> 3.1"
20
+ gem.add_dependency "railties", "> 3.1"
21
21
  gem.add_development_dependency "rake"
22
22
  end
@@ -1,5 +1,5 @@
1
1
  module Backstretch
2
2
  module Rails
3
- VERSION = "2.0.3"
3
+ VERSION = "2.0.4"
4
4
  end
5
5
  end
@@ -1,6 +1,6 @@
1
- /*! Backstretch - v2.0.3 - 2012-11-30
1
+ /*! Backstretch - v2.0.4 - 2013-06-19
2
2
  * http://srobbin.com/jquery-plugins/backstretch/
3
- * Copyright (c) 2012 Scott Robbin; Licensed MIT */
3
+ * Copyright (c) 2013 Scott Robbin; Licensed MIT */
4
4
 
5
5
  ;(function ($, window, undefined) {
6
6
  'use strict';
@@ -9,7 +9,7 @@
9
9
  * ========================= */
10
10
 
11
11
  $.fn.backstretch = function (images, options) {
12
- // We need at least one image
12
+ // We need at least one image or method name
13
13
  if (images === undefined || images.length === 0) {
14
14
  $.error("No images were supplied for Backstretch");
15
15
  }
@@ -26,8 +26,18 @@
26
26
  var $this = $(this)
27
27
  , obj = $this.data('backstretch');
28
28
 
29
- // If we've already attached Backstretch to this element, remove the old instance.
29
+ // Do we already have an instance attached to this element?
30
30
  if (obj) {
31
+
32
+ // Is this a method they're trying to execute?
33
+ if (typeof images == 'string' && typeof obj[images] == 'function') {
34
+ // Call the method
35
+ obj[images](options);
36
+
37
+ // No need to do anything further
38
+ return;
39
+ }
40
+
31
41
  // Merge the old options with the new
32
42
  options = $.extend(obj.options, options);
33
43
 
@@ -88,6 +98,7 @@
88
98
  , border: 'none'
89
99
  , width: 'auto'
90
100
  , height: 'auto'
101
+ , maxHeight: 'none'
91
102
  , maxWidth: 'none'
92
103
  , zIndex: -999999
93
104
  }
@@ -119,9 +130,12 @@
119
130
  * Root: Convenience reference to help calculate the correct height.
120
131
  */
121
132
  this.$container = $(container);
122
- this.$wrap = $('<div class="backstretch"></div>').css(styles.wrap).appendTo(this.$container);
123
133
  this.$root = this.isBody ? supportsFixedPosition ? $(window) : $(document) : this.$container;
124
134
 
135
+ // Don't create a new wrap if one already exists (from a previous instance of Backstretch)
136
+ var $existing = this.$container.children(".backstretch").first();
137
+ this.$wrap = $existing.length ? $existing : $('<div class="backstretch"></div>').css(styles.wrap).appendTo(this.$container);
138
+
125
139
  // Non-body elements need some style adjustments
126
140
  if (!this.isBody) {
127
141
  // If the container is statically positioned, we need to make it relative,
@@ -197,20 +211,23 @@
197
211
  }
198
212
 
199
213
  // Show the slide at a certain position
200
- , show: function (index) {
214
+ , show: function (newIndex) {
215
+
201
216
  // Validate index
202
- if (Math.abs(index) > this.images.length - 1) {
217
+ if (Math.abs(newIndex) > this.images.length - 1) {
203
218
  return;
204
- } else {
205
- this.index = index;
206
219
  }
207
220
 
208
221
  // Vars
209
222
  var self = this
210
223
  , oldImage = self.$wrap.find('img').addClass('deleteable')
211
- , evt = $.Event('backstretch.show', {
212
- relatedTarget: self.$container[0]
213
- });
224
+ , evtOptions = { relatedTarget: self.$container[0] };
225
+
226
+ // Trigger the "before" event
227
+ self.$container.trigger($.Event('backstretch.before', evtOptions), [self, newIndex]);
228
+
229
+ // Set the new index
230
+ this.index = newIndex;
214
231
 
215
232
  // Pause the slideshow
216
233
  clearInterval(self.interval);
@@ -235,8 +252,11 @@
235
252
  self.cycle();
236
253
  }
237
254
 
238
- // Trigger the event
239
- self.$container.trigger(evt, self);
255
+ // Trigger the "after" and "show" events
256
+ // "show" is being deprecated
257
+ $(['after', 'show']).each(function () {
258
+ self.$container.trigger($.Event('backstretch.' + this, evtOptions), [self, newIndex]);
259
+ });
240
260
  });
241
261
 
242
262
  // Resize
@@ -245,7 +265,7 @@
245
265
  .appendTo(self.$wrap);
246
266
 
247
267
  // Hack for IE img onload event
248
- self.$img.attr('src', self.images[index]);
268
+ self.$img.attr('src', self.images[newIndex]);
249
269
  return self;
250
270
  }
251
271
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: backstretch-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.3
4
+ version: 2.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,14 +9,14 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-12-17 00:00:00.000000000 Z
12
+ date: 2013-09-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: railties
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
- - - ~>
19
+ - - ! '>'
20
20
  - !ruby/object:Gem::Version
21
21
  version: '3.1'
22
22
  type: :runtime
@@ -24,7 +24,7 @@ dependencies:
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  none: false
26
26
  requirements:
27
- - - ~>
27
+ - - ! '>'
28
28
  - !ruby/object:Gem::Version
29
29
  version: '3.1'
30
30
  - !ruby/object:Gem::Dependency
@@ -72,17 +72,22 @@ required_ruby_version: !ruby/object:Gem::Requirement
72
72
  - - ! '>='
73
73
  - !ruby/object:Gem::Version
74
74
  version: '0'
75
+ segments:
76
+ - 0
77
+ hash: 2447830685423720131
75
78
  required_rubygems_version: !ruby/object:Gem::Requirement
76
79
  none: false
77
80
  requirements:
78
81
  - - ! '>='
79
82
  - !ruby/object:Gem::Version
80
83
  version: '0'
84
+ segments:
85
+ - 0
86
+ hash: 2447830685423720131
81
87
  requirements: []
82
88
  rubyforge_project:
83
- rubygems_version: 1.8.24
89
+ rubygems_version: 1.8.25
84
90
  signing_key:
85
91
  specification_version: 3
86
92
  summary: Rails asset pipeline packaging for the Backstretch jQuery plugin
87
93
  test_files: []
88
- has_rdoc: