lt-lcms 0.2.0 → 0.4.2
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 +4 -4
- data/.codeclimate.yml +1 -1
- data/.github/workflows/rubocop-analysis.yml +41 -0
- data/.gitignore +0 -1
- data/.rubocop.yml +6 -5
- data/.ruby-version +1 -1
- data/CHANGELOG.md +29 -1
- data/Gemfile.lock +150 -0
- data/lib/lt/lcms/lesson/downloader/base.rb +6 -7
- data/lib/lt/lcms/lesson/downloader/gdoc.rb +33 -4
- data/lib/lt/lcms/lesson/downloader/pdf.rb +1 -1
- data/lib/lt/lcms/lesson/uploader/gdoc.rb +2 -1
- data/lib/lt/lcms/version.rb +1 -1
- data/lt-lcms.gemspec +10 -8
- metadata +48 -34
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e6fa6eec6aaec43e52b7e25667f4cd8e15364c6615e2931bf6aa63f748b3498f
|
4
|
+
data.tar.gz: c5d0f60a81a653e5109595d60b47a9081b44610a08982c36c65c837ee04d1810
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1fbc2e4759093153b8e789396b84c3ead44ad8f5db465f094a80ff6c77411e65eb57134c674e7aac83aa0414a890e80454ce3b2090aa0451ef98b6e106634403
|
7
|
+
data.tar.gz: b3ae6810500e62178bae6b281a62e683421ac9838c0868e0f8395bddfd8ace992e31eac77f15bf263b5655263b620bae5827689a7ef0a0945eed92f998e36b0f
|
data/.codeclimate.yml
CHANGED
@@ -0,0 +1,41 @@
|
|
1
|
+
name: "Rubocop"
|
2
|
+
|
3
|
+
on: pull_request
|
4
|
+
|
5
|
+
jobs:
|
6
|
+
rubocop:
|
7
|
+
runs-on: ubuntu-latest
|
8
|
+
strategy:
|
9
|
+
fail-fast: false
|
10
|
+
|
11
|
+
steps:
|
12
|
+
- name: Checkout repository
|
13
|
+
uses: actions/checkout@v2
|
14
|
+
|
15
|
+
# If running on a self-hosted runner, check it meets the requirements
|
16
|
+
# listed at https://github.com/ruby/setup-ruby#using-self-hosted-runners
|
17
|
+
- name: Set up Ruby
|
18
|
+
uses: ruby/setup-ruby@v1
|
19
|
+
with:
|
20
|
+
ruby-version: 2.6
|
21
|
+
|
22
|
+
- name: Intall legacy bundler version
|
23
|
+
run: gem install bundler -v 1.17.3
|
24
|
+
|
25
|
+
# This step is not necessary if you add the gem to your Gemfile
|
26
|
+
- name: Install Code Scanning integration
|
27
|
+
run: bundle _1.17.3_ add code-scanning-rubocop --version 0.4.0 --skip-install
|
28
|
+
|
29
|
+
- name: Install dependencies
|
30
|
+
run: bundle _1.17.3_ install
|
31
|
+
|
32
|
+
- name: Rubocop run
|
33
|
+
run: |
|
34
|
+
bash -c "
|
35
|
+
bundle exec rubocop --require code_scanning --format CodeScanning::SarifFormatter -o rubocop.sarif
|
36
|
+
[[ $? -ne 2 ]]
|
37
|
+
"
|
38
|
+
- name: Upload Sarif output
|
39
|
+
uses: github/codeql-action/upload-sarif@v1
|
40
|
+
with:
|
41
|
+
sarif_file: rubocop.sarif
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
@@ -12,7 +12,11 @@ AllCops:
|
|
12
12
|
- bin/*
|
13
13
|
- db/schema.rb
|
14
14
|
- node_modules/**/*
|
15
|
-
|
15
|
+
NewCops: enable
|
16
|
+
TargetRubyVersion: 2.6
|
17
|
+
|
18
|
+
Layout/LineLength:
|
19
|
+
Max: 120
|
16
20
|
|
17
21
|
Layout/MultilineMethodCallIndentation:
|
18
22
|
EnforcedStyle: indented_relative_to_receiver
|
@@ -35,16 +39,13 @@ Metrics/ClassLength:
|
|
35
39
|
Metrics/CyclomaticComplexity:
|
36
40
|
Max: 9
|
37
41
|
|
38
|
-
Metrics/LineLength:
|
39
|
-
Max: 120
|
40
|
-
|
41
42
|
Metrics/MethodLength:
|
42
43
|
Max: 50
|
43
44
|
|
44
45
|
Metrics/PerceivedComplexity:
|
45
46
|
Max: 9
|
46
47
|
|
47
|
-
Naming/
|
48
|
+
Naming/MethodParameterName:
|
48
49
|
MinNameLength: 2
|
49
50
|
|
50
51
|
Style/AndOr:
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.5
|
1
|
+
2.6.5
|
data/CHANGELOG.md
CHANGED
@@ -4,7 +4,35 @@ 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/
|
7
|
+
## [Unreleased](https://github.com/learningtapestry/lcms-engine/compare/v0.4.2...HEAD)
|
8
|
+
|
9
|
+
## [0.4.2](https://github.com/learningtapestry/lt-lcms/compare/v0.4.1...v0.4.2) - 2021-06-21
|
10
|
+
|
11
|
+
### Fixed
|
12
|
+
|
13
|
+
- Remove intermediate `encode('ASCII-8BIT')` call for downloaded file content
|
14
|
+
|
15
|
+
## [0.4.1](https://github.com/learningtapestry/lt-lcms/compare/v0.4.0...v0.4.1) - 2020-10-19
|
16
|
+
|
17
|
+
### Added
|
18
|
+
|
19
|
+
- Bump lt-google-api to 0.2.1 ([#13](https://github.com/learningtapestry/lt-lcms/pull/13))
|
20
|
+
|
21
|
+
## [0.4.0](https://github.com/learningtapestry/lt-lcms/compare/v0.3.1...v0.4.0)
|
22
|
+
|
23
|
+
### Added
|
24
|
+
|
25
|
+
- Add support for Google Shared Drives ([#12](https://github.com/learningtapestry/lt-lcms/pull/12))
|
26
|
+
|
27
|
+
## [0.3.0](https://github.com/learningtapestry/lt-lcms/compare/v0.3.0...v0.3.1)
|
28
|
+
|
29
|
+
### Fixed
|
30
|
+
- Fix the URLs inside links in the downloaded GDoc ([#9](https://github.com/learningtapestry/lt-lcms/pull/9))
|
31
|
+
|
32
|
+
## [0.3.0](https://github.com/learningtapestry/lt-lcms/compare/v0.2.0...v0.3.0)
|
33
|
+
|
34
|
+
### Added
|
35
|
+
- Add DPI param support for Google Drawings [@shlag3n](https://github.com/shlag3n)
|
8
36
|
|
9
37
|
## [0.2.0](https://github.com/learningtapestry/lt-lcms/compare/v0.1.1...v0.2.0) - 2020-01-13
|
10
38
|
|
data/Gemfile.lock
ADDED
@@ -0,0 +1,150 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
lt-lcms (0.4.2)
|
5
|
+
google-api-client (~> 0.38)
|
6
|
+
httparty (~> 0.18)
|
7
|
+
lt-google-api (~> 0.2, >= 0.2.1)
|
8
|
+
nokogiri (~> 1.10, >= 1.10.8)
|
9
|
+
rubyzip (~> 2)
|
10
|
+
|
11
|
+
GEM
|
12
|
+
remote: https://rubygems.org/
|
13
|
+
specs:
|
14
|
+
activesupport (6.1.3.2)
|
15
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
16
|
+
i18n (>= 1.6, < 2)
|
17
|
+
minitest (>= 5.1)
|
18
|
+
tzinfo (~> 2.0)
|
19
|
+
zeitwerk (~> 2.3)
|
20
|
+
addressable (2.7.0)
|
21
|
+
public_suffix (>= 2.0.2, < 5.0)
|
22
|
+
ast (2.4.2)
|
23
|
+
childprocess (4.1.0)
|
24
|
+
concurrent-ruby (1.1.9)
|
25
|
+
declarative (0.0.20)
|
26
|
+
faraday (1.4.2)
|
27
|
+
faraday-em_http (~> 1.0)
|
28
|
+
faraday-em_synchrony (~> 1.0)
|
29
|
+
faraday-excon (~> 1.1)
|
30
|
+
faraday-net_http (~> 1.0)
|
31
|
+
faraday-net_http_persistent (~> 1.1)
|
32
|
+
multipart-post (>= 1.2, < 3)
|
33
|
+
ruby2_keywords (>= 0.0.4)
|
34
|
+
faraday-em_http (1.0.0)
|
35
|
+
faraday-em_synchrony (1.0.0)
|
36
|
+
faraday-excon (1.1.0)
|
37
|
+
faraday-net_http (1.0.1)
|
38
|
+
faraday-net_http_persistent (1.1.0)
|
39
|
+
gems (1.2.0)
|
40
|
+
google-api-client (0.53.0)
|
41
|
+
google-apis-core (~> 0.1)
|
42
|
+
google-apis-generator (~> 0.1)
|
43
|
+
google-apis-core (0.3.0)
|
44
|
+
addressable (~> 2.5, >= 2.5.1)
|
45
|
+
googleauth (~> 0.14)
|
46
|
+
httpclient (>= 2.8.1, < 3.0)
|
47
|
+
mini_mime (~> 1.0)
|
48
|
+
representable (~> 3.0)
|
49
|
+
retriable (>= 2.0, < 4.0)
|
50
|
+
rexml
|
51
|
+
signet (~> 0.14)
|
52
|
+
webrick
|
53
|
+
google-apis-discovery_v1 (0.4.0)
|
54
|
+
google-apis-core (~> 0.1)
|
55
|
+
google-apis-generator (0.3.0)
|
56
|
+
activesupport (>= 5.0)
|
57
|
+
gems (~> 1.2)
|
58
|
+
google-apis-core (~> 0.1)
|
59
|
+
google-apis-discovery_v1 (~> 0.0)
|
60
|
+
thor (>= 0.20, < 2.a)
|
61
|
+
googleauth (0.16.2)
|
62
|
+
faraday (>= 0.17.3, < 2.0)
|
63
|
+
jwt (>= 1.4, < 3.0)
|
64
|
+
memoist (~> 0.16)
|
65
|
+
multi_json (~> 1.11)
|
66
|
+
os (>= 0.9, < 2.0)
|
67
|
+
signet (~> 0.14)
|
68
|
+
httparty (0.18.1)
|
69
|
+
mime-types (~> 3.0)
|
70
|
+
multi_xml (>= 0.5.2)
|
71
|
+
httpclient (2.8.3)
|
72
|
+
i18n (1.8.10)
|
73
|
+
concurrent-ruby (~> 1.0)
|
74
|
+
iniparse (1.5.0)
|
75
|
+
jwt (2.2.3)
|
76
|
+
lt-google-api (0.2.2)
|
77
|
+
google-api-client (~> 0.46)
|
78
|
+
googleauth (~> 0.14)
|
79
|
+
memoist (0.16.2)
|
80
|
+
mime-types (3.3.1)
|
81
|
+
mime-types-data (~> 3.2015)
|
82
|
+
mime-types-data (3.2021.0225)
|
83
|
+
mini_mime (1.1.0)
|
84
|
+
mini_portile2 (2.5.3)
|
85
|
+
minitest (5.14.4)
|
86
|
+
multi_json (1.15.0)
|
87
|
+
multi_xml (0.6.0)
|
88
|
+
multipart-post (2.1.1)
|
89
|
+
nokogiri (1.11.7)
|
90
|
+
mini_portile2 (~> 2.5.0)
|
91
|
+
racc (~> 1.4)
|
92
|
+
os (1.1.1)
|
93
|
+
overcommit (0.58.0)
|
94
|
+
childprocess (>= 0.6.3, < 5)
|
95
|
+
iniparse (~> 1.4)
|
96
|
+
rexml (~> 3.2)
|
97
|
+
parallel (1.20.1)
|
98
|
+
parser (3.0.1.1)
|
99
|
+
ast (~> 2.4.1)
|
100
|
+
public_suffix (4.0.6)
|
101
|
+
racc (1.5.2)
|
102
|
+
rainbow (3.0.0)
|
103
|
+
rake (13.0.3)
|
104
|
+
regexp_parser (2.1.1)
|
105
|
+
representable (3.1.1)
|
106
|
+
declarative (< 0.1.0)
|
107
|
+
trailblazer-option (>= 0.1.1, < 0.2.0)
|
108
|
+
uber (< 0.2.0)
|
109
|
+
retriable (3.1.2)
|
110
|
+
rexml (3.2.5)
|
111
|
+
rubocop (0.93.1)
|
112
|
+
parallel (~> 1.10)
|
113
|
+
parser (>= 2.7.1.5)
|
114
|
+
rainbow (>= 2.2.2, < 4.0)
|
115
|
+
regexp_parser (>= 1.8)
|
116
|
+
rexml
|
117
|
+
rubocop-ast (>= 0.6.0)
|
118
|
+
ruby-progressbar (~> 1.7)
|
119
|
+
unicode-display_width (>= 1.4.0, < 2.0)
|
120
|
+
rubocop-ast (1.7.0)
|
121
|
+
parser (>= 3.0.1.1)
|
122
|
+
ruby-progressbar (1.11.0)
|
123
|
+
ruby2_keywords (0.0.4)
|
124
|
+
rubyzip (2.3.0)
|
125
|
+
signet (0.15.0)
|
126
|
+
addressable (~> 2.3)
|
127
|
+
faraday (>= 0.17.3, < 2.0)
|
128
|
+
jwt (>= 1.5, < 3.0)
|
129
|
+
multi_json (~> 1.10)
|
130
|
+
thor (1.1.0)
|
131
|
+
trailblazer-option (0.1.1)
|
132
|
+
tzinfo (2.0.4)
|
133
|
+
concurrent-ruby (~> 1.0)
|
134
|
+
uber (0.1.0)
|
135
|
+
unicode-display_width (1.7.0)
|
136
|
+
webrick (1.7.0)
|
137
|
+
zeitwerk (2.4.2)
|
138
|
+
|
139
|
+
PLATFORMS
|
140
|
+
ruby
|
141
|
+
|
142
|
+
DEPENDENCIES
|
143
|
+
bundler (~> 1.16)
|
144
|
+
lt-lcms!
|
145
|
+
overcommit (~> 0.57)
|
146
|
+
rake (~> 13.0)
|
147
|
+
rubocop (~> 0.93.1)
|
148
|
+
|
149
|
+
BUNDLED WITH
|
150
|
+
1.17.3
|
@@ -12,8 +12,8 @@ module Lt
|
|
12
12
|
MIME_TYPE_EXPORT = 'text/plain'
|
13
13
|
|
14
14
|
def self.file_id_for(url)
|
15
|
-
url.scan(%r{/d/([
|
16
|
-
url.scan(%r{/open\?id=([
|
15
|
+
url.scan(%r{/d/([^/]+)/?}).first.try(:first) ||
|
16
|
+
url.scan(%r{/open\?id=([^/]+)/?}).first.try(:first)
|
17
17
|
end
|
18
18
|
|
19
19
|
attr_reader :content
|
@@ -26,10 +26,7 @@ module Lt
|
|
26
26
|
|
27
27
|
def download(mime_type: self.class::MIME_TYPE_EXPORT)
|
28
28
|
retry_attempt ||= 0
|
29
|
-
raw_content = service
|
30
|
-
.export_file(file_id, mime_type)
|
31
|
-
.encode('ASCII-8BIT')
|
32
|
-
.force_encoding('UTF-8')
|
29
|
+
raw_content = service.export_file(file_id, mime_type)&.force_encoding('UTF-8')
|
33
30
|
@content =
|
34
31
|
if block_given?
|
35
32
|
yield raw_content
|
@@ -48,7 +45,9 @@ module Lt
|
|
48
45
|
|
49
46
|
def file
|
50
47
|
@file ||= service.get_file(
|
51
|
-
file_id,
|
48
|
+
file_id,
|
49
|
+
fields: 'lastModifyingUser,modifiedTime,name,version',
|
50
|
+
supports_all_drives: true
|
52
51
|
)
|
53
52
|
end
|
54
53
|
|
@@ -7,7 +7,8 @@ module Lt
|
|
7
7
|
module Lesson
|
8
8
|
module Downloader
|
9
9
|
class Gdoc < Base
|
10
|
-
GOOGLE_DRAWING_RE = %r{https?://docs\.google\.com/?[^"]*/drawings/[^"]*}i
|
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
12
|
MIME_TYPE = 'application/vnd.google-apps.document'
|
12
13
|
MIME_TYPE_EXPORT = 'text/html'
|
13
14
|
|
@@ -16,13 +17,28 @@ module Lt
|
|
16
17
|
end
|
17
18
|
|
18
19
|
def download
|
19
|
-
super
|
20
|
+
super do |html|
|
21
|
+
fix_links handle_google_drawings(html)
|
22
|
+
end
|
20
23
|
end
|
21
24
|
|
22
25
|
private
|
23
26
|
|
24
27
|
attr_reader :options
|
25
28
|
|
29
|
+
BASE_DPI = 72.0
|
30
|
+
private_constant :BASE_DPI
|
31
|
+
|
32
|
+
def fix_links(html)
|
33
|
+
doc = Nokogiri::HTML(html)
|
34
|
+
doc.css('a').each do |link|
|
35
|
+
next if link['href'].blank?
|
36
|
+
|
37
|
+
link['href'] = CGI.unescape_html(link['href']).gsub GOOGLE_URL_RE, '\1'
|
38
|
+
end
|
39
|
+
doc.to_s
|
40
|
+
end
|
41
|
+
|
26
42
|
def handle_google_drawings(html)
|
27
43
|
return html unless (match = html.scan(GOOGLE_DRAWING_RE))
|
28
44
|
|
@@ -30,16 +46,29 @@ module Lt
|
|
30
46
|
headers = { 'Authorization' => "Bearer #{bearer}" }
|
31
47
|
|
32
48
|
match.to_a.uniq.each do |url|
|
33
|
-
|
49
|
+
upd_url = updated_drawing_url_for(url)
|
50
|
+
response = HTTParty.get CGI.unescapeHTML(upd_url), headers: headers
|
34
51
|
|
35
52
|
next unless response.code == 200
|
36
53
|
|
37
|
-
new_src = "data:#{response.content_type};base64, #{Base64.encode64(response)}\" drawing_url=\"#{
|
54
|
+
new_src = "data:#{response.content_type};base64, #{Base64.encode64(response)}\" drawing_url=\"#{upd_url}"
|
38
55
|
html = html.gsub(url, new_src)
|
39
56
|
end
|
40
57
|
|
41
58
|
html
|
42
59
|
end
|
60
|
+
|
61
|
+
# Update drawing url w/h parameters to download in better quality than default 72 dpi
|
62
|
+
def updated_drawing_url_for(url)
|
63
|
+
return url unless options[:dpi].present?
|
64
|
+
|
65
|
+
dpi_ratio = options[:dpi].to_f / BASE_DPI
|
66
|
+
uri = URI.parse(url)
|
67
|
+
query = CGI.parse(uri.query).transform_values(&:first)
|
68
|
+
query['w'] = (query['w'].to_i * dpi_ratio).round.to_s
|
69
|
+
query['h'] = (query['h'].to_i * dpi_ratio).round.to_s
|
70
|
+
URI::HTTPS.build(host: uri.host, path: uri.path, query: query.to_query).to_s
|
71
|
+
end
|
43
72
|
end
|
44
73
|
end
|
45
74
|
end
|
data/lib/lt/lcms/version.rb
CHANGED
data/lt-lcms.gemspec
CHANGED
@@ -15,6 +15,8 @@ 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.6'
|
19
|
+
|
18
20
|
# Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
|
19
21
|
# to allow pushing to a single host or delete this section to allow pushing to any host.
|
20
22
|
if spec.respond_to?(:metadata)
|
@@ -31,14 +33,14 @@ Gem::Specification.new do |spec| # rubocop:disable Metrics/BlockLength
|
|
31
33
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
32
34
|
spec.require_paths = ['lib']
|
33
35
|
|
34
|
-
spec.add_dependency 'google-api-client'
|
35
|
-
spec.add_dependency 'httparty'
|
36
|
-
spec.add_dependency 'lt-google-api', '~> 0.1'
|
37
|
-
spec.add_dependency '
|
36
|
+
spec.add_dependency 'google-api-client', '~> 0.38'
|
37
|
+
spec.add_dependency 'httparty', '~> 0.18'
|
38
|
+
spec.add_dependency 'lt-google-api', '~> 0.2', '>= 0.2.1'
|
39
|
+
spec.add_dependency 'nokogiri', '~> 1.10', '>= 1.10.8'
|
40
|
+
spec.add_dependency 'rubyzip', '~> 2'
|
38
41
|
|
39
42
|
spec.add_development_dependency 'bundler', '~> 1.16'
|
40
|
-
spec.add_development_dependency '
|
41
|
-
spec.add_development_dependency '
|
42
|
-
spec.add_development_dependency '
|
43
|
-
spec.add_development_dependency 'rubocop', '~> 0.59.2'
|
43
|
+
spec.add_development_dependency 'overcommit', '~> 0.57'
|
44
|
+
spec.add_development_dependency 'rake', '~> 13.0'
|
45
|
+
spec.add_development_dependency 'rubocop', '~> 0.93.1'
|
44
46
|
end
|
metadata
CHANGED
@@ -1,141 +1,153 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lt-lcms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2
|
4
|
+
version: 0.4.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alexander Kuznetsov
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-06-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: google-api-client
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0'
|
19
|
+
version: '0.38'
|
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'
|
26
|
+
version: '0.38'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: httparty
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
33
|
+
version: '0.18'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '0'
|
40
|
+
version: '0.18'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: lt-google-api
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '0.
|
47
|
+
version: '0.2'
|
48
|
+
- - ">="
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: 0.2.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.
|
57
|
+
version: '0.2'
|
58
|
+
- - ">="
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: 0.2.1
|
55
61
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
62
|
+
name: nokogiri
|
57
63
|
requirement: !ruby/object:Gem::Requirement
|
58
64
|
requirements:
|
65
|
+
- - "~>"
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: '1.10'
|
59
68
|
- - ">="
|
60
69
|
- !ruby/object:Gem::Version
|
61
|
-
version: 1.
|
70
|
+
version: 1.10.8
|
62
71
|
type: :runtime
|
63
72
|
prerelease: false
|
64
73
|
version_requirements: !ruby/object:Gem::Requirement
|
65
74
|
requirements:
|
75
|
+
- - "~>"
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '1.10'
|
66
78
|
- - ">="
|
67
79
|
- !ruby/object:Gem::Version
|
68
|
-
version: 1.
|
80
|
+
version: 1.10.8
|
69
81
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
82
|
+
name: rubyzip
|
71
83
|
requirement: !ruby/object:Gem::Requirement
|
72
84
|
requirements:
|
73
85
|
- - "~>"
|
74
86
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
76
|
-
type: :
|
87
|
+
version: '2'
|
88
|
+
type: :runtime
|
77
89
|
prerelease: false
|
78
90
|
version_requirements: !ruby/object:Gem::Requirement
|
79
91
|
requirements:
|
80
92
|
- - "~>"
|
81
93
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
94
|
+
version: '2'
|
83
95
|
- !ruby/object:Gem::Dependency
|
84
|
-
name: bundler
|
96
|
+
name: bundler
|
85
97
|
requirement: !ruby/object:Gem::Requirement
|
86
98
|
requirements:
|
87
|
-
- - "
|
99
|
+
- - "~>"
|
88
100
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
101
|
+
version: '1.16'
|
90
102
|
type: :development
|
91
103
|
prerelease: false
|
92
104
|
version_requirements: !ruby/object:Gem::Requirement
|
93
105
|
requirements:
|
94
|
-
- - "
|
106
|
+
- - "~>"
|
95
107
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
108
|
+
version: '1.16'
|
97
109
|
- !ruby/object:Gem::Dependency
|
98
110
|
name: overcommit
|
99
111
|
requirement: !ruby/object:Gem::Requirement
|
100
112
|
requirements:
|
101
113
|
- - "~>"
|
102
114
|
- !ruby/object:Gem::Version
|
103
|
-
version: 0.
|
115
|
+
version: '0.57'
|
104
116
|
type: :development
|
105
117
|
prerelease: false
|
106
118
|
version_requirements: !ruby/object:Gem::Requirement
|
107
119
|
requirements:
|
108
120
|
- - "~>"
|
109
121
|
- !ruby/object:Gem::Version
|
110
|
-
version: 0.
|
122
|
+
version: '0.57'
|
111
123
|
- !ruby/object:Gem::Dependency
|
112
124
|
name: rake
|
113
125
|
requirement: !ruby/object:Gem::Requirement
|
114
126
|
requirements:
|
115
127
|
- - "~>"
|
116
128
|
- !ruby/object:Gem::Version
|
117
|
-
version: '
|
129
|
+
version: '13.0'
|
118
130
|
type: :development
|
119
131
|
prerelease: false
|
120
132
|
version_requirements: !ruby/object:Gem::Requirement
|
121
133
|
requirements:
|
122
134
|
- - "~>"
|
123
135
|
- !ruby/object:Gem::Version
|
124
|
-
version: '
|
136
|
+
version: '13.0'
|
125
137
|
- !ruby/object:Gem::Dependency
|
126
138
|
name: rubocop
|
127
139
|
requirement: !ruby/object:Gem::Requirement
|
128
140
|
requirements:
|
129
141
|
- - "~>"
|
130
142
|
- !ruby/object:Gem::Version
|
131
|
-
version: 0.
|
143
|
+
version: 0.93.1
|
132
144
|
type: :development
|
133
145
|
prerelease: false
|
134
146
|
version_requirements: !ruby/object:Gem::Requirement
|
135
147
|
requirements:
|
136
148
|
- - "~>"
|
137
149
|
- !ruby/object:Gem::Version
|
138
|
-
version: 0.
|
150
|
+
version: 0.93.1
|
139
151
|
description: ''
|
140
152
|
email:
|
141
153
|
- alexander@learningtapeestry.com
|
@@ -145,6 +157,7 @@ extensions: []
|
|
145
157
|
extra_rdoc_files: []
|
146
158
|
files:
|
147
159
|
- ".codeclimate.yml"
|
160
|
+
- ".github/workflows/rubocop-analysis.yml"
|
148
161
|
- ".gitignore"
|
149
162
|
- ".overcommit.yml"
|
150
163
|
- ".rubocop.yml"
|
@@ -152,6 +165,7 @@ files:
|
|
152
165
|
- ".ruby-version"
|
153
166
|
- CHANGELOG.md
|
154
167
|
- Gemfile
|
168
|
+
- Gemfile.lock
|
155
169
|
- LICENSE
|
156
170
|
- README.md
|
157
171
|
- Rakefile
|
@@ -173,7 +187,7 @@ licenses:
|
|
173
187
|
- Apache-2.0
|
174
188
|
metadata:
|
175
189
|
allowed_push_host: https://rubygems.org
|
176
|
-
post_install_message:
|
190
|
+
post_install_message:
|
177
191
|
rdoc_options: []
|
178
192
|
require_paths:
|
179
193
|
- lib
|
@@ -181,7 +195,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
181
195
|
requirements:
|
182
196
|
- - ">="
|
183
197
|
- !ruby/object:Gem::Version
|
184
|
-
version: '
|
198
|
+
version: '2.6'
|
185
199
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
186
200
|
requirements:
|
187
201
|
- - ">="
|
@@ -189,7 +203,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
189
203
|
version: '0'
|
190
204
|
requirements: []
|
191
205
|
rubygems_version: 3.0.6
|
192
|
-
signing_key:
|
206
|
+
signing_key:
|
193
207
|
specification_version: 4
|
194
208
|
summary: Contains set of classes to work with Google Docs based lesson objects
|
195
209
|
test_files: []
|