lt-lcms 0.6.1 → 0.7.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 530ab52b721b8dddbd8ef8f5481bc32b34094f8cffd45b4fb42fea7a846efc52
4
- data.tar.gz: 7b2c1e6c09a3973022b56d9688aeb67fd6d3d8165d64428684e442d34c163686
3
+ metadata.gz: 51cacae078ee76dad8cead3e0323e0ed48bf9f6b9c7d2c3d72252e9ab00581cc
4
+ data.tar.gz: f96249be0690c1b5da751c4e52a9aef4a580554d0e8eac8ecdd86202b9e16731
5
5
  SHA512:
6
- metadata.gz: 7eec77c5a06061576548bd15aa6ca03ebec62a723c7035fac0d01e51026ef9c3efa9ec42acf72b2e43038901781ada6a4852bbdeb452a564e448a3f2d2b9bdcb
7
- data.tar.gz: 56cd3e7bc068162f013e8a2af3c351b119b945eaa3e9fee3adce83851179890f52e4ea67cd4fbe50a0a97b97ad766de7bc7c193e20d130aa3eb0d6d325ec58db
6
+ metadata.gz: a2c909556f73cd001d51b74dd8c85f0e24e0e02abe13e7ce8a5afa3e2a8255fd35c477dd88d085db703c1a50db7f06307f50d7eb15311c4bf9978f32690398fb
7
+ data.tar.gz: 5e8ee6665b70f99106c202865ce10f85c207a5ddb265ddd937f16a7162f948a8439a96bde9d4aee97bf7f002c32e59daa89e9f03bb5d5c4628b02f6a390d5642
data/.overcommit.yml CHANGED
@@ -30,6 +30,11 @@ PreCommit:
30
30
  TrailingWhitespace:
31
31
  enabled: true
32
32
 
33
+ TypeCheck:
34
+ enabled: true
35
+ description: RBS check
36
+ command: [ 'steep', 'check' ]
37
+
33
38
  PostCheckout:
34
39
  ALL:
35
40
  quiet: true # Change all post-checkout hooks to only display output on failure
data/.rubocop.yml CHANGED
@@ -13,7 +13,7 @@ AllCops:
13
13
  - db/schema.rb
14
14
  - node_modules/**/*
15
15
  NewCops: enable
16
- TargetRubyVersion: 2.7
16
+ TargetRubyVersion: 3.2
17
17
 
18
18
  Gemspec/DevelopmentDependencies:
19
19
  EnforcedStyle: gemspec
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.7.7
1
+ 3.2.1
data/CHANGELOG.md CHANGED
@@ -4,7 +4,24 @@ All notable changes to this project will be documented in this file.
4
4
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5
5
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
- ## [Unreleased](https://github.com/learningtapestry/lcms-engine/compare/v0.6.1...HEAD)
7
+ ## [Unreleased](https://github.com/learningtapestry/lcms-engine/compare/v0.7.0...HEAD)
8
+
9
+ ## [0.7.1](https://github.com/learningtapestry/lt-lcms/compare/v0.7.0...v0.7.1) - 2025-06-21
10
+
11
+ ### Changed
12
+
13
+ - Bump lt-google-api to 0.4.1
14
+ - Misc gem updates
15
+
16
+ ## [0.7.0](https://github.com/learningtapestry/lt-lcms/compare/v0.6.1...v0.7.0) - 2025-06-21
17
+
18
+ ### Removed
19
+
20
+ - Drop Ruby < 3.2 support and bump ruby to 3.2 by @paranoicsan in #34
21
+
22
+ ### Added
23
+
24
+ - Bump lt-google-api to 0.4.0
8
25
 
9
26
  ## [0.6.1](https://github.com/learningtapestry/lt-lcms/compare/v0.6.1...v0.6.0) - 2025-06-21
10
27
 
data/Dockerfile CHANGED
@@ -1,4 +1,4 @@
1
- FROM ruby:2.7.7
1
+ FROM ruby:3.2.1
2
2
 
3
3
  ENV APP_PATH=/app/
4
4
  ENV LANG=C.UTF-8
data/Gemfile.lock CHANGED
@@ -1,30 +1,52 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- lt-lcms (0.6.1)
5
- google-apis-core (~> 0.16.0)
4
+ lt-lcms (0.7.1)
5
+ activesupport (~> 7)
6
+ google-apis-core (~> 0.18)
6
7
  httparty (~> 0.22)
7
- lt-google-api (~> 0.3.2)
8
+ lt-google-api (~> 0.4.0, >= 0.4.1)
8
9
  nokogiri (~> 1.10, >= 1.10.8)
9
10
  rubyzip (~> 2)
10
11
 
11
12
  GEM
12
13
  remote: https://rubygems.org/
13
14
  specs:
15
+ activesupport (7.2.2.2)
16
+ base64
17
+ benchmark (>= 0.3)
18
+ bigdecimal
19
+ concurrent-ruby (~> 1.0, >= 1.3.1)
20
+ connection_pool (>= 2.2.5)
21
+ drb
22
+ i18n (>= 1.6, < 2)
23
+ logger (>= 1.4.2)
24
+ minitest (>= 5.1)
25
+ securerandom (>= 0.3)
26
+ tzinfo (~> 2.0, >= 2.0.5)
14
27
  addressable (2.8.7)
15
28
  public_suffix (>= 2.0.2, < 7.0)
16
29
  ast (2.4.3)
17
30
  base64 (0.3.0)
31
+ benchmark (0.4.1)
32
+ bigdecimal (3.2.3)
18
33
  childprocess (5.1.0)
19
34
  logger (~> 1.5)
35
+ concurrent-ruby (1.3.5)
36
+ connection_pool (2.5.4)
20
37
  csv (3.3.5)
21
38
  declarative (0.0.20)
22
- faraday (2.8.1)
23
- base64
24
- faraday-net_http (>= 2.0, < 3.1)
25
- ruby2_keywords (>= 0.0.4)
26
- faraday-net_http (3.0.2)
27
- google-apis-core (0.16.0)
39
+ drb (2.2.3)
40
+ faraday (2.13.4)
41
+ faraday-net_http (>= 2.0, < 3.5)
42
+ json
43
+ logger
44
+ faraday-net_http (3.4.1)
45
+ net-http (>= 0.5.0)
46
+ ffi (1.17.2-aarch64-linux-gnu)
47
+ ffi (1.17.2-x86_64-linux-gnu)
48
+ fileutils (1.7.3)
49
+ google-apis-core (0.18.0)
28
50
  addressable (~> 2.5, >= 2.5.1)
29
51
  googleauth (~> 1.9)
30
52
  httpclient (>= 2.8.3, < 3.a)
@@ -32,14 +54,17 @@ GEM
32
54
  mutex_m
33
55
  representable (~> 3.0)
34
56
  retriable (>= 2.0, < 4.a)
35
- google-apis-drive_v3 (0.63.0)
57
+ google-apis-drive_v3 (0.71.0)
36
58
  google-apis-core (>= 0.15.0, < 2.a)
37
- google-cloud-env (2.1.1)
59
+ google-cloud-env (2.3.1)
60
+ base64 (~> 0.2)
38
61
  faraday (>= 1.0, < 3.a)
39
- googleauth (1.11.2)
62
+ google-logging-utils (0.2.0)
63
+ googleauth (1.15.0)
40
64
  faraday (>= 1.0, < 3.a)
41
- google-cloud-env (~> 2.1)
42
- jwt (>= 1.4, < 3.0)
65
+ google-cloud-env (~> 2.2)
66
+ google-logging-utils (~> 0.1)
67
+ jwt (>= 1.4, < 4.0)
43
68
  multi_json (~> 1.11)
44
69
  os (>= 0.9, < 2.0)
45
70
  signet (>= 0.16, < 2.a)
@@ -49,44 +74,61 @@ GEM
49
74
  multi_xml (>= 0.5.2)
50
75
  httpclient (2.9.0)
51
76
  mutex_m
77
+ i18n (1.14.7)
78
+ concurrent-ruby (~> 1.0)
52
79
  iniparse (1.5.0)
53
- json (2.12.2)
54
- jwt (2.10.1)
80
+ json (2.14.1)
81
+ jwt (3.1.2)
55
82
  base64
56
83
  language_server-protocol (3.17.0.5)
57
84
  lint_roller (1.1.0)
85
+ listen (3.9.0)
86
+ rb-fsevent (~> 0.10, >= 0.10.3)
87
+ rb-inotify (~> 0.9, >= 0.9.10)
58
88
  logger (1.7.0)
59
- lt-google-api (0.3.2)
60
- google-apis-drive_v3 (~> 0.63.0)
61
- googleauth (~> 1.11.2)
89
+ lt-google-api (0.4.1)
90
+ activesupport (~> 7)
91
+ google-apis-drive_v3 (~> 0.66)
92
+ googleauth (~> 1.14)
62
93
  mini_mime (1.1.5)
63
- multi_json (1.15.0)
64
- multi_xml (0.6.0)
94
+ minitest (5.25.5)
95
+ multi_json (1.17.0)
96
+ multi_xml (0.7.2)
97
+ bigdecimal (~> 3.1)
65
98
  mutex_m (0.3.0)
66
- nokogiri (1.15.7-aarch64-linux)
99
+ net-http (0.6.0)
100
+ uri
101
+ nokogiri (1.18.10-aarch64-linux-gnu)
102
+ racc (~> 1.4)
103
+ nokogiri (1.18.10-x86_64-linux-gnu)
67
104
  racc (~> 1.4)
68
105
  os (1.1.4)
69
- overcommit (0.67.1)
106
+ overcommit (0.68.0)
70
107
  childprocess (>= 0.6.3, < 6)
71
108
  iniparse (~> 1.4)
72
109
  rexml (>= 3.3.9)
73
110
  parallel (1.27.0)
74
- parser (3.3.8.0)
111
+ parser (3.3.9.0)
75
112
  ast (~> 2.4.1)
76
113
  racc
77
- prism (1.4.0)
78
- public_suffix (5.1.1)
114
+ prism (1.5.1)
115
+ public_suffix (6.0.2)
79
116
  racc (1.8.1)
80
117
  rainbow (3.1.1)
81
118
  rake (13.3.0)
82
- regexp_parser (2.10.0)
119
+ rb-fsevent (0.11.2)
120
+ rb-inotify (0.11.1)
121
+ ffi (~> 1.0)
122
+ rbs (3.9.5)
123
+ logger
124
+ regexp_parser (2.11.3)
83
125
  representable (3.2.0)
84
126
  declarative (< 0.1.0)
85
127
  trailblazer-option (>= 0.1.1, < 0.2.0)
86
128
  uber (< 0.2.0)
87
129
  retriable (3.1.2)
88
- rexml (3.4.1)
89
- rubocop (1.77.0)
130
+ rexml (3.4.4)
131
+ rubocop (1.80.2)
90
132
  json (~> 2.3)
91
133
  language_server-protocol (~> 3.17.0.2)
92
134
  lint_roller (~> 1.1.0)
@@ -94,28 +136,52 @@ GEM
94
136
  parser (>= 3.3.0.2)
95
137
  rainbow (>= 2.2.2, < 4.0)
96
138
  regexp_parser (>= 2.9.3, < 3.0)
97
- rubocop-ast (>= 1.45.1, < 2.0)
139
+ rubocop-ast (>= 1.46.0, < 2.0)
98
140
  ruby-progressbar (~> 1.7)
99
141
  unicode-display_width (>= 2.4.0, < 4.0)
100
- rubocop-ast (1.45.1)
142
+ rubocop-ast (1.47.0)
101
143
  parser (>= 3.3.7.2)
102
144
  prism (~> 1.4)
103
145
  ruby-progressbar (1.13.0)
104
- ruby2_keywords (0.0.5)
105
146
  rubyzip (2.4.1)
106
- signet (0.19.0)
147
+ securerandom (0.4.1)
148
+ signet (0.21.0)
107
149
  addressable (~> 2.8)
108
150
  faraday (>= 0.17.5, < 3.a)
109
- jwt (>= 1.5, < 3.0)
151
+ jwt (>= 1.5, < 4.0)
110
152
  multi_json (~> 1.10)
153
+ steep (1.10.0)
154
+ activesupport (>= 5.1)
155
+ concurrent-ruby (>= 1.1.10)
156
+ csv (>= 3.0.9)
157
+ fileutils (>= 1.1.0)
158
+ json (>= 2.1.0)
159
+ language_server-protocol (>= 3.17.0.4, < 4.0)
160
+ listen (~> 3.0)
161
+ logger (>= 1.3.0)
162
+ mutex_m (>= 0.3.0)
163
+ parser (>= 3.1)
164
+ rainbow (>= 2.2.2, < 4.0)
165
+ rbs (~> 3.9)
166
+ securerandom (>= 0.1)
167
+ strscan (>= 1.0.0)
168
+ terminal-table (>= 2, < 5)
169
+ uri (>= 0.12.0)
170
+ strscan (3.1.5)
171
+ terminal-table (4.0.0)
172
+ unicode-display_width (>= 1.1.1, < 4)
111
173
  trailblazer-option (0.1.2)
174
+ tzinfo (2.0.6)
175
+ concurrent-ruby (~> 1.0)
112
176
  uber (0.1.0)
113
- unicode-display_width (3.1.4)
114
- unicode-emoji (~> 4.0, >= 4.0.4)
115
- unicode-emoji (4.0.4)
177
+ unicode-display_width (3.2.0)
178
+ unicode-emoji (~> 4.1)
179
+ unicode-emoji (4.1.0)
180
+ uri (1.0.3)
116
181
 
117
182
  PLATFORMS
118
183
  aarch64-linux
184
+ x86_64-linux
119
185
 
120
186
  DEPENDENCIES
121
187
  bundler (~> 2.4)
@@ -123,6 +189,7 @@ DEPENDENCIES
123
189
  overcommit (~> 0.60)
124
190
  rake (~> 13.0)
125
191
  rubocop (~> 1.54)
192
+ steep (~> 1.10)
126
193
 
127
194
  BUNDLED WITH
128
195
  2.4.22
data/README.md CHANGED
@@ -1,9 +1,10 @@
1
1
  # Lt::Lcms
2
2
 
3
- [![Codeship Status for learningtapestry/lt-lcms](https://app.codeship.com/projects/b151f4e0-26f8-0137-ffc2-3e508df156a9/status?branch=master)](https://app.codeship.com/projects/330485)
4
-
5
3
  ## Installation
6
4
 
5
+ _Note:_ This is the Ruby 3.x branch. For Ruby 2.x, the latest version is `0.6.1`. If any updates are needed for the Ruby 2.x version, use the [`ruby-2x`](https://github.com/learningtapestry/lt-lcms/tree/ruby-2x) branch.
6
+
7
+
7
8
  Add this line to your application's Gemfile:
8
9
 
9
10
  ```ruby
@@ -35,7 +36,27 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
35
36
  ### Docker
36
37
 
37
38
  ```shell
38
- docker buildx build --platform linux/arm64/v8,linux/amd64 -t learningtapestry/lt-lcms:legacy --push .
39
+ docker buildx build --platform linux/arm64/v8,linux/amd64 -t learningtapestry/lt-lcms --push .
40
+ ```
41
+
42
+ ### Type checking
43
+
44
+ Install existing collections:
45
+
46
+ ```shell
47
+ rbs collection install
48
+ ```
49
+
50
+ Validate installation
51
+
52
+ ```shell
53
+ rbs validate
54
+ ```
55
+
56
+ Check types
57
+
58
+ ```shell
59
+ steep check
39
60
  ```
40
61
 
41
62
  ## Contributing
data/docker-compose.yml CHANGED
@@ -1,8 +1,10 @@
1
- version: '3.8'
2
-
3
1
  services:
4
2
  app:
5
- image: learningtapestry/lt-lcms:legacy
3
+ image: learningtapestry/lt-lcms
6
4
  command: bash -c "bundle install && tail -f /dev/null"
7
5
  volumes:
8
6
  - .:/app
7
+ - bundle-3.2.1:/usr/local/bundle
8
+
9
+ volumes:
10
+ bundle-3.2.1:
@@ -1,14 +1,15 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'lt/lcms/lesson/downloader/base'
4
+ require 'httparty'
4
5
 
5
6
  module Lt
6
7
  module Lcms
7
8
  module Lesson
8
9
  module Downloader
9
10
  class Gdoc < Base
10
- GOOGLE_DRAWING_RE = %r{https?://docs\.google\.com/?[^"]*/drawings/[^"]*}i.freeze
11
- GOOGLE_URL_RE = %r{https://www\.google\.com/url\?q=([^&]*)&?.*}i.freeze
11
+ GOOGLE_DRAWING_RE = %r{https?://docs\.google\.com/?[^"]*/drawings/[^"]*}i
12
+ GOOGLE_URL_RE = %r{https://www\.google\.com/url\?q=([^&]*)&?.*}i
12
13
  MIME_TYPE = 'application/vnd.google-apps.document'
13
14
  MIME_TYPE_EXPORT = 'text/html'
14
15
 
@@ -46,7 +47,7 @@ module Lt
46
47
 
47
48
  match.to_a.uniq.each do |url|
48
49
  upd_url = updated_drawing_url_for(url)
49
- response = HTTParty.get CGI.unescapeHTML(upd_url), headers: { 'Authorization' => "Bearer #{bearer}" }
50
+ response = ::HTTParty.get CGI.unescapeHTML(upd_url), headers: { 'Authorization' => "Bearer #{bearer}" }
50
51
 
51
52
  next unless response.code == 200
52
53
 
@@ -11,15 +11,15 @@ module Lt
11
11
 
12
12
  def upload(name, content, content_type, parent_folder_id = nil)
13
13
  file_metadata = {
14
- name: name,
15
- mime_type: Lt::Google::Api::Drive::MIME_FILE
14
+ name:,
15
+ mime_type: Lt::Google::Api::Drive::MIME_FILE,
16
+ parents: parent_folder_id.present? ? Array.wrap(parent_folder_id) : nil
16
17
  }
17
- file_metadata[:parents] = Array.wrap(parent_folder_id) unless parent_folder_id.nil?
18
18
  file = service.create_file(
19
- file_metadata,
19
+ file_metadata.compact,
20
20
  fields: 'id',
21
21
  upload_source: StringIO.new(content),
22
- content_type: content_type,
22
+ content_type:,
23
23
  supports_all_drives: true
24
24
  )
25
25
  file.id
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Lt
4
4
  module Lcms
5
- VERSION = '0.6.1'
5
+ VERSION = '0.7.1'
6
6
  end
7
7
  end
data/lt-lcms.gemspec CHANGED
@@ -15,7 +15,7 @@ Gem::Specification.new do |spec| # rubocop:disable Metrics/BlockLength
15
15
  spec.description = ''
16
16
  spec.license = 'Apache-2.0'
17
17
 
18
- spec.required_ruby_version = '>= 2.7'
18
+ spec.required_ruby_version = '>= 3.2'
19
19
 
20
20
  # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
21
21
  # to allow pushing to a single host or delete this section to allow pushing to any host.
@@ -34,14 +34,18 @@ Gem::Specification.new do |spec| # rubocop:disable Metrics/BlockLength
34
34
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
35
35
  spec.require_paths = ['lib']
36
36
 
37
- spec.add_dependency 'google-apis-core', '~> 0.16.0'
37
+ spec.add_dependency 'google-apis-core', '~> 0.18'
38
38
  spec.add_dependency 'httparty', '~> 0.22'
39
- spec.add_dependency 'lt-google-api', '~> 0.3.2'
39
+ spec.add_dependency 'lt-google-api', '~> 0.4.0', '>= 0.4.1'
40
40
  spec.add_dependency 'nokogiri', '~> 1.10', '>= 1.10.8'
41
41
  spec.add_dependency 'rubyzip', '~> 2'
42
42
 
43
+ # NOTE: Limited to 7.x due to all clients are using 7.x
44
+ spec.add_dependency 'activesupport', '~> 7'
45
+
43
46
  spec.add_development_dependency 'bundler', '~> 2.4'
44
47
  spec.add_development_dependency 'overcommit', '~> 0.60'
45
48
  spec.add_development_dependency 'rake', '~> 13.0'
46
49
  spec.add_development_dependency 'rubocop', '~> 1.54'
50
+ spec.add_development_dependency 'steep', '~> 1.10'
47
51
  end
@@ -0,0 +1,304 @@
1
+ ---
2
+ path: ".gem_rbs_collection"
3
+ gems:
4
+ - name: activesupport
5
+ version: '7.0'
6
+ source:
7
+ type: git
8
+ name: ruby/gem_rbs_collection
9
+ revision: fdacf4febfd1a10797f2340410e0876a9811cdf2
10
+ remote: https://github.com/ruby/gem_rbs_collection.git
11
+ repo_dir: gems
12
+ - name: addressable
13
+ version: '2.8'
14
+ source:
15
+ type: git
16
+ name: ruby/gem_rbs_collection
17
+ revision: fdacf4febfd1a10797f2340410e0876a9811cdf2
18
+ remote: https://github.com/ruby/gem_rbs_collection.git
19
+ repo_dir: gems
20
+ - name: ast
21
+ version: '2.4'
22
+ source:
23
+ type: git
24
+ name: ruby/gem_rbs_collection
25
+ revision: fdacf4febfd1a10797f2340410e0876a9811cdf2
26
+ remote: https://github.com/ruby/gem_rbs_collection.git
27
+ repo_dir: gems
28
+ - name: base64
29
+ version: 0.3.0
30
+ source:
31
+ type: rubygems
32
+ - name: benchmark
33
+ version: '0'
34
+ source:
35
+ type: stdlib
36
+ - name: bigdecimal
37
+ version: '3.1'
38
+ source:
39
+ type: git
40
+ name: ruby/gem_rbs_collection
41
+ revision: fdacf4febfd1a10797f2340410e0876a9811cdf2
42
+ remote: https://github.com/ruby/gem_rbs_collection.git
43
+ repo_dir: gems
44
+ - name: connection_pool
45
+ version: '2.4'
46
+ source:
47
+ type: git
48
+ name: ruby/gem_rbs_collection
49
+ revision: fdacf4febfd1a10797f2340410e0876a9811cdf2
50
+ remote: https://github.com/ruby/gem_rbs_collection.git
51
+ repo_dir: gems
52
+ - name: csv
53
+ version: '3.3'
54
+ source:
55
+ type: git
56
+ name: ruby/gem_rbs_collection
57
+ revision: fdacf4febfd1a10797f2340410e0876a9811cdf2
58
+ remote: https://github.com/ruby/gem_rbs_collection.git
59
+ repo_dir: gems
60
+ - name: date
61
+ version: '0'
62
+ source:
63
+ type: stdlib
64
+ - name: digest
65
+ version: '0'
66
+ source:
67
+ type: stdlib
68
+ - name: erb
69
+ version: '0'
70
+ source:
71
+ type: stdlib
72
+ - name: faraday
73
+ version: '2.7'
74
+ source:
75
+ type: git
76
+ name: ruby/gem_rbs_collection
77
+ revision: fdacf4febfd1a10797f2340410e0876a9811cdf2
78
+ remote: https://github.com/ruby/gem_rbs_collection.git
79
+ repo_dir: gems
80
+ - name: fileutils
81
+ version: '0'
82
+ source:
83
+ type: stdlib
84
+ - name: forwardable
85
+ version: '0'
86
+ source:
87
+ type: stdlib
88
+ - name: google-apis-core
89
+ version: '0.15'
90
+ source:
91
+ type: git
92
+ name: ruby/gem_rbs_collection
93
+ revision: fdacf4febfd1a10797f2340410e0876a9811cdf2
94
+ remote: https://github.com/ruby/gem_rbs_collection.git
95
+ repo_dir: gems
96
+ - name: googleauth
97
+ version: '1.11'
98
+ source:
99
+ type: git
100
+ name: ruby/gem_rbs_collection
101
+ revision: fdacf4febfd1a10797f2340410e0876a9811cdf2
102
+ remote: https://github.com/ruby/gem_rbs_collection.git
103
+ repo_dir: gems
104
+ - name: httparty
105
+ version: '0.18'
106
+ source:
107
+ type: git
108
+ name: ruby/gem_rbs_collection
109
+ revision: fdacf4febfd1a10797f2340410e0876a9811cdf2
110
+ remote: https://github.com/ruby/gem_rbs_collection.git
111
+ repo_dir: gems
112
+ - name: httpclient
113
+ version: '2.8'
114
+ source:
115
+ type: git
116
+ name: ruby/gem_rbs_collection
117
+ revision: fdacf4febfd1a10797f2340410e0876a9811cdf2
118
+ remote: https://github.com/ruby/gem_rbs_collection.git
119
+ repo_dir: gems
120
+ - name: i18n
121
+ version: '1.10'
122
+ source:
123
+ type: git
124
+ name: ruby/gem_rbs_collection
125
+ revision: fdacf4febfd1a10797f2340410e0876a9811cdf2
126
+ remote: https://github.com/ruby/gem_rbs_collection.git
127
+ repo_dir: gems
128
+ - name: json
129
+ version: '0'
130
+ source:
131
+ type: stdlib
132
+ - name: jwt
133
+ version: '2.5'
134
+ source:
135
+ type: git
136
+ name: ruby/gem_rbs_collection
137
+ revision: fdacf4febfd1a10797f2340410e0876a9811cdf2
138
+ remote: https://github.com/ruby/gem_rbs_collection.git
139
+ repo_dir: gems
140
+ - name: logger
141
+ version: '0'
142
+ source:
143
+ type: stdlib
144
+ - name: lt-google-api
145
+ version: 0.4.0
146
+ source:
147
+ type: rubygems
148
+ - name: mini_mime
149
+ version: '0.1'
150
+ source:
151
+ type: git
152
+ name: ruby/gem_rbs_collection
153
+ revision: fdacf4febfd1a10797f2340410e0876a9811cdf2
154
+ remote: https://github.com/ruby/gem_rbs_collection.git
155
+ repo_dir: gems
156
+ - name: minitest
157
+ version: '5.25'
158
+ source:
159
+ type: git
160
+ name: ruby/gem_rbs_collection
161
+ revision: fdacf4febfd1a10797f2340410e0876a9811cdf2
162
+ remote: https://github.com/ruby/gem_rbs_collection.git
163
+ repo_dir: gems
164
+ - name: monitor
165
+ version: '0'
166
+ source:
167
+ type: stdlib
168
+ - name: mutex_m
169
+ version: 0.3.0
170
+ source:
171
+ type: rubygems
172
+ - name: net-http
173
+ version: '0'
174
+ source:
175
+ type: stdlib
176
+ - name: net-protocol
177
+ version: '0'
178
+ source:
179
+ type: stdlib
180
+ - name: nokogiri
181
+ version: '1.11'
182
+ source:
183
+ type: git
184
+ name: ruby/gem_rbs_collection
185
+ revision: fdacf4febfd1a10797f2340410e0876a9811cdf2
186
+ remote: https://github.com/ruby/gem_rbs_collection.git
187
+ repo_dir: gems
188
+ - name: openssl
189
+ version: '0'
190
+ source:
191
+ type: stdlib
192
+ - name: parallel
193
+ version: '1.20'
194
+ source:
195
+ type: git
196
+ name: ruby/gem_rbs_collection
197
+ revision: fdacf4febfd1a10797f2340410e0876a9811cdf2
198
+ remote: https://github.com/ruby/gem_rbs_collection.git
199
+ repo_dir: gems
200
+ - name: parser
201
+ version: '3.2'
202
+ source:
203
+ type: git
204
+ name: ruby/gem_rbs_collection
205
+ revision: fdacf4febfd1a10797f2340410e0876a9811cdf2
206
+ remote: https://github.com/ruby/gem_rbs_collection.git
207
+ repo_dir: gems
208
+ - name: prism
209
+ version: 1.5.1
210
+ source:
211
+ type: rubygems
212
+ - name: rainbow
213
+ version: '3.0'
214
+ source:
215
+ type: git
216
+ name: ruby/gem_rbs_collection
217
+ revision: fdacf4febfd1a10797f2340410e0876a9811cdf2
218
+ remote: https://github.com/ruby/gem_rbs_collection.git
219
+ repo_dir: gems
220
+ - name: rake
221
+ version: '13.0'
222
+ source:
223
+ type: git
224
+ name: ruby/gem_rbs_collection
225
+ revision: fdacf4febfd1a10797f2340410e0876a9811cdf2
226
+ remote: https://github.com/ruby/gem_rbs_collection.git
227
+ repo_dir: gems
228
+ - name: regexp_parser
229
+ version: '2.8'
230
+ source:
231
+ type: git
232
+ name: ruby/gem_rbs_collection
233
+ revision: fdacf4febfd1a10797f2340410e0876a9811cdf2
234
+ remote: https://github.com/ruby/gem_rbs_collection.git
235
+ repo_dir: gems
236
+ - name: rubocop
237
+ version: '1.57'
238
+ source:
239
+ type: git
240
+ name: ruby/gem_rbs_collection
241
+ revision: fdacf4febfd1a10797f2340410e0876a9811cdf2
242
+ remote: https://github.com/ruby/gem_rbs_collection.git
243
+ repo_dir: gems
244
+ - name: rubocop-ast
245
+ version: '1.46'
246
+ source:
247
+ type: git
248
+ name: ruby/gem_rbs_collection
249
+ revision: fdacf4febfd1a10797f2340410e0876a9811cdf2
250
+ remote: https://github.com/ruby/gem_rbs_collection.git
251
+ repo_dir: gems
252
+ - name: rubyzip
253
+ version: '2.3'
254
+ source:
255
+ type: git
256
+ name: ruby/gem_rbs_collection
257
+ revision: fdacf4febfd1a10797f2340410e0876a9811cdf2
258
+ remote: https://github.com/ruby/gem_rbs_collection.git
259
+ repo_dir: gems
260
+ - name: securerandom
261
+ version: '0'
262
+ source:
263
+ type: stdlib
264
+ - name: signet
265
+ version: '0.19'
266
+ source:
267
+ type: git
268
+ name: ruby/gem_rbs_collection
269
+ revision: fdacf4febfd1a10797f2340410e0876a9811cdf2
270
+ remote: https://github.com/ruby/gem_rbs_collection.git
271
+ repo_dir: gems
272
+ - name: singleton
273
+ version: '0'
274
+ source:
275
+ type: stdlib
276
+ - name: socket
277
+ version: '0'
278
+ source:
279
+ type: stdlib
280
+ - name: stringio
281
+ version: '0'
282
+ source:
283
+ type: stdlib
284
+ - name: time
285
+ version: '0'
286
+ source:
287
+ type: stdlib
288
+ - name: timeout
289
+ version: '0'
290
+ source:
291
+ type: stdlib
292
+ - name: tzinfo
293
+ version: '2.0'
294
+ source:
295
+ type: git
296
+ name: ruby/gem_rbs_collection
297
+ revision: fdacf4febfd1a10797f2340410e0876a9811cdf2
298
+ remote: https://github.com/ruby/gem_rbs_collection.git
299
+ repo_dir: gems
300
+ - name: uri
301
+ version: '0'
302
+ source:
303
+ type: stdlib
304
+ gemfile_lock_path: Gemfile.lock
@@ -4,28 +4,23 @@ module Lt
4
4
  module Downloader
5
5
  class Base
6
6
  RETRY_DELAYES: ::Array[untyped]
7
-
8
- MAX_RETRY_COUNT: untyped
9
-
10
- MIME_TYPE_EXPORT: "text/plain"
7
+ MAX_RETRY_COUNT: Integer
8
+ MIME_TYPE_EXPORT: String
11
9
 
12
10
  def self.file_id_for: (untyped url) -> untyped
13
11
 
14
12
  attr_reader content: untyped
15
13
 
16
14
  def initialize: (untyped credentials, untyped file_url, ?::Hash[untyped, untyped] opts) -> void
17
-
18
15
  def download: (?mime_type: untyped) ?{ (untyped) -> untyped } -> untyped
19
-
20
- def file: () -> untyped
21
-
22
- def file_id: () -> untyped
16
+ def file: -> untyped
17
+ def file_id: -> untyped
23
18
 
24
19
  private
25
20
 
26
21
  attr_reader options: untyped
27
22
 
28
- def service: () -> untyped
23
+ def service: -> untyped
29
24
  end
30
25
  end
31
26
  end
@@ -4,12 +4,9 @@ module Lt
4
4
  module Downloader
5
5
  class Gdoc < Base
6
6
  GOOGLE_DRAWING_RE: ::Regexp
7
-
8
7
  GOOGLE_URL_RE: ::Regexp
9
-
10
- MIME_TYPE: "application/vnd.google-apps.document"
11
-
12
- MIME_TYPE_EXPORT: "text/html"
8
+ MIME_TYPE: String
9
+ MIME_TYPE_EXPORT: String
13
10
 
14
11
  def self.gdoc_file_url: (untyped id) -> ::String
15
12
 
@@ -22,10 +19,7 @@ module Lt
22
19
  BASE_DPI: ::Float
23
20
 
24
21
  def fix_links: (untyped html) -> untyped
25
-
26
22
  def handle_google_drawings: (untyped html) -> untyped
27
-
28
- # Update drawing url w/h parameters to download in better quality than default 72 dpi
29
23
  def updated_drawing_url_for: (untyped url) -> untyped
30
24
  end
31
25
  end
@@ -4,12 +4,11 @@ module Lt
4
4
  module Uploader
5
5
  class Gdoc
6
6
  def initialize: (untyped credentials) -> void
7
-
8
- def upload: (untyped name, untyped content, untyped content_type, ?untyped? parent_folder_id) -> untyped
7
+ def upload: (String name, untyped content, String content_type, ?(String | nil)? parent_folder_id) -> String
9
8
 
10
9
  private
11
10
 
12
- def service: () -> untyped
11
+ def service: -> untyped
13
12
  end
14
13
  end
15
14
  end
data/vendor/rbs/.keep ADDED
File without changes
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lt-lcms
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.7.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Kuznetsov
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-06-21 00:00:00.000000000 Z
11
+ date: 2025-09-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: google-apis-core
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.16.0
19
+ version: '0.18'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.16.0
26
+ version: '0.18'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: httparty
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -44,14 +44,20 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.3.2
47
+ version: 0.4.0
48
+ - - ">="
49
+ - !ruby/object:Gem::Version
50
+ version: 0.4.1
48
51
  type: :runtime
49
52
  prerelease: false
50
53
  version_requirements: !ruby/object:Gem::Requirement
51
54
  requirements:
52
55
  - - "~>"
53
56
  - !ruby/object:Gem::Version
54
- version: 0.3.2
57
+ version: 0.4.0
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: 0.4.1
55
61
  - !ruby/object:Gem::Dependency
56
62
  name: nokogiri
57
63
  requirement: !ruby/object:Gem::Requirement
@@ -86,6 +92,20 @@ dependencies:
86
92
  - - "~>"
87
93
  - !ruby/object:Gem::Version
88
94
  version: '2'
95
+ - !ruby/object:Gem::Dependency
96
+ name: activesupport
97
+ requirement: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - "~>"
100
+ - !ruby/object:Gem::Version
101
+ version: '7'
102
+ type: :runtime
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - "~>"
107
+ - !ruby/object:Gem::Version
108
+ version: '7'
89
109
  - !ruby/object:Gem::Dependency
90
110
  name: bundler
91
111
  requirement: !ruby/object:Gem::Requirement
@@ -142,6 +162,20 @@ dependencies:
142
162
  - - "~>"
143
163
  - !ruby/object:Gem::Version
144
164
  version: '1.54'
165
+ - !ruby/object:Gem::Dependency
166
+ name: steep
167
+ requirement: !ruby/object:Gem::Requirement
168
+ requirements:
169
+ - - "~>"
170
+ - !ruby/object:Gem::Version
171
+ version: '1.10'
172
+ type: :development
173
+ prerelease: false
174
+ version_requirements: !ruby/object:Gem::Requirement
175
+ requirements:
176
+ - - "~>"
177
+ - !ruby/object:Gem::Version
178
+ version: '1.10'
145
179
  description: ''
146
180
  email:
147
181
  - alexander@learningtapeestry.com
@@ -181,6 +215,7 @@ files:
181
215
  - lib/lt/lcms/lesson/uploader/gdoc.rb
182
216
  - lib/lt/lcms/version.rb
183
217
  - lt-lcms.gemspec
218
+ - rbs_collection.lock.yaml
184
219
  - rbs_collection.yaml
185
220
  - sig/lt/lcms.rbs
186
221
  - sig/lt/lcms/lesson/downloader.rbs
@@ -193,15 +228,7 @@ files:
193
228
  - sig/lt/lcms/version.rbs
194
229
  - sig/polifill/google-api-client.rbs
195
230
  - sig/polifill/httparty.rbs
196
- - vendor/rbs/lt-google-api/lib/lt/google/api.rbs
197
- - vendor/rbs/lt-google-api/lib/lt/google/api/auth/cli.rbs
198
- - vendor/rbs/lt-google-api/lib/lt/google/api/auth/credentials.rbs
199
- - vendor/rbs/lt-google-api/lib/lt/google/api/auth/service.rbs
200
- - vendor/rbs/lt-google-api/lib/lt/google/api/drive.rbs
201
- - vendor/rbs/lt-google-api/lib/lt/google/api/version.rbs
202
- - vendor/rbs/lt-google-api/polifill/google-api-clients.rbs
203
- - vendor/rbs/lt-google-api/polifill/googleauth.rbs
204
- - vendor/rbs/lt-google-api/polifill/rails.rbs
231
+ - vendor/rbs/.keep
205
232
  homepage: https://github.com/learningtapestry/lt-lcms
206
233
  licenses:
207
234
  - Apache-2.0
@@ -216,14 +243,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
216
243
  requirements:
217
244
  - - ">="
218
245
  - !ruby/object:Gem::Version
219
- version: '2.7'
246
+ version: '3.2'
220
247
  required_rubygems_version: !ruby/object:Gem::Requirement
221
248
  requirements:
222
249
  - - ">="
223
250
  - !ruby/object:Gem::Version
224
251
  version: '0'
225
252
  requirements: []
226
- rubygems_version: 3.1.6
253
+ rubygems_version: 3.0.3.1
227
254
  signing_key:
228
255
  specification_version: 4
229
256
  summary: Contains set of classes to work with Google Docs based lesson objects
@@ -1,22 +0,0 @@
1
- module Lt
2
- module Google
3
- module Api
4
- module Auth
5
- class Cli
6
- self.@authorizer: untyped
7
-
8
- @credentials: untyped
9
-
10
- CONFIG_SECRET_FILE: untyped
11
- CONFIG_TOKEN_FILE: untyped
12
- SCOPE: ::Array["https://www.googleapis.com/auth/drive" | "https://www.googleapis.com/auth/documents"]
13
- USER_ID: "default"
14
-
15
- def self.authorizer: -> untyped
16
- def authorizer: -> untyped
17
- def credentials: -> untyped
18
- end
19
- end
20
- end
21
- end
22
- end
@@ -1,28 +0,0 @@
1
- module Lt
2
- module Google
3
- module Api
4
- module Auth
5
- module Credentials
6
- interface _ActionController_Redirecting
7
- def redirect_to: (String | Symbol | untyped options) -> untyped
8
- end
9
- include _ActionController_Redirecting
10
-
11
- @google_auth_options: untyped
12
- @google_credentials: untyped
13
- @service: untyped
14
-
15
- extend ActiveSupport::Concern
16
-
17
- attr_reader google_credentials: untyped
18
-
19
- def obtain_google_credentials: (?::Hash[untyped, untyped] options) -> untyped
20
-
21
- private
22
-
23
- def service: -> untyped
24
- end
25
- end
26
- end
27
- end
28
- end
@@ -1,36 +0,0 @@
1
- module Lt
2
- module Google
3
- module Api
4
- module Auth
5
- class Service
6
- self.@authorizer_for: untyped
7
-
8
- @context: untyped
9
- @options: untyped
10
- @credentials: untyped
11
- @user_id: untyped
12
- @user_token: untyped
13
-
14
- REDIS_PREFIX: "lt-google-api"
15
-
16
- def self.authorizer_for: (untyped callback_path) -> untyped
17
- def self.redis: -> untyped
18
-
19
- attr_reader context: untyped
20
-
21
- def initialize: (untyped context, ?::Hash[untyped, untyped] options) -> void
22
- def authorization_url: -> untyped
23
- def authorizer: -> untyped
24
- def credentials: -> untyped
25
- def user_id: -> untyped
26
-
27
- private
28
-
29
- def redis: -> untyped
30
- def remove_expired_token: -> (nil | untyped)
31
- def user_token: -> untyped
32
- end
33
- end
34
- end
35
- end
36
- end
@@ -1,30 +0,0 @@
1
- module Lt
2
- module Google
3
- module Api
4
- class Drive
5
- @service: untyped
6
-
7
- FOLDER_RE: ::Regexp
8
- MIME_FILE: "application/vnd.google-apps.document"
9
- MIME_FOLDER: "application/vnd.google-apps.folder"
10
-
11
- attr_reader service: untyped
12
-
13
- def self.build: (untyped credentials) -> untyped
14
- def self.file_url_for: (untyped file_id) -> ::String
15
- def self.folder_id_for: (untyped url) -> untyped
16
-
17
- def initialize: (untyped credentials) -> void
18
- def copy: (untyped file_ids, untyped folder_id) -> untyped
19
- def copy_files: (untyped folder_id, untyped target_id) -> untyped
20
- def create_folder: (untyped name, ?untyped? parent_id) -> untyped
21
- def list_file_ids_in: (untyped folder_id, ?mime_type: untyped, ?with_subfolders: bool) -> untyped
22
- def fetch_folders: (untyped name, untyped folder_id) -> untyped
23
-
24
- private
25
-
26
- def list: (untyped folder_id) -> untyped
27
- end
28
- end
29
- end
30
- end
@@ -1,7 +0,0 @@
1
- module Lt
2
- module Google
3
- module Api
4
- VERSION: "0.2.4"
5
- end
6
- end
7
- end
@@ -1,6 +0,0 @@
1
- module Lt
2
- module Google
3
- module Api
4
- end
5
- end
6
- end
@@ -1,15 +0,0 @@
1
- module Google
2
- module Apis
3
- # RateLimitError: untyped
4
-
5
- module DriveV3
6
- class DriveService
7
- def initialize: (*untyped?) -> untyped
8
- end
9
-
10
- class File
11
- def initialize: (*untyped?) -> untyped
12
- end
13
- end
14
- end
15
- end
@@ -1,31 +0,0 @@
1
- module Google
2
- module Auth
3
- class ClientId
4
- def self.from_file: (*untyped?) -> untyped
5
- def initialize: (*untyped?) -> untyped
6
- end
7
-
8
- class TokenStore
9
- end
10
-
11
- class UserAuthorizer
12
- def initialize: (*untyped?) -> untyped
13
- end
14
-
15
- class WebUserAuthorizer
16
- def initialize: (*untyped?) -> untyped
17
- end
18
-
19
- module Stores
20
- class FileTokenStore
21
- def initialize: (*untyped?) -> untyped
22
- end
23
-
24
- class RedisTokenStore < TokenStore
25
- DEFAULT_KEY_PREFIX: untyped
26
-
27
- def initialize: (*untyped?) -> untyped
28
- end
29
- end
30
- end
31
- end
@@ -1,5 +0,0 @@
1
- module Rails
2
- def self.application: -> untyped
3
- def self.logger: -> untyped
4
- def self.root: -> untyped
5
- end