coalescing_panda 4.1.11 → 4.1.12

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 863946fbd5f47db0f0004cf6846111a0e95c4fd9
4
- data.tar.gz: bf977dd224d2d2c6fbbbe49dca3ef9eb33d4ae99
3
+ metadata.gz: e582faf4e257cd6f9b0360bf944d9ecc409d68bd
4
+ data.tar.gz: fa0eb65cccf9239f4456de300538e42e45969510
5
5
  SHA512:
6
- metadata.gz: 3138b812b0e8db4c16103f185660389e4c562624e756aa881931579de57cf608be9b1ad93e47e37a39d085a7bcff281ddd930f0e6b1aea0424af9e637e1cca0a
7
- data.tar.gz: 05f9c464ac7f367ac2102697835c004f9446f8587ce73f7fa458432b22005b5ad4fd355d6527c3a432a37092f62aae0daf82e4b98e46a49a07b3e7ccf21da3de
6
+ metadata.gz: e3a9b034241743508c58b7893d361bbdadae0b14e26a3c0c415b572d3a420368918bac2a318c9ce4e799d97b64e94dfb1a51b13d7d6e77da93ed061c3f98766f
7
+ data.tar.gz: bbfbd4409297b27e2fbba9224304dc234f78bca7152c04daa143f91d5f8944f66f521f0cd0bed52f9ff3c7245fa697fb452a7166260b2c4ca886870c421bb5c5
@@ -0,0 +1,20 @@
1
+ class CoalescingPanda::BearcatUri
2
+ attr_accessor :uri
3
+
4
+ def initialize(uri)
5
+ Rails.logger.info "Parsing Bearcat URI: #{uri}"
6
+ @uri = URI.parse(uri)
7
+ end
8
+
9
+ def api_domain
10
+ uri.port.present? ? "#{uri.host}:#{uri.port.to_s}" : uri.host
11
+ end
12
+
13
+ def scheme
14
+ [uri.scheme, '://'].join
15
+ end
16
+
17
+ def prefix
18
+ [scheme, api_domain].join
19
+ end
20
+ end
@@ -7,7 +7,7 @@ module CoalescingPanda
7
7
  if lti_authorize!(*roles)
8
8
  user_id = params['user_id']
9
9
  launch_presentation_return_url = @lti_account.settings[:launch_presentation_return_url] || params['launch_presentation_return_url']
10
- uri = BearcatURI.new(launch_presentation_return_url)
10
+ uri = BearcatUri.new(launch_presentation_return_url)
11
11
  @lti_params = params.to_hash
12
12
  session['user_id'] = user_id
13
13
  session['uri'] = launch_presentation_return_url
@@ -21,9 +21,9 @@ module CoalescingPanda
21
21
  client_id = @lti_account.oauth2_client_id
22
22
  client = Bearcat::Client.new(prefix: uri.prefix)
23
23
  session['state'] = SecureRandom.hex(32)
24
- @canvas_url = client.auth_redirect_url(client_id,
25
- coalescing_panda.oauth2_redirect_url({key: params['oauth_consumer_key'],
26
- user_id: user_id, api_domain: uri.api_domain, state: session['state']}))
24
+ redirect_url = [coalescing_panda_url, coalescing_panda.oauth2_redirect_path({key: params['oauth_consumer_key'], user_id: user_id, api_domain: uri.api_domain, state: session['state']})].join
25
+ @canvas_url = client.auth_redirect_url(client_id, redirect_url)
26
+
27
27
  #delete the added params so the original oauth sig still works
28
28
  @lti_params.delete('action')
29
29
  @lti_params.delete('controller')
@@ -40,7 +40,7 @@ module CoalescingPanda
40
40
  end
41
41
 
42
42
  if (session['user_id'] && session['uri'])
43
- uri = BearcatURI.new(session['uri'])
43
+ uri = BearcatUri.new(session['uri'])
44
44
  token = CanvasApiAuth.where('user_id = ? and api_domain = ?', session['user_id'], uri.api_domain).pluck(:api_token).first
45
45
  @client = Bearcat::Client.new(token: token, prefix: uri.prefix) if token
46
46
  end
@@ -122,26 +122,5 @@ module CoalescingPanda
122
122
  end
123
123
  end
124
124
 
125
- class BearcatURI
126
- attr_accessor :uri
127
-
128
- def initialize(uri)
129
- Rails.logger.info "Parsing Bearcat URI: #{uri}"
130
- @uri = URI.parse(uri)
131
- end
132
-
133
- def api_domain
134
- uri.port.present? ? "#{uri.host}:#{uri.port.to_s}" : uri.host
135
- end
136
-
137
- def scheme
138
- [uri.scheme, '://'].join
139
- end
140
-
141
- def prefix
142
- [scheme, api_domain].join
143
- end
144
- end
145
-
146
125
  end
147
126
  end
@@ -1,3 +1,3 @@
1
1
  module CoalescingPanda
2
- VERSION = '4.1.11'
2
+ VERSION = '4.1.12'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: coalescing_panda
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.1.11
4
+ version: 4.1.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nathan Mills
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2015-06-23 00:00:00.000000000 Z
13
+ date: 2015-06-24 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rails
@@ -379,6 +379,7 @@ files:
379
379
  - db/migrate/20150526144713_add_account_to_canvas_batches.rb
380
380
  - db/migrate/20150602205257_add_option_to_canvas_batches.rb
381
381
  - lib/coalescing_panda.rb
382
+ - lib/coalescing_panda/bearcat_uri.rb
382
383
  - lib/coalescing_panda/controller_helpers.rb
383
384
  - lib/coalescing_panda/engine.rb
384
385
  - lib/coalescing_panda/route_helpers.rb