lcms-engine 0.1.0 → 0.1.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.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -1
  3. data/CHANGELOG.md +17 -1
  4. data/Dockerfile +28 -0
  5. data/Gemfile +2 -1
  6. data/README.md +23 -17
  7. data/app/assets/config/lcms_engine_manifest.js +1 -8
  8. data/app/assets/javascripts/lcms/engine/admin/application.js +6 -3
  9. data/app/assets/javascripts/lcms/engine/application.js +0 -2
  10. data/app/assets/javascripts/lcms/engine/application_lti.js +0 -2
  11. data/app/assets/stylesheets/lcms/engine/components/_instruction-cards.scss +0 -3
  12. data/app/controllers/lcms/engine/admin/admin_controller.rb +4 -4
  13. data/app/helpers/lcms/engine/view_helper.rb +0 -4
  14. data/app/javascript/components/admin/association-picker/AssociationPickerItem.jsx +2 -0
  15. data/app/javascript/components/admin/association-picker/AssociationPickerResults.jsx +2 -0
  16. data/app/javascript/components/admin/association-picker/AssociationPickerWindow.jsx +1 -1
  17. data/app/javascript/components/admin/picker/pickerWindowWrapper.jsx +1 -1
  18. data/app/javascript/components/admin/resource-picker/ResourcePicker.jsx +2 -2
  19. data/app/javascript/components/paginate/PaginationBoxView.jsx +1 -1
  20. data/app/javascript/components/paginate/PaginationListView.jsx +1 -1
  21. data/app/jobs/concerns/lcms/engine/nested_resque_job.rb +1 -1
  22. data/app/jobs/lcms/engine/material_generate_job.rb +1 -1
  23. data/app/models/concerns/lcms/engine/partable.rb +27 -0
  24. data/app/models/lcms/engine/document.rb +3 -7
  25. data/app/models/lcms/engine/document_part.rb +1 -1
  26. data/app/models/lcms/engine/material.rb +2 -6
  27. data/app/presenters/lcms/engine/content_presenter.rb +9 -5
  28. data/app/presenters/lcms/engine/document_presenter.rb +7 -11
  29. data/app/presenters/lcms/engine/material_presenter.rb +1 -11
  30. data/app/services/lcms/engine/document_build_service.rb +1 -17
  31. data/app/services/lcms/engine/material_build_service.rb +3 -12
  32. data/app/views/layouts/lcms/engine/application.html.erb +0 -4
  33. data/app/views/layouts/lcms/engine/lti.html.erb +0 -4
  34. data/db/migrate/20200217160930_change_document_parts_to_polymorphic.rb +36 -0
  35. data/db/migrate/20200218144849_drop_material_parts_table.rb +7 -0
  36. data/db/schema.rb +9 -22
  37. data/docker-compose.yml +29 -0
  38. data/lcms-engine.gemspec +25 -26
  39. data/lib/doc_template/tags/base_tag.rb +1 -1
  40. data/lib/document_exporter/base.rb +1 -4
  41. data/lib/lcms/engine/engine.rb +5 -4
  42. data/lib/lcms/engine/version.rb +1 -1
  43. data/lib/lt/lcms/metadata/context.rb +1 -1
  44. data/spec/controllers/admin/admin_controller_spec.rb +31 -0
  45. data/spec/dummy/.env.docker +5 -0
  46. data/spec/dummy/config/database.yml +1 -1
  47. data/spec/dummy/config/lcms-admin.yml +3 -3
  48. data/spec/dummy/config/routes.rb +2 -0
  49. data/spec/dummy/db/schema.rb +10 -23
  50. data/spec/factories/document_parts.rb +1 -1
  51. data/spec/lib/doc_template/tags/base_tag_spec.rb +36 -0
  52. data/yarn.lock +3 -3
  53. metadata +131 -121
  54. data/app/assets/javascripts/lcms/engine/generated/translations.js +0 -40
  55. data/app/assets/javascripts/lcms/engine/pdf_js_preview.js +0 -52
  56. data/vendor/assets/javascripts/pdf.js +0 -10902
  57. data/vendor/assets/javascripts/pdf.worker.js +0 -43104
  58. data/vendor/assets/javascripts/pdfobject.js +0 -254
@@ -9,7 +9,6 @@ require 'carrierwave/orm/activerecord'
9
9
  require 'closure_tree'
10
10
  require 'devise'
11
11
  require 'heap'
12
- require 'i18n-js'
13
12
  require 'jquery-rails'
14
13
  require 'pdfjs_viewer-rails'
15
14
  require 'ransack'
@@ -55,9 +54,6 @@ module Lcms
55
54
 
56
55
  config.i18n.load_path += Dir[config.root.join('config', 'locales', '**', '*.yml')]
57
56
 
58
- # Used by i18n-js gem
59
- config.middleware.use I18n::JS::Middleware
60
-
61
57
  config.middleware.insert_after ActionDispatch::Static, Rack::LiveReload if ENV['ENABLE_LIVERELOAD']
62
58
 
63
59
  config.assets.paths << "#{config.root}/public/javascripts"
@@ -76,9 +72,14 @@ module Lcms
76
72
  end
77
73
 
78
74
  config.to_prepare do
75
+ # Check if the DB exists
76
+ next unless ActiveRecord::Base.connection
77
+
79
78
  Dir
80
79
  .glob(Rails.root + 'app/decorators/**/*_decorator*.rb')
81
80
  .each(&method(:require_dependency))
81
+ rescue ActiveRecord::NoDatabaseError
82
+ puts 'ActiveRecord::NoDatabaseError thrown!'
82
83
  end
83
84
 
84
85
  config.generators do |g|
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Lcms
4
4
  module Engine
5
- VERSION = '0.1.0'
5
+ VERSION = '0.1.2'
6
6
  RAILS_5_VERSION = 5.2
7
7
  end
8
8
  end
@@ -167,7 +167,7 @@ module Lt
167
167
  def grade
168
168
  @grade ||= begin
169
169
  value = context[:grade].try(:downcase)
170
- value = "grade #{value}" if number?(value)
170
+ value = "grade #{value.to_i}" if number?(value)
171
171
  value # if Grades::GRADES.include?(value)
172
172
  end
173
173
  end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rails_helper'
4
+
5
+ describe Lcms::Engine::Admin::AdminController do
6
+ describe '.host_engine_path' do
7
+ let(:args) { { query: 'test', filter: '1' } }
8
+
9
+ subject { described_class.host_engine_path(:root_path, args) }
10
+
11
+ context 'with host redirect' do
12
+ it 'builds correct path' do
13
+ expect(subject).to eq "/admin?#{args.to_param}"
14
+ end
15
+ end
16
+
17
+ context 'with engine redirect' do
18
+ let(:settings) do
19
+ settings = described_class.settings
20
+ settings[:redirect].delete(:host)
21
+ settings
22
+ end
23
+
24
+ before { allow(described_class).to receive(:settings).and_return(settings) }
25
+
26
+ it 'builds correct path' do
27
+ expect(subject).to eq "/lcms-engine/admin?#{args.to_param}"
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,5 @@
1
+ GIT_AUTHOR_EMAIL=joe@doe.com
2
+ GIT_AUTHOR_NAME=Joe Doe
3
+ POSTGRESQL_ADDRESS=db
4
+ POSTGRESQL_USERNAME=postgres
5
+ POSTGRESQL_PASSWORD=
@@ -2,7 +2,7 @@ default: &default
2
2
  adapter: postgresql
3
3
  encoding: unicode
4
4
  pool: 5
5
- host: localhost
5
+ host: <%= ENV.fetch('POSTGRESQL_ADDRESS', 'localhost') %>
6
6
  username: <%= ENV['POSTGRESQL_USERNAME'] %>
7
7
  password: <%= ENV['POSTGRESQL_PASSWORD'] %>
8
8
 
@@ -10,12 +10,12 @@ engine: 'Lcms::Engine::Engine'
10
10
  # Redirects
11
11
  redirect:
12
12
  host:
13
- # TODO: Check the handle of chained path here
14
13
  root_path: 'admin_path'
14
+ document_path: 'document_path'
15
+ material_path: 'material_path'
15
16
  engine:
16
- # TODO: Check the handle of chained path here
17
+ root_path: 'admin_path'
17
18
  document_path: 'document_path'
18
- # TODO: Check the handle of chained path here
19
19
  material_path: 'material_path'
20
20
 
21
21
  # TODO: Check the default values handling
@@ -3,4 +3,6 @@
3
3
  Rails.application.routes.draw do
4
4
  mount Lcms::Engine::Engine => '/lcms-engine'
5
5
  root to: redirect('/lcms-engine/')
6
+
7
+ get '/admin', to: 'welcome#index', as: :admin
6
8
  end
@@ -11,7 +11,7 @@
11
11
  #
12
12
  # It's strongly recommended that you check this file into your version control system.
13
13
 
14
- ActiveRecord::Schema.define(version: 0) do
14
+ ActiveRecord::Schema.define(version: 20200218144849) do
15
15
 
16
16
  # These are extensions that must be enabled in order to support this database
17
17
  enable_extension "plpgsql"
@@ -62,24 +62,25 @@ ActiveRecord::Schema.define(version: 0) do
62
62
  add_index "document_bundles", ["resource_id"], name: "index_document_bundles_on_resource_id", using: :btree
63
63
 
64
64
  create_table "document_parts", force: :cascade do |t|
65
- t.integer "document_id"
66
65
  t.text "content"
67
66
  t.string "part_type"
68
67
  t.boolean "active"
69
- t.datetime "created_at", null: false
70
- t.datetime "updated_at", null: false
68
+ t.datetime "created_at", null: false
69
+ t.datetime "updated_at", null: false
71
70
  t.string "placeholder"
72
- t.text "materials", default: [], null: false, array: true
73
- t.integer "context_type", default: 0
71
+ t.text "materials", default: [], null: false, array: true
72
+ t.integer "context_type", default: 0
74
73
  t.string "anchor"
75
- t.boolean "optional", default: false, null: false
76
- t.jsonb "data", default: {}, null: false
74
+ t.boolean "optional", default: false, null: false
75
+ t.jsonb "data", default: {}, null: false
76
+ t.integer "renderer_id"
77
+ t.string "renderer_type"
77
78
  end
78
79
 
79
80
  add_index "document_parts", ["anchor"], name: "index_document_parts_on_anchor", using: :btree
80
81
  add_index "document_parts", ["context_type"], name: "index_document_parts_on_context_type", using: :btree
81
- add_index "document_parts", ["document_id"], name: "index_document_parts_on_document_id", using: :btree
82
82
  add_index "document_parts", ["placeholder"], name: "index_document_parts_on_placeholder", using: :btree
83
+ add_index "document_parts", ["renderer_type", "renderer_id"], name: "index_document_parts_on_renderer_type_and_renderer_id", using: :btree
83
84
 
84
85
  create_table "documents", force: :cascade do |t|
85
86
  t.string "file_id"
@@ -152,18 +153,6 @@ ActiveRecord::Schema.define(version: 0) do
152
153
 
153
154
  add_index "leadership_posts", ["order", "last_name"], name: "index_leadership_posts_on_order_and_last_name", using: :btree
154
155
 
155
- create_table "material_parts", force: :cascade do |t|
156
- t.integer "material_id"
157
- t.text "content"
158
- t.integer "context_type", default: 0
159
- t.string "part_type"
160
- t.boolean "active"
161
- t.datetime "created_at", null: false
162
- t.datetime "updated_at", null: false
163
- end
164
-
165
- add_index "material_parts", ["material_id"], name: "index_material_parts_on_material_id", using: :btree
166
-
167
156
  create_table "materials", force: :cascade do |t|
168
157
  t.string "file_id", null: false
169
158
  t.string "identifier"
@@ -431,10 +420,8 @@ ActiveRecord::Schema.define(version: 0) do
431
420
 
432
421
  add_foreign_key "copyright_attributions", "resources"
433
422
  add_foreign_key "document_bundles", "resources"
434
- add_foreign_key "document_parts", "documents"
435
423
  add_foreign_key "documents_materials", "documents"
436
424
  add_foreign_key "documents_materials", "materials"
437
- add_foreign_key "material_parts", "materials"
438
425
  add_foreign_key "reading_assignment_texts", "reading_assignment_authors"
439
426
  add_foreign_key "resource_additional_resources", "resources"
440
427
  add_foreign_key "resource_additional_resources", "resources", column: "additional_resource_id"
@@ -2,7 +2,7 @@
2
2
 
3
3
  FactoryBot.define do
4
4
  factory :document_part, class: Lcms::Engine::DocumentPart do
5
- document { nil }
5
+ renderer { nil }
6
6
  content { 'MyText' }
7
7
  part_type { 'layout' }
8
8
  active { true }
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal:true
2
+
3
+ require 'rails_helper'
4
+
5
+ class BaseSpecTag < DocTemplate::Tags::BaseTag
6
+ TAG_NAME = 'image'
7
+ end
8
+
9
+ describe ::DocTemplate::Tags::BaseTag do
10
+ describe '.tag_with_html_regexp' do
11
+ let(:content) do
12
+ <<~HTML
13
+ <p style='padding:0;font-size:11pt;font-family:\"Arial\";line-height:1.5;text-align:left'><span style='
14
+ vertical-align:baseline;font-size:11pt;font-family:\"Cabin\";'>[image:OP.PT.L13.014, 50, Esta imagen
15
+ muestra ruedas de carretas que han sido enterradas por la tierra movida por el viento durante una
16
+ tormenta de polvo.] Los Estados Unidos tienen una historia trágica con sedimentos en movimiento por el viento
17
+ Durante la década de 1930, gran parte de los Estados Unidos estaba pasando por una sequía.</span></p>
18
+ HTML
19
+ end
20
+
21
+ subject { BaseSpecTag.tag_with_html_regexp }
22
+
23
+ it 'returns RegExp for a single match only' do
24
+ data = subject.match(content)
25
+ expect(data.size).to eq 1
26
+ end
27
+
28
+ context 'when TAG_NAME is not defined' do
29
+ before { BaseSpecTag.send :remove_const, :TAG_NAME }
30
+
31
+ it 'raises an error' do
32
+ expect { subject }.to raise_error(NotImplementedError)
33
+ end
34
+ end
35
+ end
36
+ end
data/yarn.lock CHANGED
@@ -1003,9 +1003,9 @@ acorn-jsx@^5.1.0:
1003
1003
  integrity sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==
1004
1004
 
1005
1005
  acorn@^6.2.1:
1006
- version "6.4.0"
1007
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.0.tgz#b659d2ffbafa24baf5db1cdbb2c94a983ecd2784"
1008
- integrity sha512-gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw==
1006
+ version "6.4.1"
1007
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474"
1008
+ integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==
1009
1009
 
1010
1010
  acorn@^7.1.0:
1011
1011
  version "7.1.0"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lcms-engine
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Kuznetsov
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2020-01-13 00:00:00.000000000 Z
13
+ date: 2020-04-23 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: active_model_serializers
@@ -86,16 +86,16 @@ dependencies:
86
86
  name: airbrake
87
87
  requirement: !ruby/object:Gem::Requirement
88
88
  requirements:
89
- - - ">="
89
+ - - "~>"
90
90
  - !ruby/object:Gem::Version
91
- version: '0'
91
+ version: '10'
92
92
  type: :runtime
93
93
  prerelease: false
94
94
  version_requirements: !ruby/object:Gem::Requirement
95
95
  requirements:
96
- - - ">="
96
+ - - "~>"
97
97
  - !ruby/object:Gem::Version
98
- version: '0'
98
+ version: '10'
99
99
  - !ruby/object:Gem::Dependency
100
100
  name: autoprefixer-rails
101
101
  requirement: !ruby/object:Gem::Requirement
@@ -428,44 +428,30 @@ dependencies:
428
428
  name: hiredis
429
429
  requirement: !ruby/object:Gem::Requirement
430
430
  requirements:
431
- - - ">="
431
+ - - "~>"
432
432
  - !ruby/object:Gem::Version
433
- version: '0'
433
+ version: '0.6'
434
434
  type: :runtime
435
435
  prerelease: false
436
436
  version_requirements: !ruby/object:Gem::Requirement
437
437
  requirements:
438
- - - ">="
438
+ - - "~>"
439
439
  - !ruby/object:Gem::Version
440
- version: '0'
440
+ version: '0.6'
441
441
  - !ruby/object:Gem::Dependency
442
442
  name: httparty
443
- requirement: !ruby/object:Gem::Requirement
444
- requirements:
445
- - - ">="
446
- - !ruby/object:Gem::Version
447
- version: '0'
448
- type: :runtime
449
- prerelease: false
450
- version_requirements: !ruby/object:Gem::Requirement
451
- requirements:
452
- - - ">="
453
- - !ruby/object:Gem::Version
454
- version: '0'
455
- - !ruby/object:Gem::Dependency
456
- name: i18n-js
457
443
  requirement: !ruby/object:Gem::Requirement
458
444
  requirements:
459
445
  - - "~>"
460
446
  - !ruby/object:Gem::Version
461
- version: 3.0.2
447
+ version: '0.16'
462
448
  type: :runtime
463
449
  prerelease: false
464
450
  version_requirements: !ruby/object:Gem::Requirement
465
451
  requirements:
466
452
  - - "~>"
467
453
  - !ruby/object:Gem::Version
468
- version: 3.0.2
454
+ version: '0.16'
469
455
  - !ruby/object:Gem::Dependency
470
456
  name: jbuilder
471
457
  requirement: !ruby/object:Gem::Requirement
@@ -484,16 +470,16 @@ dependencies:
484
470
  name: jquery-rails
485
471
  requirement: !ruby/object:Gem::Requirement
486
472
  requirements:
487
- - - ">="
473
+ - - "~>"
488
474
  - !ruby/object:Gem::Version
489
- version: '0'
475
+ version: '4.3'
490
476
  type: :runtime
491
477
  prerelease: false
492
478
  version_requirements: !ruby/object:Gem::Requirement
493
479
  requirements:
494
- - - ">="
480
+ - - "~>"
495
481
  - !ruby/object:Gem::Version
496
- version: '0'
482
+ version: '4.3'
497
483
  - !ruby/object:Gem::Dependency
498
484
  name: js-routes
499
485
  requirement: !ruby/object:Gem::Requirement
@@ -554,6 +540,9 @@ dependencies:
554
540
  name: mini_magick
555
541
  requirement: !ruby/object:Gem::Requirement
556
542
  requirements:
543
+ - - "~>"
544
+ - !ruby/object:Gem::Version
545
+ version: '4.9'
557
546
  - - ">="
558
547
  - !ruby/object:Gem::Version
559
548
  version: 4.9.4
@@ -561,6 +550,9 @@ dependencies:
561
550
  prerelease: false
562
551
  version_requirements: !ruby/object:Gem::Requirement
563
552
  requirements:
553
+ - - "~>"
554
+ - !ruby/object:Gem::Version
555
+ version: '4.9'
564
556
  - - ">="
565
557
  - !ruby/object:Gem::Version
566
558
  version: 4.9.4
@@ -568,30 +560,30 @@ dependencies:
568
560
  name: nested_form
569
561
  requirement: !ruby/object:Gem::Requirement
570
562
  requirements:
571
- - - ">="
563
+ - - "~>"
572
564
  - !ruby/object:Gem::Version
573
- version: '0'
565
+ version: '0.3'
574
566
  type: :runtime
575
567
  prerelease: false
576
568
  version_requirements: !ruby/object:Gem::Requirement
577
569
  requirements:
578
- - - ">="
570
+ - - "~>"
579
571
  - !ruby/object:Gem::Version
580
- version: '0'
572
+ version: '0.3'
581
573
  - !ruby/object:Gem::Dependency
582
574
  name: newrelic_rpm
583
575
  requirement: !ruby/object:Gem::Requirement
584
576
  requirements:
585
- - - ">="
577
+ - - "~>"
586
578
  - !ruby/object:Gem::Version
587
- version: '0'
579
+ version: '6.9'
588
580
  type: :runtime
589
581
  prerelease: false
590
582
  version_requirements: !ruby/object:Gem::Requirement
591
583
  requirements:
592
- - - ">="
584
+ - - "~>"
593
585
  - !ruby/object:Gem::Version
594
- version: '0'
586
+ version: '6.9'
595
587
  - !ruby/object:Gem::Dependency
596
588
  name: nikkou
597
589
  requirement: !ruby/object:Gem::Requirement
@@ -610,6 +602,9 @@ dependencies:
610
602
  name: nokogiri
611
603
  requirement: !ruby/object:Gem::Requirement
612
604
  requirements:
605
+ - - "~>"
606
+ - !ruby/object:Gem::Version
607
+ version: '1.10'
613
608
  - - ">="
614
609
  - !ruby/object:Gem::Version
615
610
  version: 1.10.4
@@ -617,6 +612,9 @@ dependencies:
617
612
  prerelease: false
618
613
  version_requirements: !ruby/object:Gem::Requirement
619
614
  requirements:
615
+ - - "~>"
616
+ - !ruby/object:Gem::Version
617
+ version: '1.10'
620
618
  - - ">="
621
619
  - !ruby/object:Gem::Version
622
620
  version: 1.10.4
@@ -722,30 +720,30 @@ dependencies:
722
720
  name: rack-mini-profiler
723
721
  requirement: !ruby/object:Gem::Requirement
724
722
  requirements:
725
- - - ">="
723
+ - - "~>"
726
724
  - !ruby/object:Gem::Version
727
- version: '0'
725
+ version: '2'
728
726
  type: :runtime
729
727
  prerelease: false
730
728
  version_requirements: !ruby/object:Gem::Requirement
731
729
  requirements:
732
- - - ">="
730
+ - - "~>"
733
731
  - !ruby/object:Gem::Version
734
- version: '0'
732
+ version: '2'
735
733
  - !ruby/object:Gem::Dependency
736
734
  name: rails
737
735
  requirement: !ruby/object:Gem::Requirement
738
736
  requirements:
739
- - - '='
737
+ - - "~>"
740
738
  - !ruby/object:Gem::Version
741
- version: 4.2.11.1
739
+ version: 4.2.11
742
740
  type: :runtime
743
741
  prerelease: false
744
742
  version_requirements: !ruby/object:Gem::Requirement
745
743
  requirements:
746
- - - '='
744
+ - - "~>"
747
745
  - !ruby/object:Gem::Version
748
- version: 4.2.11.1
746
+ version: 4.2.11
749
747
  - !ruby/object:Gem::Dependency
750
748
  name: rails-assets-classnames
751
749
  requirement: !ruby/object:Gem::Requirement
@@ -890,16 +888,16 @@ dependencies:
890
888
  name: readthis
891
889
  requirement: !ruby/object:Gem::Requirement
892
890
  requirements:
893
- - - ">="
891
+ - - "~>"
894
892
  - !ruby/object:Gem::Version
895
- version: '0'
893
+ version: '2'
896
894
  type: :runtime
897
895
  prerelease: false
898
896
  version_requirements: !ruby/object:Gem::Requirement
899
897
  requirements:
900
- - - ">="
898
+ - - "~>"
901
899
  - !ruby/object:Gem::Version
902
- version: '0'
900
+ version: '2'
903
901
  - !ruby/object:Gem::Dependency
904
902
  name: redis
905
903
  requirement: !ruby/object:Gem::Requirement
@@ -918,30 +916,30 @@ dependencies:
918
916
  name: resque
919
917
  requirement: !ruby/object:Gem::Requirement
920
918
  requirements:
921
- - - ">="
919
+ - - "~>"
922
920
  - !ruby/object:Gem::Version
923
- version: '0'
921
+ version: '2'
924
922
  type: :runtime
925
923
  prerelease: false
926
924
  version_requirements: !ruby/object:Gem::Requirement
927
925
  requirements:
928
- - - ">="
926
+ - - "~>"
929
927
  - !ruby/object:Gem::Version
930
- version: '0'
928
+ version: '2'
931
929
  - !ruby/object:Gem::Dependency
932
930
  name: resque-scheduler
933
931
  requirement: !ruby/object:Gem::Requirement
934
932
  requirements:
935
- - - ">="
933
+ - - "~>"
936
934
  - !ruby/object:Gem::Version
937
- version: '0'
935
+ version: '4.4'
938
936
  type: :runtime
939
937
  prerelease: false
940
938
  version_requirements: !ruby/object:Gem::Requirement
941
939
  requirements:
942
- - - ">="
940
+ - - "~>"
943
941
  - !ruby/object:Gem::Version
944
- version: '0'
942
+ version: '4.4'
945
943
  - !ruby/object:Gem::Dependency
946
944
  name: rest-client
947
945
  requirement: !ruby/object:Gem::Requirement
@@ -980,16 +978,16 @@ dependencies:
980
978
  name: rubyzip
981
979
  requirement: !ruby/object:Gem::Requirement
982
980
  requirements:
983
- - - ">="
981
+ - - "~>"
984
982
  - !ruby/object:Gem::Version
985
- version: 1.3.0
983
+ version: '2'
986
984
  type: :runtime
987
985
  prerelease: false
988
986
  version_requirements: !ruby/object:Gem::Requirement
989
987
  requirements:
990
- - - ">="
988
+ - - "~>"
991
989
  - !ruby/object:Gem::Version
992
- version: 1.3.0
990
+ version: '2'
993
991
  - !ruby/object:Gem::Dependency
994
992
  name: sanitize
995
993
  requirement: !ruby/object:Gem::Requirement
@@ -1154,44 +1152,30 @@ dependencies:
1154
1152
  name: will_paginate-bootstrap
1155
1153
  requirement: !ruby/object:Gem::Requirement
1156
1154
  requirements:
1157
- - - ">="
1155
+ - - "~>"
1158
1156
  - !ruby/object:Gem::Version
1159
- version: '0'
1157
+ version: '1'
1160
1158
  type: :runtime
1161
1159
  prerelease: false
1162
1160
  version_requirements: !ruby/object:Gem::Requirement
1163
1161
  requirements:
1164
- - - ">="
1162
+ - - "~>"
1165
1163
  - !ruby/object:Gem::Version
1166
- version: '0'
1164
+ version: '1'
1167
1165
  - !ruby/object:Gem::Dependency
1168
1166
  name: capybara-screenshot
1169
1167
  requirement: !ruby/object:Gem::Requirement
1170
1168
  requirements:
1171
- - - ">="
1172
- - !ruby/object:Gem::Version
1173
- version: '0'
1174
- type: :development
1175
- prerelease: false
1176
- version_requirements: !ruby/object:Gem::Requirement
1177
- requirements:
1178
- - - ">="
1179
- - !ruby/object:Gem::Version
1180
- version: '0'
1181
- - !ruby/object:Gem::Dependency
1182
- name: capybara-selenium
1183
- requirement: !ruby/object:Gem::Requirement
1184
- requirements:
1185
- - - ">="
1169
+ - - "~>"
1186
1170
  - !ruby/object:Gem::Version
1187
- version: '0'
1171
+ version: '1'
1188
1172
  type: :development
1189
1173
  prerelease: false
1190
1174
  version_requirements: !ruby/object:Gem::Requirement
1191
1175
  requirements:
1192
- - - ">="
1176
+ - - "~>"
1193
1177
  - !ruby/object:Gem::Version
1194
- version: '0'
1178
+ version: '1'
1195
1179
  - !ruby/object:Gem::Dependency
1196
1180
  name: database_cleaner
1197
1181
  requirement: !ruby/object:Gem::Requirement
@@ -1238,30 +1222,30 @@ dependencies:
1238
1222
  name: factory_bot
1239
1223
  requirement: !ruby/object:Gem::Requirement
1240
1224
  requirements:
1241
- - - ">="
1225
+ - - "~>"
1242
1226
  - !ruby/object:Gem::Version
1243
- version: '0'
1227
+ version: '5'
1244
1228
  type: :development
1245
1229
  prerelease: false
1246
1230
  version_requirements: !ruby/object:Gem::Requirement
1247
1231
  requirements:
1248
- - - ">="
1232
+ - - "~>"
1249
1233
  - !ruby/object:Gem::Version
1250
- version: '0'
1234
+ version: '5'
1251
1235
  - !ruby/object:Gem::Dependency
1252
1236
  name: faker
1253
1237
  requirement: !ruby/object:Gem::Requirement
1254
1238
  requirements:
1255
- - - ">="
1239
+ - - "~>"
1256
1240
  - !ruby/object:Gem::Version
1257
- version: '0'
1241
+ version: '2.1'
1258
1242
  type: :development
1259
1243
  prerelease: false
1260
1244
  version_requirements: !ruby/object:Gem::Requirement
1261
1245
  requirements:
1262
- - - ">="
1246
+ - - "~>"
1263
1247
  - !ruby/object:Gem::Version
1264
- version: '0'
1248
+ version: '2.1'
1265
1249
  - !ruby/object:Gem::Dependency
1266
1250
  name: guard-livereload
1267
1251
  requirement: !ruby/object:Gem::Requirement
@@ -1286,16 +1270,16 @@ dependencies:
1286
1270
  name: mailcatcher
1287
1271
  requirement: !ruby/object:Gem::Requirement
1288
1272
  requirements:
1289
- - - ">="
1273
+ - - "~>"
1290
1274
  - !ruby/object:Gem::Version
1291
- version: '0'
1275
+ version: '0.7'
1292
1276
  type: :development
1293
1277
  prerelease: false
1294
1278
  version_requirements: !ruby/object:Gem::Requirement
1295
1279
  requirements:
1296
- - - ">="
1280
+ - - "~>"
1297
1281
  - !ruby/object:Gem::Version
1298
- version: '0'
1282
+ version: '0.7'
1299
1283
  - !ruby/object:Gem::Dependency
1300
1284
  name: overcommit
1301
1285
  requirement: !ruby/object:Gem::Requirement
@@ -1314,16 +1298,16 @@ dependencies:
1314
1298
  name: pry-byebug
1315
1299
  requirement: !ruby/object:Gem::Requirement
1316
1300
  requirements:
1317
- - - ">="
1301
+ - - "~>"
1318
1302
  - !ruby/object:Gem::Version
1319
- version: '0'
1303
+ version: '3.7'
1320
1304
  type: :development
1321
1305
  prerelease: false
1322
1306
  version_requirements: !ruby/object:Gem::Requirement
1323
1307
  requirements:
1324
- - - ">="
1308
+ - - "~>"
1325
1309
  - !ruby/object:Gem::Version
1326
- version: '0'
1310
+ version: '3.7'
1327
1311
  - !ruby/object:Gem::Dependency
1328
1312
  name: pry-rails
1329
1313
  requirement: !ruby/object:Gem::Requirement
@@ -1451,61 +1435,81 @@ dependencies:
1451
1435
  - !ruby/object:Gem::Version
1452
1436
  version: '0.3'
1453
1437
  - !ruby/object:Gem::Dependency
1454
- name: shoulda-matchers
1438
+ name: selenium-webdriver
1455
1439
  requirement: !ruby/object:Gem::Requirement
1456
1440
  requirements:
1441
+ - - "~>"
1442
+ - !ruby/object:Gem::Version
1443
+ version: '3.142'
1457
1444
  - - ">="
1458
1445
  - !ruby/object:Gem::Version
1459
- version: '0'
1446
+ version: 3.142.7
1460
1447
  type: :development
1461
1448
  prerelease: false
1462
1449
  version_requirements: !ruby/object:Gem::Requirement
1463
1450
  requirements:
1451
+ - - "~>"
1452
+ - !ruby/object:Gem::Version
1453
+ version: '3.142'
1464
1454
  - - ">="
1465
1455
  - !ruby/object:Gem::Version
1466
- version: '0'
1456
+ version: 3.142.7
1457
+ - !ruby/object:Gem::Dependency
1458
+ name: shoulda-matchers
1459
+ requirement: !ruby/object:Gem::Requirement
1460
+ requirements:
1461
+ - - "~>"
1462
+ - !ruby/object:Gem::Version
1463
+ version: '4.1'
1464
+ type: :development
1465
+ prerelease: false
1466
+ version_requirements: !ruby/object:Gem::Requirement
1467
+ requirements:
1468
+ - - "~>"
1469
+ - !ruby/object:Gem::Version
1470
+ version: '4.1'
1467
1471
  - !ruby/object:Gem::Dependency
1468
1472
  name: spring
1469
1473
  requirement: !ruby/object:Gem::Requirement
1470
1474
  requirements:
1471
- - - ">="
1475
+ - - "~>"
1472
1476
  - !ruby/object:Gem::Version
1473
- version: '0'
1477
+ version: '2.1'
1474
1478
  type: :development
1475
1479
  prerelease: false
1476
1480
  version_requirements: !ruby/object:Gem::Requirement
1477
1481
  requirements:
1478
- - - ">="
1482
+ - - "~>"
1479
1483
  - !ruby/object:Gem::Version
1480
- version: '0'
1484
+ version: '2.1'
1481
1485
  - !ruby/object:Gem::Dependency
1482
1486
  name: spring-commands-rspec
1483
1487
  requirement: !ruby/object:Gem::Requirement
1484
1488
  requirements:
1485
- - - ">="
1489
+ - - "~>"
1486
1490
  - !ruby/object:Gem::Version
1487
- version: '0'
1491
+ version: '1'
1488
1492
  type: :development
1489
1493
  prerelease: false
1490
1494
  version_requirements: !ruby/object:Gem::Requirement
1491
1495
  requirements:
1492
- - - ">="
1496
+ - - "~>"
1493
1497
  - !ruby/object:Gem::Version
1494
- version: '0'
1498
+ version: '1'
1495
1499
  - !ruby/object:Gem::Dependency
1496
1500
  name: traceroute
1497
1501
  requirement: !ruby/object:Gem::Requirement
1498
1502
  requirements:
1499
- - - ">="
1503
+ - - "~>"
1500
1504
  - !ruby/object:Gem::Version
1501
- version: '0'
1505
+ version: '0.8'
1502
1506
  type: :development
1503
1507
  prerelease: false
1504
1508
  version_requirements: !ruby/object:Gem::Requirement
1505
1509
  requirements:
1506
- - - ">="
1510
+ - - "~>"
1507
1511
  - !ruby/object:Gem::Version
1508
- version: '0'
1512
+ version: '0.8'
1509
1513
  - !ruby/object:Gem::Dependency
1510
1514
  name: webpacker
1511
1515
  requirement: !ruby/object:Gem::Requirement
@@ -1541,6 +1545,7 @@ files:
1541
1545
  - ".ruby-gemset"
1542
1546
  - ".ruby-version"
1543
1547
  - CHANGELOG.md
1548
+ - Dockerfile
1544
1549
  - Gemfile
1545
1550
  - LICENSE
1546
1551
  - README.md
@@ -1730,7 +1735,6 @@ files:
1730
1735
  - app/assets/javascripts/lcms/engine/components/utils/heaptrackpd.js.jsx
1731
1736
  - app/assets/javascripts/lcms/engine/components/utils/regexpescape.js.jsx
1732
1737
  - app/assets/javascripts/lcms/engine/components/utils/scalenumber.js.jsx
1733
- - app/assets/javascripts/lcms/engine/generated/translations.js
1734
1738
  - app/assets/javascripts/lcms/engine/initializers/about_people.js
1735
1739
  - app/assets/javascripts/lcms/engine/initializers/bundles.js
1736
1740
  - app/assets/javascripts/lcms/engine/initializers/events.js
@@ -1753,7 +1757,6 @@ files:
1753
1757
  - app/assets/javascripts/lcms/engine/initializers/soundcloud.js
1754
1758
  - app/assets/javascripts/lcms/engine/initializers/subscribe_placeholder.js
1755
1759
  - app/assets/javascripts/lcms/engine/initializers/survey.js
1756
- - app/assets/javascripts/lcms/engine/pdf_js_preview.js
1757
1760
  - app/assets/stylesheets/lcms/engine/admin.scss
1758
1761
  - app/assets/stylesheets/lcms/engine/admin/collections.scss
1759
1762
  - app/assets/stylesheets/lcms/engine/admin/components.scss
@@ -2080,6 +2083,7 @@ files:
2080
2083
  - app/mailers/lcms/engine/application_mailer.rb
2081
2084
  - app/middleware/remove_session.rb
2082
2085
  - app/models/concerns/lcms/engine/navigable.rb
2086
+ - app/models/concerns/lcms/engine/partable.rb
2083
2087
  - app/models/concerns/lcms/engine/searchable.rb
2084
2088
  - app/models/lcms/engine/access_code.rb
2085
2089
  - app/models/lcms/engine/author.rb
@@ -2347,6 +2351,8 @@ files:
2347
2351
  - config/webpack/production.js
2348
2352
  - config/webpack/test.js
2349
2353
  - config/webpacker.yml
2354
+ - db/migrate/20200217160930_change_document_parts_to_polymorphic.rb
2355
+ - db/migrate/20200218144849_drop_material_parts_table.rb
2350
2356
  - db/schema.rb
2351
2357
  - db/seeds.rb
2352
2358
  - db/seeds/authors.seeds.rb
@@ -2356,6 +2362,7 @@ files:
2356
2362
  - db/seeds/download_categories.seeds.rb
2357
2363
  - db/seeds/pages.seeds.rb
2358
2364
  - db/seeds/subjects.seeds.rb
2365
+ - docker-compose.yml
2359
2366
  - lcms-engine.gemspec
2360
2367
  - lib/asset_helper.rb
2361
2368
  - lib/doc_template.rb
@@ -2516,6 +2523,7 @@ files:
2516
2523
  - lib/tasks/thumbnails.rake
2517
2524
  - lib/text_to_image.rb
2518
2525
  - package.json
2526
+ - spec/controllers/admin/admin_controller_spec.rb
2519
2527
  - spec/controllers/admin/association_picker_controller_spec.rb
2520
2528
  - spec/controllers/admin/curriculums_controller_spec.rb
2521
2529
  - spec/controllers/admin/documents_controller_spec.rb
@@ -2535,6 +2543,7 @@ files:
2535
2543
  - spec/controllers/resources_controller_spec.rb
2536
2544
  - spec/controllers/search_controller_spec.rb
2537
2545
  - spec/dummy/.env
2546
+ - spec/dummy/.env.docker
2538
2547
  - spec/dummy/.ruby-gemset
2539
2548
  - spec/dummy/.ruby-version
2540
2549
  - spec/dummy/.traceroute.yaml
@@ -2642,6 +2651,7 @@ files:
2642
2651
  - spec/lib/doc_template/objects/toc_metadata_spec.rb
2643
2652
  - spec/lib/doc_template/tables/base_spec.rb
2644
2653
  - spec/lib/doc_template/tags/answer_space_tag_spec.rb
2654
+ - spec/lib/doc_template/tags/base_tag_spec.rb
2645
2655
  - spec/lib/doc_template/tags/columns_tag_spec.rb
2646
2656
  - spec/lib/doc_template/tags/dialogue_tag_spec.rb
2647
2657
  - spec/lib/doc_template/tags/gls_tag_spec.rb
@@ -2711,9 +2721,6 @@ files:
2711
2721
  - vendor/assets/javascripts/jquery.hashchange.js
2712
2722
  - vendor/assets/javascripts/jquery.tagsinput.js
2713
2723
  - vendor/assets/javascripts/modernizr-custom.js
2714
- - vendor/assets/javascripts/pdf.js
2715
- - vendor/assets/javascripts/pdf.worker.js
2716
- - vendor/assets/javascripts/pdfobject.js
2717
2724
  - vendor/assets/javascripts/smoothscrolling.js
2718
2725
  - vendor/assets/javascripts/swiper.jquery.js
2719
2726
  - vendor/assets/javascripts/tabs.js
@@ -2737,11 +2744,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
2737
2744
  - !ruby/object:Gem::Version
2738
2745
  version: '0'
2739
2746
  requirements: []
2740
- rubygems_version: 3.0.6
2747
+ rubygems_version: 3.1.2
2741
2748
  signing_key:
2742
2749
  specification_version: 4
2743
2750
  summary: Rails engine for LCMS applications
2744
2751
  test_files:
2752
+ - spec/controllers/admin/admin_controller_spec.rb
2745
2753
  - spec/controllers/admin/association_picker_controller_spec.rb
2746
2754
  - spec/controllers/admin/curriculums_controller_spec.rb
2747
2755
  - spec/controllers/admin/documents_controller_spec.rb
@@ -2761,6 +2769,7 @@ test_files:
2761
2769
  - spec/controllers/resources_controller_spec.rb
2762
2770
  - spec/controllers/search_controller_spec.rb
2763
2771
  - spec/dummy/.env
2772
+ - spec/dummy/.env.docker
2764
2773
  - spec/dummy/.ruby-gemset
2765
2774
  - spec/dummy/.ruby-version
2766
2775
  - spec/dummy/.traceroute.yaml
@@ -2868,6 +2877,7 @@ test_files:
2868
2877
  - spec/lib/doc_template/objects/toc_metadata_spec.rb
2869
2878
  - spec/lib/doc_template/tables/base_spec.rb
2870
2879
  - spec/lib/doc_template/tags/answer_space_tag_spec.rb
2880
+ - spec/lib/doc_template/tags/base_tag_spec.rb
2871
2881
  - spec/lib/doc_template/tags/columns_tag_spec.rb
2872
2882
  - spec/lib/doc_template/tags/dialogue_tag_spec.rb
2873
2883
  - spec/lib/doc_template/tags/gls_tag_spec.rb