ims-lti 1.2.7 → 1.2.9

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
  SHA256:
3
- metadata.gz: 29574604b1d50bb3ad7a18357c73989e650cc7eaee9693115661f4b1fba01369
4
- data.tar.gz: 7d3ce283cf78880097a4803f35ef96f0e2cdea74d49e17a6b45982b9f5171390
3
+ metadata.gz: 801e423357504d51cc0289e45e364d026abd4bbad20dfca90107725796cd258f
4
+ data.tar.gz: cfdcb37216eef088886486f951af05f719b086f7f32f7d8d83dc04f3020b563e
5
5
  SHA512:
6
- metadata.gz: 8effe8dd1fe14c17dd01a41c4f3c719a0201717d72b244b5d181df53df0de9ec13bec6bed53f1f9aa873c2cb9ada99dfad4eadc94818003610a287a56d8884f1
7
- data.tar.gz: a738260e51baa9a6a61db871ad3807e73dbf3918e1fd45da1cf27d6be0fd61bdf8e597579f8ac68c639936c848bb5d676dddacd7d592f784e1051bc9db2aa7d0
6
+ metadata.gz: fcc31ec46d3fccb7585bbe3d6dff5ab88227ccea12b4c056a2f8c588a864b26bb9d74d13601e2b08f7bcc404d215b4b0be14a3b96b613b79e795edfeb8ad2d0c
7
+ data.tar.gz: 0bfa98f889d2b848e03200a22f76447bab3df748c9b6a351d42d5ec9218838ba749f5751af59efd5ae8f7db701a28fcf5b8b92cecb253ebfc097cce3cfb7ff59
data/Changelog CHANGED
@@ -1,6 +1,28 @@
1
+ 2023-05-30 Version 1.2.9
2
+ * Loosen version requirement for OAuth gem
3
+
4
+ 2023-01-03 Version 1.2.8
5
+ * Add Ruby 3.0 support by requiring rexml
6
+ * Fix URI encoding bug for queries with an ampersand `&`
7
+
8
+ 2022-12-13 Version 1.2.7
9
+ * Fix content return parameter encoding
10
+
11
+ 2022-04-26 Version 1.2.6
12
+ * Add support for prioritizeNonToolGrade
13
+ * Add support for needsAdditionalReview
14
+
1
15
  2020-02-03 Version 1.2.4
2
16
  * Add support for submittedAt date
3
17
 
18
+ 2020-02-03 Version 1.2.3 -- yanked
19
+
20
+ 2017-06-19 Version 1.2.2
21
+ * Explicitly require 'oauth' gem and specify version range
22
+
23
+ 2017-04-13 Version 1.2.1
24
+ * Remove date field from gemspec
25
+
4
26
  2017-03-08 Version 1.2.0
5
27
  * Don't downcase roles
6
28
 
data/README.md CHANGED
@@ -112,5 +112,18 @@ As a Tool Consumer your app will POST an OAuth-signed launch requests to TPs wit
112
112
  [LTI launch data](http://www.imsglobal.org/LTI/v1p1/ltiIMGv1p1.html#_Toc319560465).
113
113
  This is covered in the [LTI security model](http://www.imsglobal.org/LTI/v1p1/ltiIMGv1p1.html#_Toc319560466)
114
114
 
115
+ ```ruby
116
+
117
+ params = { user_id: '123', lti_message_type: IMS::LTI::Models::Messages::BasicLTILaunchRequest::MESSAGE_TYPE }
118
+
119
+ header = SimpleOAuth::Header.new(:post, 'https://yoursite.com', params, consumer_key: oauth_consumer_key, consumer_secret: secret)
120
+
121
+ signed_params = header.signed_attributes.merge(params)
122
+
123
+ IMS::LTI::Services::MessageAuthenticator.new(launch_url, signed_params, secret)
124
+
125
+ ```
126
+
127
+ ## Contributing
115
128
  Here is an example of a simple TC Sinatra app using this gem:
116
129
  [LTI Tool Consumer](https://github.com/instructure/lti_tool_consumer_example)
@@ -1,3 +1,5 @@
1
+ require 'cgi'
2
+
1
3
  module IMS::LTI
2
4
 
3
5
  # Class for implementing an LTI Tool Provider
@@ -121,7 +123,7 @@ module IMS::LTI
121
123
  messages = []
122
124
  %w{lti_errormsg lti_errorlog lti_msg lti_log}.each do |m|
123
125
  if message = self.send(m)
124
- messages << "#{m}=#{URI.escape(message)}"
126
+ messages << "#{m}=#{CGI.escape(message)}"
125
127
  end
126
128
  end
127
129
  q_string = messages.any? ? ("?" + messages.join("&")) : ''
@@ -0,0 +1,5 @@
1
+ module IMS
2
+ module LTI
3
+ VERSION = '1.2.9'.freeze
4
+ end
5
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ims-lti
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.7
4
+ version: 1.2.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Instructure
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-12-13 00:00:00.000000000 Z
11
+ date: 2023-06-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: builder
@@ -37,9 +37,6 @@ dependencies:
37
37
  - - ">="
38
38
  - !ruby/object:Gem::Version
39
39
  version: 0.4.5
40
- - - "<"
41
- - !ruby/object:Gem::Version
42
- version: '0.6'
43
40
  type: :runtime
44
41
  prerelease: false
45
42
  version_requirements: !ruby/object:Gem::Requirement
@@ -47,27 +44,38 @@ dependencies:
47
44
  - - ">="
48
45
  - !ruby/object:Gem::Version
49
46
  version: 0.4.5
50
- - - "<"
47
+ - !ruby/object:Gem::Dependency
48
+ name: rexml
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
51
52
  - !ruby/object:Gem::Version
52
- version: '0.6'
53
+ version: '0'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
53
61
  - !ruby/object:Gem::Dependency
54
62
  name: rspec
55
63
  requirement: !ruby/object:Gem::Requirement
56
64
  requirements:
57
- - - ">"
65
+ - - "~>"
58
66
  - !ruby/object:Gem::Version
59
67
  version: '3.0'
60
- - - "~>"
68
+ - - ">"
61
69
  - !ruby/object:Gem::Version
62
70
  version: '3.0'
63
71
  type: :development
64
72
  prerelease: false
65
73
  version_requirements: !ruby/object:Gem::Requirement
66
74
  requirements:
67
- - - ">"
75
+ - - "~>"
68
76
  - !ruby/object:Gem::Version
69
77
  version: '3.0'
70
- - - "~>"
78
+ - - ">"
71
79
  - !ruby/object:Gem::Version
72
80
  version: '3.0'
73
81
  description:
@@ -96,6 +104,7 @@ files:
96
104
  - lib/ims/lti/tool_config.rb
97
105
  - lib/ims/lti/tool_consumer.rb
98
106
  - lib/ims/lti/tool_provider.rb
107
+ - lib/ims/lti/version.rb
99
108
  homepage: http://github.com/instructure/ims-lti
100
109
  licenses:
101
110
  - MIT
@@ -115,7 +124,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
115
124
  - !ruby/object:Gem::Version
116
125
  version: '0'
117
126
  requirements: []
118
- rubygems_version: 3.0.3.1
127
+ rubygems_version: 3.1.6
119
128
  signing_key:
120
129
  specification_version: 4
121
130
  summary: Ruby library for creating IMS LTI tool providers and consumers