lcms-engine 0.1.0 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
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