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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 84c07108ce65653d8d1eb64efe0b6b3dcc6387cc5f9e450bed9c2cb67f228c32
4
- data.tar.gz: 90d198efaf3fd663794e8a79e62666219c4343238752b8b9a4369be8b461ba5b
3
+ metadata.gz: e6fa6eec6aaec43e52b7e25667f4cd8e15364c6615e2931bf6aa63f748b3498f
4
+ data.tar.gz: c5d0f60a81a653e5109595d60b47a9081b44610a08982c36c65c837ee04d1810
5
5
  SHA512:
6
- metadata.gz: f104f868d4ebc1507c8ca18fd05d0f14995da939f8fb3b07e59cba806181888c2efa54f8ed3f3eaa8b95958b34fb5f9945515552ccff3da54a66c3daf59af244
7
- data.tar.gz: 289c0edb917d19864e56b2064025d949185c81f150b63f12e9b5ad108fd0ac3ee84dbd6e0df68d91cdf8f61def79ab3c8e1ac65a64fb54969d43c2a10eb5c457
6
+ metadata.gz: 1fbc2e4759093153b8e789396b84c3ead44ad8f5db465f094a80ff6c77411e65eb57134c674e7aac83aa0414a890e80454ce3b2090aa0451ef98b6e106634403
7
+ data.tar.gz: b3ae6810500e62178bae6b281a62e683421ac9838c0868e0f8395bddfd8ace992e31eac77f15bf263b5655263b620bae5827689a7ef0a0945eed92f998e36b0f
data/.codeclimate.yml CHANGED
@@ -58,7 +58,7 @@ engines:
58
58
  # Style and quality checks for Ruby code.
59
59
  # Includes support for modern Rubies (2.2+).
60
60
  enabled: true
61
- channel: rubocop-0-59
61
+ channel: rubocop-0-93
62
62
  exclude_paths:
63
63
  - vendor/
64
64
  ratings:
@@ -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
@@ -10,5 +10,4 @@
10
10
  # Ignore IDE specific files
11
11
  .idea/
12
12
 
13
- Gemfile.lock
14
13
  .DS_Store
data/.rubocop.yml CHANGED
@@ -12,7 +12,11 @@ AllCops:
12
12
  - bin/*
13
13
  - db/schema.rb
14
14
  - node_modules/**/*
15
- TargetRubyVersion: 2.5
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/UncommunicativeMethodParamName:
48
+ Naming/MethodParameterName:
48
49
  MinNameLength: 2
49
50
 
50
51
  Style/AndOr:
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.5.2
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/lt-lcms/compare/v0.2.0...HEAD)
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/([^\/]+)/?}).first.try(:first) ||
16
- url.scan(%r{/open\?id=([^\/]+)/?}).first.try(:first)
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, fields: 'lastModifyingUser,modifiedTime,name,version'
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(&method(:handle_google_drawings))
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
- response = HTTParty.get CGI.unescapeHTML(url), headers: headers
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=\"#{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
@@ -12,7 +12,7 @@ module Lt
12
12
  end
13
13
 
14
14
  def pdf_content
15
- service.get_file(file_id, download_dest: StringIO.new).string
15
+ service.get_file(file_id, download_dest: StringIO.new, supports_all_drives: true).string
16
16
  end
17
17
  end
18
18
  end
@@ -19,7 +19,8 @@ module Lt
19
19
  file_metadata,
20
20
  fields: 'id',
21
21
  upload_source: StringIO.new(content),
22
- content_type: content_type
22
+ content_type: content_type,
23
+ supports_all_drives: true
23
24
  )
24
25
  file.id
25
26
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Lt
4
4
  module Lcms
5
- VERSION = '0.2.0'
5
+ VERSION = '0.4.2'
6
6
  end
7
7
  end
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 'rubyzip', '>= 1.3.0'
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 'bundler-audit'
41
- spec.add_development_dependency 'overcommit', '~> 0.49.1'
42
- spec.add_development_dependency 'rake', '~> 10.0'
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.0
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: 2020-01-13 00:00:00.000000000 Z
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.1'
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.1'
57
+ version: '0.2'
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: 0.2.1
55
61
  - !ruby/object:Gem::Dependency
56
- name: rubyzip
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.3.0
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.3.0
80
+ version: 1.10.8
69
81
  - !ruby/object:Gem::Dependency
70
- name: bundler
82
+ name: rubyzip
71
83
  requirement: !ruby/object:Gem::Requirement
72
84
  requirements:
73
85
  - - "~>"
74
86
  - !ruby/object:Gem::Version
75
- version: '1.16'
76
- type: :development
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: '1.16'
94
+ version: '2'
83
95
  - !ruby/object:Gem::Dependency
84
- name: bundler-audit
96
+ name: bundler
85
97
  requirement: !ruby/object:Gem::Requirement
86
98
  requirements:
87
- - - ">="
99
+ - - "~>"
88
100
  - !ruby/object:Gem::Version
89
- version: '0'
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: '0'
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.49.1
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.49.1
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: '10.0'
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: '10.0'
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.59.2
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.59.2
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: '0'
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: []