coalescing_panda 1.1.14 → 1.1.15
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.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 586a3f3cd77822569ab70d6df79eb8fe9fafa0d0
|
4
|
+
data.tar.gz: 12c1e9effb2464a6c07c2da7f79b66a09cbc60fa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 60539ca62e3c2ad213a89aada9b6525befd0ea902dfad26e896591feee3ea359eec4ea2d2ef789c3bd2d0c2f478a69a43e072919134c1a29d5be2d34c88f90bf
|
7
|
+
data.tar.gz: 1c06319f1a65a1e54628870d37c6a7c04cc08bd6f4e83cb81ae2e1d88d2f0238f48f997bbffd1e453b7070267f7d8fb787ebe9b879dcfc8d82ccfdda035eb80f
|
@@ -1,22 +1,5 @@
|
|
1
1
|
module CoalescingPanda
|
2
2
|
class ApplicationController < ActionController::Base
|
3
|
-
|
4
|
-
|
5
|
-
before_filter :session_check
|
6
|
-
|
7
|
-
def session_check
|
8
|
-
user_agent = UserAgent.parse(request.user_agent) # Uses useragent gem!
|
9
|
-
if user_agent.browser == 'Safari' # we apply the fix..
|
10
|
-
return if session[:safari_cookie_fixed] # it is already fixed.. continue
|
11
|
-
if params[:safari_cookie_fix].present? # we should be top window and able to set cookies.. so fix the issue :)
|
12
|
-
session[:safari_cookie_fixed] = true
|
13
|
-
redirect_to params[:return_to]
|
14
|
-
else
|
15
|
-
# Redirect the top frame to your server..
|
16
|
-
query = params.to_query
|
17
|
-
render :text => "<script>var referrer = document.referrer; top.window.location='?safari_cookie_fix=true&return_to='.concat(encodeURI(referrer));</script>"
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
3
|
+
|
21
4
|
end
|
22
5
|
end
|
@@ -1,5 +1,6 @@
|
|
1
1
|
module CoalescingPanda
|
2
2
|
module ControllerHelpers
|
3
|
+
require 'useragent'
|
3
4
|
|
4
5
|
def canvas_oauth2(*roles)
|
5
6
|
return if have_session?
|
@@ -112,5 +113,20 @@ module CoalescingPanda
|
|
112
113
|
end
|
113
114
|
end
|
114
115
|
|
116
|
+
def session_check
|
117
|
+
user_agent = UserAgent.parse(request.user_agent) # Uses useragent gem!
|
118
|
+
if user_agent.browser == 'Safari' # we apply the fix..
|
119
|
+
return if session[:safari_cookie_fixed] # it is already fixed.. continue
|
120
|
+
if params[:safari_cookie_fix].present? # we should be top window and able to set cookies.. so fix the issue :)
|
121
|
+
session[:safari_cookie_fixed] = true
|
122
|
+
redirect_to params[:return_to]
|
123
|
+
else
|
124
|
+
# Redirect the top frame to your server..
|
125
|
+
query = params.to_query
|
126
|
+
render :text => "<script>var referrer = document.referrer; top.window.location='?safari_cookie_fix=true&return_to='.concat(encodeURI(referrer));</script>"
|
127
|
+
end
|
128
|
+
end
|
129
|
+
end
|
130
|
+
|
115
131
|
end
|
116
132
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: coalescing_panda
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.15
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nathan Mills
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-09-
|
11
|
+
date: 2014-09-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|