historyjs-rails 1.0.0 → 1.0.1

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,8 +1,8 @@
1
- # History.js for Rails ![Build Status][travis_ci_build_status]
1
+ # History.js for Rails [![Build Status][travis_ci_build_status]][travis_ci][![Dependency Status][gemnasium_dependency_status]][gemnasium]
2
2
 
3
- Provides History.js (1.7.1) for use with Rails 3
3
+ Provides History.js (1.7.1) for use with Rails 3 & 4
4
4
 
5
- [RubyGems][ruby_gems] | [Ruby Toolbox][ruby_toolbox] | [GitHub][github] | [Travis CI][travis_ci] | [RubyDoc][ruby_doc]
5
+ [RubyGems][ruby_gems] | [Ruby Toolbox][ruby_toolbox] | [GitHub][github] | [Travis CI][travis_ci] | [Gemnasium][gemnasium] | [RubyDoc][ruby_doc]
6
6
 
7
7
  ## Installation
8
8
  ### Rails 3.1+
@@ -75,10 +75,12 @@ History.js is now installed. Woop!
75
75
  ##History.js Resources
76
76
  [GitHub][historyjs_github]
77
77
 
78
- [github]: http://github.com/philostler/historyjs-rails
79
- [ruby_doc]: http://rubydoc.info/github/philostler/historyjs-rails/master/frames
80
78
  [ruby_gems]: http://rubygems.org/gems/historyjs-rails
79
+ [ruby_toolbox]: http://www.ruby-toolbox.com/projects/historyjs-rails
80
+ [github]: http://github.com/philostler/historyjs-rails
81
81
  [travis_ci]: http://travis-ci.org/philostler/historyjs-rails
82
82
  [travis_ci_build_status]: https://secure.travis-ci.org/philostler/historyjs-rails.png
83
- [ruby_toolbox]: http://www.ruby-toolbox.com/projects/historyjs-rails
83
+ [gemnasium]: https://gemnasium.com/philostler/historyjs-rails
84
+ [gemnasium_dependency_status]: https://gemnasium.com/philostler/historyjs-rails.png
85
+ [ruby_doc]: http://rubydoc.info/github/philostler/historyjs-rails/master/frames
84
86
  [historyjs_github]: http://github.com/balupton/history.js
@@ -11,7 +11,7 @@ Gem::Specification.new do |s|
11
11
  s.summary = %q{History.js for Rails}
12
12
  s.description = %q{Provides History.js for use with Rails 3}
13
13
 
14
- s.add_dependency "railties", "~> 3.0"
14
+ s.add_dependency "railties", ">= 3.0"
15
15
 
16
16
  s.add_development_dependency "rspec", "~> 2.0"
17
17
 
@@ -25,4 +25,4 @@ Gem::Specification.new do |s|
25
25
  Dir["**/*.js"] +
26
26
  Dir["**/*.rb"]
27
27
  s.require_paths = ["lib"]
28
- end
28
+ end
@@ -1,6 +1,6 @@
1
1
  module Historyjs
2
2
  module Rails
3
- VERSION = "1.0.0"
3
+ VERSION = "1.0.1"
4
4
  HISTORYJS_VERSION = "1.7.1";
5
5
  end
6
- end
6
+ end
@@ -1,6 +1,6 @@
1
1
  require "spec_helper"
2
2
 
3
3
  describe Historyjs::Rails do
4
- it { Historyjs::Rails::VERSION.should == "1.0.0" }
4
+ it { Historyjs::Rails::VERSION.should == "1.0.1" }
5
5
  it { Historyjs::Rails::HISTORYJS_VERSION.should == "1.7.1" }
6
- end
6
+ end
@@ -1,77 +1,77 @@
1
- /**
2
- * History.js jQuery Adapter
3
- * @author Benjamin Arthur Lupton <contact@balupton.com>
4
- * @copyright 2010-2011 Benjamin Arthur Lupton <contact@balupton.com>
5
- * @license New BSD License <http://creativecommons.org/licenses/BSD/>
6
- */
7
-
8
- // Closure
9
- (function(window,undefined){
10
- "use strict";
11
-
12
- // Localise Globals
13
- var
14
- History = window.History = window.History||{},
15
- jQuery = window.jQuery;
16
-
17
- // Check Existence
18
- if ( typeof History.Adapter !== 'undefined' ) {
19
- throw new Error('History.js Adapter has already been loaded...');
20
- }
21
-
22
- // Add the Adapter
23
- History.Adapter = {
24
- /**
25
- * History.Adapter.bind(el,event,callback)
26
- * @param {Element|string} el
27
- * @param {string} event - custom and standard events
28
- * @param {function} callback
29
- * @return {void}
30
- */
31
- bind: function(el,event,callback){
32
- jQuery(el).bind(event,callback);
33
- },
34
-
35
- /**
36
- * History.Adapter.trigger(el,event)
37
- * @param {Element|string} el
38
- * @param {string} event - custom and standard events
39
- * @param {Object=} extra - a object of extra event data (optional)
40
- * @return {void}
41
- */
42
- trigger: function(el,event,extra){
43
- jQuery(el).trigger(event,extra);
44
- },
45
-
46
- /**
47
- * History.Adapter.extractEventData(key,event,extra)
48
- * @param {string} key - key for the event data to extract
49
- * @param {string} event - custom and standard events
50
- * @param {Object=} extra - a object of extra event data (optional)
51
- * @return {mixed}
52
- */
53
- extractEventData: function(key,event,extra){
54
- // jQuery Native then jQuery Custom
55
- var result = (event && event.originalEvent && event.originalEvent[key]) || (extra && extra[key]) || undefined;
56
-
57
- // Return
58
- return result;
59
- },
60
-
61
- /**
62
- * History.Adapter.onDomLoad(callback)
63
- * @param {function} callback
64
- * @return {void}
65
- */
66
- onDomLoad: function(callback) {
67
- jQuery(callback);
68
- }
69
- };
70
-
71
- // Try and Initialise History
72
- if ( typeof History.init !== 'undefined' ) {
73
- History.init();
74
- }
75
-
76
- })(window);
77
-
1
+ /**
2
+ * History.js jQuery Adapter
3
+ * @author Benjamin Arthur Lupton <contact@balupton.com>
4
+ * @copyright 2010-2011 Benjamin Arthur Lupton <contact@balupton.com>
5
+ * @license New BSD License <http://creativecommons.org/licenses/BSD/>
6
+ */
7
+
8
+ // Closure
9
+ (function(window,undefined){
10
+ "use strict";
11
+
12
+ // Localise Globals
13
+ var
14
+ History = window.History = window.History||{},
15
+ jQuery = window.jQuery;
16
+
17
+ // Check Existence
18
+ if ( typeof History.Adapter !== 'undefined' ) {
19
+ throw new Error('History.js Adapter has already been loaded...');
20
+ }
21
+
22
+ // Add the Adapter
23
+ History.Adapter = {
24
+ /**
25
+ * History.Adapter.bind(el,event,callback)
26
+ * @param {Element|string} el
27
+ * @param {string} event - custom and standard events
28
+ * @param {function} callback
29
+ * @return {void}
30
+ */
31
+ bind: function(el,event,callback){
32
+ jQuery(el).bind(event,callback);
33
+ },
34
+
35
+ /**
36
+ * History.Adapter.trigger(el,event)
37
+ * @param {Element|string} el
38
+ * @param {string} event - custom and standard events
39
+ * @param {Object=} extra - a object of extra event data (optional)
40
+ * @return {void}
41
+ */
42
+ trigger: function(el,event,extra){
43
+ jQuery(el).trigger(event,extra);
44
+ },
45
+
46
+ /**
47
+ * History.Adapter.extractEventData(key,event,extra)
48
+ * @param {string} key - key for the event data to extract
49
+ * @param {string} event - custom and standard events
50
+ * @param {Object=} extra - a object of extra event data (optional)
51
+ * @return {mixed}
52
+ */
53
+ extractEventData: function(key,event,extra){
54
+ // jQuery Native then jQuery Custom
55
+ var result = (event && event.originalEvent && event.originalEvent[key]) || (extra && extra[key]) || undefined;
56
+
57
+ // Return
58
+ return result;
59
+ },
60
+
61
+ /**
62
+ * History.Adapter.onDomLoad(callback)
63
+ * @param {function} callback
64
+ * @return {void}
65
+ */
66
+ onDomLoad: function(callback) {
67
+ jQuery(callback);
68
+ }
69
+ };
70
+
71
+ // Try and Initialise History
72
+ if ( typeof History.init !== 'undefined' ) {
73
+ History.init();
74
+ }
75
+
76
+ })(window);
77
+
@@ -1,84 +1,84 @@
1
- /**
2
- * History.js MooTools Adapter
3
- * @author Benjamin Arthur Lupton <contact@balupton.com>
4
- * @copyright 2010-2011 Benjamin Arthur Lupton <contact@balupton.com>
5
- * @license New BSD License <http://creativecommons.org/licenses/BSD/>
6
- */
7
-
8
- // Closure
9
- (function(window,undefined){
10
- "use strict";
11
-
12
- // Localise Globals
13
- var
14
- History = window.History = window.History||{},
15
- MooTools = window.MooTools,
16
- Element = window.Element;
17
-
18
- // Check Existence
19
- if ( typeof History.Adapter !== 'undefined' ) {
20
- throw new Error('History.js Adapter has already been loaded...');
21
- }
22
-
23
- // Make MooTools aware of History.js Events
24
- Object.append(Element.NativeEvents,{
25
- 'popstate':2,
26
- 'hashchange':2
27
- });
28
-
29
- // Add the Adapter
30
- History.Adapter = {
31
- /**
32
- * History.Adapter.bind(el,event,callback)
33
- * @param {Element|string} el
34
- * @param {string} event - custom and standard events
35
- * @param {function} callback
36
- * @return {void}
37
- */
38
- bind: function(el,event,callback){
39
- var El = typeof el === 'string' ? document.id(el) : el;
40
- El.addEvent(event,callback);
41
- },
42
-
43
- /**
44
- * History.Adapter.trigger(el,event)
45
- * @param {Element|string} el
46
- * @param {string} event - custom and standard events
47
- * @param {Object=} extra - a object of extra event data (optional)
48
- * @return void
49
- */
50
- trigger: function(el,event,extra){
51
- var El = typeof el === 'string' ? document.id(el) : el;
52
- El.fireEvent(event,extra);
53
- },
54
-
55
- /**
56
- * History.Adapter.extractEventData(key,event,extra)
57
- * @param {string} key - key for the event data to extract
58
- * @param {string} event - custom and standard events
59
- * @return {mixed}
60
- */
61
- extractEventData: function(key,event){
62
- // MooTools Native then MooTools Custom
63
- var result = (event && event.event && event.event[key]) || (event && event[key]) || undefined;
64
-
65
- // Return
66
- return result;
67
- },
68
-
69
- /**
70
- * History.Adapter.onDomLoad(callback)
71
- * @param {function} callback
72
- * @return {void}
73
- */
74
- onDomLoad: function(callback) {
75
- window.addEvent('domready',callback);
76
- }
77
- };
78
-
79
- // Try and Initialise History
80
- if ( typeof History.init !== 'undefined' ) {
81
- History.init();
82
- }
83
-
84
- })(window);
1
+ /**
2
+ * History.js MooTools Adapter
3
+ * @author Benjamin Arthur Lupton <contact@balupton.com>
4
+ * @copyright 2010-2011 Benjamin Arthur Lupton <contact@balupton.com>
5
+ * @license New BSD License <http://creativecommons.org/licenses/BSD/>
6
+ */
7
+
8
+ // Closure
9
+ (function(window,undefined){
10
+ "use strict";
11
+
12
+ // Localise Globals
13
+ var
14
+ History = window.History = window.History||{},
15
+ MooTools = window.MooTools,
16
+ Element = window.Element;
17
+
18
+ // Check Existence
19
+ if ( typeof History.Adapter !== 'undefined' ) {
20
+ throw new Error('History.js Adapter has already been loaded...');
21
+ }
22
+
23
+ // Make MooTools aware of History.js Events
24
+ Object.append(Element.NativeEvents,{
25
+ 'popstate':2,
26
+ 'hashchange':2
27
+ });
28
+
29
+ // Add the Adapter
30
+ History.Adapter = {
31
+ /**
32
+ * History.Adapter.bind(el,event,callback)
33
+ * @param {Element|string} el
34
+ * @param {string} event - custom and standard events
35
+ * @param {function} callback
36
+ * @return {void}
37
+ */
38
+ bind: function(el,event,callback){
39
+ var El = typeof el === 'string' ? document.id(el) : el;
40
+ El.addEvent(event,callback);
41
+ },
42
+
43
+ /**
44
+ * History.Adapter.trigger(el,event)
45
+ * @param {Element|string} el
46
+ * @param {string} event - custom and standard events
47
+ * @param {Object=} extra - a object of extra event data (optional)
48
+ * @return void
49
+ */
50
+ trigger: function(el,event,extra){
51
+ var El = typeof el === 'string' ? document.id(el) : el;
52
+ El.fireEvent(event,extra);
53
+ },
54
+
55
+ /**
56
+ * History.Adapter.extractEventData(key,event,extra)
57
+ * @param {string} key - key for the event data to extract
58
+ * @param {string} event - custom and standard events
59
+ * @return {mixed}
60
+ */
61
+ extractEventData: function(key,event){
62
+ // MooTools Native then MooTools Custom
63
+ var result = (event && event.event && event.event[key]) || (event && event[key]) || undefined;
64
+
65
+ // Return
66
+ return result;
67
+ },
68
+
69
+ /**
70
+ * History.Adapter.onDomLoad(callback)
71
+ * @param {function} callback
72
+ * @return {void}
73
+ */
74
+ onDomLoad: function(callback) {
75
+ window.addEvent('domready',callback);
76
+ }
77
+ };
78
+
79
+ // Try and Initialise History
80
+ if ( typeof History.init !== 'undefined' ) {
81
+ History.init();
82
+ }
83
+
84
+ })(window);
@@ -1,121 +1,121 @@
1
- /**
2
- * History.js Native Adapter
3
- * @author Benjamin Arthur Lupton <contact@balupton.com>
4
- * @copyright 2010-2011 Benjamin Arthur Lupton <contact@balupton.com>
5
- * @license New BSD License <http://creativecommons.org/licenses/BSD/>
6
- */
7
-
8
- // Closure
9
- (function(window,undefined){
10
- "use strict";
11
-
12
- // Localise Globals
13
- var History = window.History = window.History||{};
14
-
15
- // Check Existence
16
- if ( typeof History.Adapter !== 'undefined' ) {
17
- throw new Error('History.js Adapter has already been loaded...');
18
- }
19
-
20
- // Add the Adapter
21
- History.Adapter = {
22
- /**
23
- * History.Adapter.handlers[uid][eventName] = Array
24
- */
25
- handlers: {},
26
-
27
- /**
28
- * History.Adapter._uid
29
- * The current element unique identifier
30
- */
31
- _uid: 1,
32
-
33
- /**
34
- * History.Adapter.uid(element)
35
- * @param {Element} element
36
- * @return {String} uid
37
- */
38
- uid: function(element){
39
- return element._uid || (element._uid = History.Adapter._uid++);
40
- },
41
-
42
- /**
43
- * History.Adapter.bind(el,event,callback)
44
- * @param {Element} element
45
- * @param {String} eventName - custom and standard events
46
- * @param {Function} callback
47
- * @return
48
- */
49
- bind: function(element,eventName,callback){
50
- // Prepare
51
- var uid = History.Adapter.uid(element);
52
-
53
- // Apply Listener
54
- History.Adapter.handlers[uid] = History.Adapter.handlers[uid] || {};
55
- History.Adapter.handlers[uid][eventName] = History.Adapter.handlers[uid][eventName] || [];
56
- History.Adapter.handlers[uid][eventName].push(callback);
57
-
58
- // Bind Global Listener
59
- element['on'+eventName] = (function(element,eventName){
60
- return function(event){
61
- History.Adapter.trigger(element,eventName,event);
62
- };
63
- })(element,eventName);
64
- },
65
-
66
- /**
67
- * History.Adapter.trigger(el,event)
68
- * @param {Element} element
69
- * @param {String} eventName - custom and standard events
70
- * @param {Object} event - a object of event data
71
- * @return
72
- */
73
- trigger: function(element,eventName,event){
74
- // Prepare
75
- event = event || {};
76
- var uid = History.Adapter.uid(element),
77
- i,n;
78
-
79
- // Apply Listener
80
- History.Adapter.handlers[uid] = History.Adapter.handlers[uid] || {};
81
- History.Adapter.handlers[uid][eventName] = History.Adapter.handlers[uid][eventName] || [];
82
-
83
- // Fire Listeners
84
- for ( i=0,n=History.Adapter.handlers[uid][eventName].length; i<n; ++i ) {
85
- History.Adapter.handlers[uid][eventName][i].apply(this,[event]);
86
- }
87
- },
88
-
89
- /**
90
- * History.Adapter.extractEventData(key,event,extra)
91
- * @param {String} key - key for the event data to extract
92
- * @param {String} event - custom and standard events
93
- * @return {mixed}
94
- */
95
- extractEventData: function(key,event){
96
- var result = (event && event[key]) || undefined;
97
- return result;
98
- },
99
-
100
- /**
101
- * History.Adapter.onDomLoad(callback)
102
- * @param {Function} callback
103
- * @return
104
- */
105
- onDomLoad: function(callback) {
106
- var timeout = window.setTimeout(function(){
107
- callback();
108
- },2000);
109
- window.onload = function(){
110
- clearTimeout(timeout);
111
- callback();
112
- };
113
- }
114
- };
115
-
116
- // Try and Initialise History
117
- if ( typeof History.init !== 'undefined' ) {
118
- History.init();
119
- }
120
-
121
- })(window);
1
+ /**
2
+ * History.js Native Adapter
3
+ * @author Benjamin Arthur Lupton <contact@balupton.com>
4
+ * @copyright 2010-2011 Benjamin Arthur Lupton <contact@balupton.com>
5
+ * @license New BSD License <http://creativecommons.org/licenses/BSD/>
6
+ */
7
+
8
+ // Closure
9
+ (function(window,undefined){
10
+ "use strict";
11
+
12
+ // Localise Globals
13
+ var History = window.History = window.History||{};
14
+
15
+ // Check Existence
16
+ if ( typeof History.Adapter !== 'undefined' ) {
17
+ throw new Error('History.js Adapter has already been loaded...');
18
+ }
19
+
20
+ // Add the Adapter
21
+ History.Adapter = {
22
+ /**
23
+ * History.Adapter.handlers[uid][eventName] = Array
24
+ */
25
+ handlers: {},
26
+
27
+ /**
28
+ * History.Adapter._uid
29
+ * The current element unique identifier
30
+ */
31
+ _uid: 1,
32
+
33
+ /**
34
+ * History.Adapter.uid(element)
35
+ * @param {Element} element
36
+ * @return {String} uid
37
+ */
38
+ uid: function(element){
39
+ return element._uid || (element._uid = History.Adapter._uid++);
40
+ },
41
+
42
+ /**
43
+ * History.Adapter.bind(el,event,callback)
44
+ * @param {Element} element
45
+ * @param {String} eventName - custom and standard events
46
+ * @param {Function} callback
47
+ * @return
48
+ */
49
+ bind: function(element,eventName,callback){
50
+ // Prepare
51
+ var uid = History.Adapter.uid(element);
52
+
53
+ // Apply Listener
54
+ History.Adapter.handlers[uid] = History.Adapter.handlers[uid] || {};
55
+ History.Adapter.handlers[uid][eventName] = History.Adapter.handlers[uid][eventName] || [];
56
+ History.Adapter.handlers[uid][eventName].push(callback);
57
+
58
+ // Bind Global Listener
59
+ element['on'+eventName] = (function(element,eventName){
60
+ return function(event){
61
+ History.Adapter.trigger(element,eventName,event);
62
+ };
63
+ })(element,eventName);
64
+ },
65
+
66
+ /**
67
+ * History.Adapter.trigger(el,event)
68
+ * @param {Element} element
69
+ * @param {String} eventName - custom and standard events
70
+ * @param {Object} event - a object of event data
71
+ * @return
72
+ */
73
+ trigger: function(element,eventName,event){
74
+ // Prepare
75
+ event = event || {};
76
+ var uid = History.Adapter.uid(element),
77
+ i,n;
78
+
79
+ // Apply Listener
80
+ History.Adapter.handlers[uid] = History.Adapter.handlers[uid] || {};
81
+ History.Adapter.handlers[uid][eventName] = History.Adapter.handlers[uid][eventName] || [];
82
+
83
+ // Fire Listeners
84
+ for ( i=0,n=History.Adapter.handlers[uid][eventName].length; i<n; ++i ) {
85
+ History.Adapter.handlers[uid][eventName][i].apply(this,[event]);
86
+ }
87
+ },
88
+
89
+ /**
90
+ * History.Adapter.extractEventData(key,event,extra)
91
+ * @param {String} key - key for the event data to extract
92
+ * @param {String} event - custom and standard events
93
+ * @return {mixed}
94
+ */
95
+ extractEventData: function(key,event){
96
+ var result = (event && event[key]) || undefined;
97
+ return result;
98
+ },
99
+
100
+ /**
101
+ * History.Adapter.onDomLoad(callback)
102
+ * @param {Function} callback
103
+ * @return
104
+ */
105
+ onDomLoad: function(callback) {
106
+ var timeout = window.setTimeout(function(){
107
+ callback();
108
+ },2000);
109
+ window.onload = function(){
110
+ clearTimeout(timeout);
111
+ callback();
112
+ };
113
+ }
114
+ };
115
+
116
+ // Try and Initialise History
117
+ if ( typeof History.init !== 'undefined' ) {
118
+ History.init();
119
+ }
120
+
121
+ })(window);