wiselinks 0.5.3 → 0.5.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/Gemfile.lock +20 -20
- data/README.md +3 -2
- data/VERSION +1 -1
- data/lib/assets/javascripts/wiselinks.js.coffee +31 -15
- data/lib/wiselinks/request.rb +13 -0
- data/wiselinks.gemspec +2 -2
- metadata +3 -3
data/Gemfile.lock
CHANGED
@@ -39,7 +39,7 @@ GEM
|
|
39
39
|
rack-test (>= 0.5.4)
|
40
40
|
selenium-webdriver (~> 2.0)
|
41
41
|
xpath (~> 1.0.0)
|
42
|
-
childprocess (0.3.
|
42
|
+
childprocess (0.3.9)
|
43
43
|
ffi (~> 1.0, >= 1.0.11)
|
44
44
|
coffee-rails (3.2.2)
|
45
45
|
coffee-script (>= 2.2.0)
|
@@ -47,8 +47,8 @@ GEM
|
|
47
47
|
coffee-script (2.2.0)
|
48
48
|
coffee-script-source
|
49
49
|
execjs
|
50
|
-
coffee-script-source (1.
|
51
|
-
diff-lcs (1.1
|
50
|
+
coffee-script-source (1.5.0)
|
51
|
+
diff-lcs (1.2.1)
|
52
52
|
erubis (2.7.0)
|
53
53
|
execjs (1.4.0)
|
54
54
|
multi_json (~> 1.0)
|
@@ -59,7 +59,7 @@ GEM
|
|
59
59
|
ffi (1.4.0)
|
60
60
|
git (1.2.5)
|
61
61
|
hike (1.2.1)
|
62
|
-
i18n (0.6.
|
62
|
+
i18n (0.6.4)
|
63
63
|
jeweler (1.8.4)
|
64
64
|
bundler (~> 1.0)
|
65
65
|
git (>= 1.2.5)
|
@@ -101,25 +101,25 @@ GEM
|
|
101
101
|
rdoc (~> 3.4)
|
102
102
|
thor (>= 0.14.6, < 2.0)
|
103
103
|
rake (10.0.3)
|
104
|
-
rdoc (3.12.
|
104
|
+
rdoc (3.12.2)
|
105
105
|
json (~> 1.4)
|
106
|
-
rspec (2.
|
107
|
-
rspec-core (~> 2.
|
108
|
-
rspec-expectations (~> 2.
|
109
|
-
rspec-mocks (~> 2.
|
110
|
-
rspec-core (2.
|
111
|
-
rspec-expectations (2.
|
112
|
-
diff-lcs (
|
113
|
-
rspec-mocks (2.
|
114
|
-
rspec-rails (2.
|
106
|
+
rspec (2.13.0)
|
107
|
+
rspec-core (~> 2.13.0)
|
108
|
+
rspec-expectations (~> 2.13.0)
|
109
|
+
rspec-mocks (~> 2.13.0)
|
110
|
+
rspec-core (2.13.0)
|
111
|
+
rspec-expectations (2.13.0)
|
112
|
+
diff-lcs (>= 1.1.3, < 2.0)
|
113
|
+
rspec-mocks (2.13.0)
|
114
|
+
rspec-rails (2.13.0)
|
115
115
|
actionpack (>= 3.0)
|
116
116
|
activesupport (>= 3.0)
|
117
117
|
railties (>= 3.0)
|
118
|
-
rspec-core (~> 2.
|
119
|
-
rspec-expectations (~> 2.
|
120
|
-
rspec-mocks (~> 2.
|
118
|
+
rspec-core (~> 2.13.0)
|
119
|
+
rspec-expectations (~> 2.13.0)
|
120
|
+
rspec-mocks (~> 2.13.0)
|
121
121
|
rubyzip (0.9.9)
|
122
|
-
selenium-webdriver (2.
|
122
|
+
selenium-webdriver (2.31.0)
|
123
123
|
childprocess (>= 0.2.5)
|
124
124
|
multi_json (~> 1.0)
|
125
125
|
rubyzip
|
@@ -138,11 +138,11 @@ GEM
|
|
138
138
|
tilt (~> 1.1, != 1.3.0)
|
139
139
|
sqlite3 (1.3.7)
|
140
140
|
thor (0.17.0)
|
141
|
-
tilt (1.3.
|
141
|
+
tilt (1.3.4)
|
142
142
|
treetop (1.4.12)
|
143
143
|
polyglot
|
144
144
|
polyglot (>= 0.3.1)
|
145
|
-
tzinfo (0.3.
|
145
|
+
tzinfo (0.3.36)
|
146
146
|
websocket (1.0.7)
|
147
147
|
xpath (1.0.0)
|
148
148
|
nokogiri (~> 1.3)
|
data/README.md
CHANGED
@@ -1,9 +1,10 @@
|
|
1
1
|
[](http://badge.fury.io/rb/wiselinks)
|
2
2
|
[](https://travis-ci.org/igor-alexandrov/wiselinks)
|
3
|
-
[](https://gemnasium.com/igor-alexandrov/wiselinks)
|
4
4
|
|
5
5
|
|
6
|
-
[](https://codeclimate.com/github/igor-alexandrov/wiselinks)
|
7
|
+
|
7
8
|
|
8
9
|
#Wiselinks
|
9
10
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.5.
|
1
|
+
0.5.4
|
@@ -24,17 +24,18 @@ class Wiselinks
|
|
24
24
|
window.location.href = "#{window.location.protocol}//#{window.location.host}#{@options.html4_root_path}#!#{window.location.pathname}"
|
25
25
|
|
26
26
|
if window.location.hash.indexOf('#!') != -1
|
27
|
-
self._call(window.location.hash.substring(2))
|
27
|
+
self._call(self._make_state(window.location.hash.substring(2)))
|
28
28
|
|
29
29
|
History.Adapter.bind(
|
30
30
|
window,
|
31
31
|
"statechange"
|
32
32
|
(event, data) ->
|
33
33
|
state = History.getState()
|
34
|
+
|
34
35
|
if self._template_id_changed(state)
|
35
|
-
self._call(state
|
36
|
+
self._call(self._reset_state(state))
|
36
37
|
else
|
37
|
-
self._call(state
|
38
|
+
self._call(state)
|
38
39
|
)
|
39
40
|
|
40
41
|
$(document).on(
|
@@ -62,26 +63,26 @@ class Wiselinks
|
|
62
63
|
|
63
64
|
load: (url, target, render = 'template') ->
|
64
65
|
@template_id = new Date().getTime() if render != 'partial'
|
65
|
-
History.pushState({ template_id: @template_id, render: render, target: target }, document.title, url )
|
66
|
+
History.pushState({ template_id: @template_id, render: render, target: target, referer: window.location.href }, document.title, url )
|
66
67
|
|
67
68
|
reload: () ->
|
68
|
-
History.replaceState({ template_id: @template_id, render: 'template' }, document.title, History.getState().url )
|
69
|
+
History.replaceState({ template_id: @template_id, render: 'template', referer: window.location.href }, document.title, History.getState().url )
|
69
70
|
|
70
71
|
_defaults: ->
|
71
72
|
html4: true
|
72
73
|
html4_root_path: '/'
|
73
74
|
|
74
|
-
_call: (
|
75
|
+
_call: (state) ->
|
75
76
|
self = this
|
76
77
|
|
77
|
-
$target = if target? then $(target) else self.$target
|
78
|
+
$target = if state.data.target? then $(state.data.target) else self.$target
|
79
|
+
$document = $(document).trigger('page:loading', [$target, state.data.render, state.url])
|
78
80
|
|
79
|
-
$document = $(document).trigger('page:loading', [$target, render, url])
|
80
|
-
|
81
81
|
$.ajax(
|
82
|
-
url: url
|
82
|
+
url: state.url
|
83
83
|
headers:
|
84
|
-
'X-Wiselinks': render
|
84
|
+
'X-Wiselinks': state.data.render
|
85
|
+
'X-Wiselinks-Referer': state.data.referer
|
85
86
|
|
86
87
|
dataType: "html"
|
87
88
|
).done(
|
@@ -91,7 +92,7 @@ class Wiselinks
|
|
91
92
|
if self._assets_changed(xhr.getResponseHeader('X-Wiselinks-Assets-Digest'))
|
92
93
|
window.location.reload(true)
|
93
94
|
else if url? && url != window.location.href
|
94
|
-
$document.trigger('page:redirected', [$target, render, url])
|
95
|
+
$document.trigger('page:redirected', [$target, state.data.render, url])
|
95
96
|
if ( xhr && xhr.readyState < 4)
|
96
97
|
xhr.onreadystatechange = $.noop
|
97
98
|
xhr.abort()
|
@@ -101,13 +102,13 @@ class Wiselinks
|
|
101
102
|
|
102
103
|
$target.html(data)
|
103
104
|
|
104
|
-
$document.trigger('page:done', [$target, status,
|
105
|
+
$document.trigger('page:done', [$target, status, state.ur, data])
|
105
106
|
).fail(
|
106
107
|
(xhr, status, error) ->
|
107
|
-
$document.trigger('page:fail', [$target, status,
|
108
|
+
$document.trigger('page:fail', [$target, status, state.ur, error])
|
108
109
|
).always(
|
109
110
|
(data_or_xhr, status, xhr_or_error)->
|
110
|
-
$document.trigger('page:always', [$target, status,
|
111
|
+
$document.trigger('page:always', [$target, status, state.ur])
|
111
112
|
)
|
112
113
|
|
113
114
|
_process_form: ($form) ->
|
@@ -169,4 +170,19 @@ class Wiselinks
|
|
169
170
|
value = xhr.getResponseHeader('X-Wiselinks-Title')
|
170
171
|
document.title = decodeURI(value) if value?
|
171
172
|
|
173
|
+
_make_state: (url, target, render = 'template', referer) ->
|
174
|
+
{
|
175
|
+
url: url
|
176
|
+
data:
|
177
|
+
target: target
|
178
|
+
render: render
|
179
|
+
referer: referer
|
180
|
+
}
|
181
|
+
|
182
|
+
_reset_state: (state) ->
|
183
|
+
state.data = {} unless state.data?
|
184
|
+
state.data.target = null
|
185
|
+
state.data.render = 'template'
|
186
|
+
state
|
187
|
+
|
172
188
|
window.Wiselinks = Wiselinks
|
data/lib/wiselinks/request.rb
CHANGED
@@ -1,5 +1,18 @@
|
|
1
1
|
module Wiselinks
|
2
2
|
module Request
|
3
|
+
def self.included(base)
|
4
|
+
base.alias_method_chain :referer, :wiselinks
|
5
|
+
base.alias_method_chain :referrer, :wiselinks
|
6
|
+
end
|
7
|
+
|
8
|
+
def referer_with_wiselinks
|
9
|
+
self.headers['X-Wiselinks-Referer'] || self.referer_without_wiselinks
|
10
|
+
end
|
11
|
+
|
12
|
+
def referrer_with_wiselinks
|
13
|
+
self.referer_with_wiselinks
|
14
|
+
end
|
15
|
+
|
3
16
|
def wiselinks?
|
4
17
|
self.headers['X-Wiselinks'].present?
|
5
18
|
end
|
data/wiselinks.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "wiselinks"
|
8
|
-
s.version = "0.5.
|
8
|
+
s.version = "0.5.4"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Igor Alexandrov", "Alexey Solilin", "Julia Egorova"]
|
12
|
-
s.date = "2013-
|
12
|
+
s.date = "2013-03-20"
|
13
13
|
s.email = "igor.alexandrov@gmail.com"
|
14
14
|
s.extra_rdoc_files = [
|
15
15
|
"LICENSE",
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wiselinks
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2013-
|
14
|
+
date: 2013-03-20 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: shoulda
|
@@ -187,7 +187,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
187
187
|
version: '0'
|
188
188
|
segments:
|
189
189
|
- 0
|
190
|
-
hash:
|
190
|
+
hash: -3940307628221105571
|
191
191
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
192
192
|
none: false
|
193
193
|
requirements:
|