works_cited 0.1.14 → 0.1.15
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/README.md +27 -2
- data/VERSION +1 -1
- data/app/assets/javascripts/works_cited/addFields.js +44 -0
- data/app/assets/javascripts/works_cited/application.js +6 -1
- data/app/assets/javascripts/works_cited/loadPreview.js +45 -0
- data/app/assets/javascripts/works_cited/removeFields.js +37 -0
- data/app/assets/javascripts/works_cited/shared.js +59 -0
- data/app/assets/javascripts/works_cited/showFields.js +9 -0
- data/app/assets/javascripts/works_cited/submitForm.js +33 -0
- data/app/controllers/concerns/works_cited/params.rb +24 -0
- data/app/controllers/works_cited/citations_controller.rb +26 -13
- data/app/helpers/works_cited/application_helper.rb +46 -1
- data/app/models/works_cited/citation.rb +30 -34
- data/app/models/works_cited/contributor.rb +11 -28
- data/app/views/works_cited/citation_types/fields/_book.html.haml +1 -1
- data/app/views/works_cited/citation_types/fields/_electronic.html.haml +1 -1
- data/app/views/works_cited/citation_types/fields/_email.html.haml +1 -1
- data/app/views/works_cited/citation_types/fields/_interview.html.haml +1 -1
- data/app/views/works_cited/citation_types/fields/_periodical.html.haml +1 -1
- data/app/views/works_cited/citation_types/fields/_tweet.html.haml +1 -1
- data/app/views/works_cited/citations/_citation_fields.html.haml +28 -0
- data/app/views/works_cited/citations/_fields.html.haml +14 -0
- data/app/views/works_cited/citations/_form.html.haml +16 -53
- data/app/views/works_cited/citations/preview.html.haml +1 -1
- data/app/views/works_cited/contributors/_contributor_fields.html.haml +11 -0
- data/config/routes.rb +8 -2
- data/db/migrate/20210915160902_add_index_to_works_cited_contributors.rb +5 -1
- data/lib/works_cited/mixins/has_works_cited.rb +14 -1
- data/spec/dummy/app/controllers/doodads_controller.rb +2 -1
- data/spec/dummy/app/controllers/things_controller.rb +1 -1
- data/spec/dummy/app/views/doodads/_form.html.haml +2 -0
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/migrate/20210915161011_create_works_cited_citations.works_cited.rb +1 -0
- data/spec/dummy/db/migrate/20210915161012_create_works_cited_contributors.works_cited.rb +1 -0
- data/spec/dummy/db/migrate/20210915161013_add_index_to_works_cited_contributors.works_cited.rb +4 -1
- data/spec/dummy/db/schema.rb +60 -59
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/log/development.log +26893 -15
- data/spec/dummy/log/test.log +24838 -0
- data/spec/factories/things.rb +8 -0
- data/spec/models/doodad_spec.rb +13 -1
- data/spec/models/thing_spec.rb +13 -1
- data/spec/models/works_cited/citation_spec.rb +12 -0
- data/spec/requests/works_cited/citations_spec.rb +10 -8
- data/spec/routing/works_cited/citations_routing_spec.rb +5 -1
- data/works_cited.gemspec +14 -4
- metadata +13 -3
- data/app/views/works_cited/contributors/_fields.html.haml +0 -9
data/spec/models/doodad_spec.rb
CHANGED
@@ -3,7 +3,19 @@
|
|
3
3
|
require 'rails_helper'
|
4
4
|
|
5
5
|
RSpec.describe Doodad, type: :model do
|
6
|
-
describe '
|
6
|
+
describe 'Mixin functioning' do
|
7
7
|
it { should have_many(:works_cited_citations) }
|
8
8
|
end
|
9
|
+
describe 'WorksCited Methods' do
|
10
|
+
describe '#works_cited_citations_attributes=' do
|
11
|
+
let!(:doodad) { FactoryBot.create(:doodad) }
|
12
|
+
it 'saves the citations' do
|
13
|
+
expect do
|
14
|
+
citation_attributes = FactoryBot.build(:works_cited_citation).attributes
|
15
|
+
doodad.works_cited_citations_attributes = { "0" => citation_attributes }
|
16
|
+
doodad.save
|
17
|
+
end.to change { doodad.works_cited_citations.count }.by(1)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
9
21
|
end
|
data/spec/models/thing_spec.rb
CHANGED
@@ -3,7 +3,19 @@
|
|
3
3
|
require 'rails_helper'
|
4
4
|
|
5
5
|
RSpec.describe Thing, type: :model do
|
6
|
-
describe '
|
6
|
+
describe 'Mixin functioning' do
|
7
7
|
it { should have_many(:works_cited_citations) }
|
8
8
|
end
|
9
|
+
describe 'WorksCited Methods' do
|
10
|
+
describe '#works_cited_citations_attributes=' do
|
11
|
+
let!(:thing) { FactoryBot.create(:thing) }
|
12
|
+
it 'saves the citations' do
|
13
|
+
expect do
|
14
|
+
citation_attributes = FactoryBot.build(:works_cited_citation).attributes
|
15
|
+
thing.works_cited_citations_attributes = { "0" => citation_attributes }
|
16
|
+
thing.save
|
17
|
+
end.to change { thing.works_cited_citations.count }.by(1)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
9
21
|
end
|
@@ -19,6 +19,18 @@ RSpec.describe WorksCited::Citation, type: :model do
|
|
19
19
|
let(:electronic) { FactoryBot.create(:works_cited_citation, record: doodad, citation_type: 'electronic') }
|
20
20
|
let(:interview) { FactoryBot.create(:works_cited_citation, record: doodad, citation_type: 'interview') }
|
21
21
|
let(:email) { FactoryBot.create(:works_cited_citation, record: doodad, citation_type: 'email') }
|
22
|
+
describe '#works_cited_contributors_attributes=' do
|
23
|
+
before do
|
24
|
+
book.works_cited_contributors.destroy_all
|
25
|
+
end
|
26
|
+
it 'saves the contributors' do
|
27
|
+
expect do
|
28
|
+
contributor_attributes = FactoryBot.build(:works_cited_contributor).attributes
|
29
|
+
book.works_cited_contributors_attributes = { "0" => contributor_attributes }
|
30
|
+
book.save
|
31
|
+
end.to change { book.works_cited_contributors.count }.by(1)
|
32
|
+
end
|
33
|
+
end
|
22
34
|
describe '#book?' do
|
23
35
|
describe 'when true' do
|
24
36
|
subject { book.book? }
|
@@ -41,7 +41,7 @@ module WorksCited
|
|
41
41
|
|
42
42
|
describe 'GET /index' do
|
43
43
|
before do
|
44
|
-
|
44
|
+
citation
|
45
45
|
end
|
46
46
|
it 'disallows' do
|
47
47
|
expect { get citations_url }.to raise_error(CanCan::AccessDenied)
|
@@ -60,10 +60,11 @@ module WorksCited
|
|
60
60
|
end
|
61
61
|
end
|
62
62
|
|
63
|
-
describe '
|
63
|
+
describe 'POST /preview' do
|
64
64
|
it 'disallows' do
|
65
65
|
expect do
|
66
|
-
|
66
|
+
params = { citation: valid_attributes }
|
67
|
+
post preview_citations_url, params: JSON.parse(params.to_json), as: :json
|
67
68
|
end.to raise_error(CanCan::AccessDenied)
|
68
69
|
end
|
69
70
|
end
|
@@ -76,7 +77,7 @@ module WorksCited
|
|
76
77
|
|
77
78
|
describe 'PATCH /update' do
|
78
79
|
let(:new_attributes) do
|
79
|
-
{ citation_type: 'book', title: 'New Title',
|
80
|
+
{ citation_type: 'book', title: 'New Title', record: "Doodad:#{doodad.id}" }
|
80
81
|
end
|
81
82
|
it 'disallows' do
|
82
83
|
expect do
|
@@ -105,7 +106,7 @@ module WorksCited
|
|
105
106
|
|
106
107
|
describe 'GET /index' do
|
107
108
|
before do
|
108
|
-
|
109
|
+
citation
|
109
110
|
end
|
110
111
|
it 'renders a successful response when admin' do
|
111
112
|
get citations_url
|
@@ -127,10 +128,11 @@ module WorksCited
|
|
127
128
|
end
|
128
129
|
end
|
129
130
|
|
130
|
-
describe '
|
131
|
+
describe 'POST /preview' do
|
131
132
|
context 'with valid parameters' do
|
132
133
|
it 'previews the Citation' do
|
133
|
-
|
134
|
+
params = { citation: valid_attributes }
|
135
|
+
post preview_citations_url, params: JSON.parse(params.to_json), as: :json
|
134
136
|
expect(response).to be_successful
|
135
137
|
end
|
136
138
|
end
|
@@ -166,7 +168,7 @@ module WorksCited
|
|
166
168
|
|
167
169
|
describe 'PATCH /update' do
|
168
170
|
let(:new_attributes) do
|
169
|
-
{ citation_type: 'book', title: 'New Title',
|
171
|
+
{ citation_type: 'book', title: 'New Title', record: "Doodad:#{doodad.id}" }
|
170
172
|
end
|
171
173
|
context 'with valid parameters' do
|
172
174
|
it 'updates the requested citation' do
|
@@ -11,7 +11,11 @@ RSpec.describe WorksCited::CitationsController, type: :routing do
|
|
11
11
|
end
|
12
12
|
|
13
13
|
it 'routes to #preview' do
|
14
|
-
expect(
|
14
|
+
expect(post: '/citations/preview').to route_to('works_cited/citations#preview', format: :json)
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'routes to #preview' do
|
18
|
+
expect(post: '/citations/1/preview').to route_to('works_cited/citations#preview', id: '1', format: :json)
|
15
19
|
end
|
16
20
|
|
17
21
|
it 'routes to #new' do
|
data/works_cited.gemspec
CHANGED
@@ -2,17 +2,17 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: works_cited 0.1.
|
5
|
+
# stub: works_cited 0.1.15 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "works_cited".freeze
|
9
|
-
s.version = "0.1.
|
9
|
+
s.version = "0.1.15"
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
12
12
|
s.metadata = { "source_code_uri" => "http://github.com/gemvein/works_cited" } if s.respond_to? :metadata=
|
13
13
|
s.require_paths = ["lib".freeze]
|
14
14
|
s.authors = ["Loren Lundgren".freeze]
|
15
|
-
s.date = "2021-09-
|
15
|
+
s.date = "2021-09-24"
|
16
16
|
s.description = "Works cited allows you to add a list of the works cited in ActiveRecord objects, to be formatted by a helper that can be added to relevant pages to format the citations like a bibliography.".freeze
|
17
17
|
s.email = "loren.lundgren@gmail.com".freeze
|
18
18
|
s.executables = ["rails".freeze]
|
@@ -31,8 +31,15 @@ Gem::Specification.new do |s|
|
|
31
31
|
"README.md",
|
32
32
|
"Rakefile",
|
33
33
|
"VERSION",
|
34
|
+
"app/assets/javascripts/works_cited/addFields.js",
|
34
35
|
"app/assets/javascripts/works_cited/application.js",
|
36
|
+
"app/assets/javascripts/works_cited/loadPreview.js",
|
37
|
+
"app/assets/javascripts/works_cited/removeFields.js",
|
38
|
+
"app/assets/javascripts/works_cited/shared.js",
|
39
|
+
"app/assets/javascripts/works_cited/showFields.js",
|
40
|
+
"app/assets/javascripts/works_cited/submitForm.js",
|
35
41
|
"app/assets/stylesheets/works_cited/application.scss",
|
42
|
+
"app/controllers/concerns/works_cited/params.rb",
|
36
43
|
"app/controllers/works_cited/citations_controller.rb",
|
37
44
|
"app/helpers/works_cited/application_helper.rb",
|
38
45
|
"app/models/works_cited/citation.rb",
|
@@ -51,6 +58,8 @@ Gem::Specification.new do |s|
|
|
51
58
|
"app/views/works_cited/citation_types/fields/_interview.html.haml",
|
52
59
|
"app/views/works_cited/citation_types/fields/_periodical.html.haml",
|
53
60
|
"app/views/works_cited/citation_types/fields/_tweet.html.haml",
|
61
|
+
"app/views/works_cited/citations/_citation_fields.html.haml",
|
62
|
+
"app/views/works_cited/citations/_fields.html.haml",
|
54
63
|
"app/views/works_cited/citations/_form.html.haml",
|
55
64
|
"app/views/works_cited/citations/_list.html.haml",
|
56
65
|
"app/views/works_cited/citations/edit.html.haml",
|
@@ -58,7 +67,7 @@ Gem::Specification.new do |s|
|
|
58
67
|
"app/views/works_cited/citations/new.html.haml",
|
59
68
|
"app/views/works_cited/citations/preview.html.haml",
|
60
69
|
"app/views/works_cited/citations/show.html.haml",
|
61
|
-
"app/views/works_cited/contributors/
|
70
|
+
"app/views/works_cited/contributors/_contributor_fields.html.haml",
|
62
71
|
"bin/rails",
|
63
72
|
"config/initializers/simple_form.rb",
|
64
73
|
"config/locales/simple_form.en.yml",
|
@@ -168,6 +177,7 @@ Gem::Specification.new do |s|
|
|
168
177
|
"spec/factories/citations.rb",
|
169
178
|
"spec/factories/contributors.rb",
|
170
179
|
"spec/factories/doodads.rb",
|
180
|
+
"spec/factories/things.rb",
|
171
181
|
"spec/factories/users.rb",
|
172
182
|
"spec/helpers/works_cited/application_helper_spec.rb",
|
173
183
|
"spec/models/doodad_spec.rb",
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: works_cited
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.15
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Loren Lundgren
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-09-
|
11
|
+
date: 2021-09-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -341,8 +341,15 @@ files:
|
|
341
341
|
- README.md
|
342
342
|
- Rakefile
|
343
343
|
- VERSION
|
344
|
+
- app/assets/javascripts/works_cited/addFields.js
|
344
345
|
- app/assets/javascripts/works_cited/application.js
|
346
|
+
- app/assets/javascripts/works_cited/loadPreview.js
|
347
|
+
- app/assets/javascripts/works_cited/removeFields.js
|
348
|
+
- app/assets/javascripts/works_cited/shared.js
|
349
|
+
- app/assets/javascripts/works_cited/showFields.js
|
350
|
+
- app/assets/javascripts/works_cited/submitForm.js
|
345
351
|
- app/assets/stylesheets/works_cited/application.scss
|
352
|
+
- app/controllers/concerns/works_cited/params.rb
|
346
353
|
- app/controllers/works_cited/citations_controller.rb
|
347
354
|
- app/helpers/works_cited/application_helper.rb
|
348
355
|
- app/models/works_cited/citation.rb
|
@@ -361,6 +368,8 @@ files:
|
|
361
368
|
- app/views/works_cited/citation_types/fields/_interview.html.haml
|
362
369
|
- app/views/works_cited/citation_types/fields/_periodical.html.haml
|
363
370
|
- app/views/works_cited/citation_types/fields/_tweet.html.haml
|
371
|
+
- app/views/works_cited/citations/_citation_fields.html.haml
|
372
|
+
- app/views/works_cited/citations/_fields.html.haml
|
364
373
|
- app/views/works_cited/citations/_form.html.haml
|
365
374
|
- app/views/works_cited/citations/_list.html.haml
|
366
375
|
- app/views/works_cited/citations/edit.html.haml
|
@@ -368,7 +377,7 @@ files:
|
|
368
377
|
- app/views/works_cited/citations/new.html.haml
|
369
378
|
- app/views/works_cited/citations/preview.html.haml
|
370
379
|
- app/views/works_cited/citations/show.html.haml
|
371
|
-
- app/views/works_cited/contributors/
|
380
|
+
- app/views/works_cited/contributors/_contributor_fields.html.haml
|
372
381
|
- bin/rails
|
373
382
|
- config/initializers/simple_form.rb
|
374
383
|
- config/locales/simple_form.en.yml
|
@@ -478,6 +487,7 @@ files:
|
|
478
487
|
- spec/factories/citations.rb
|
479
488
|
- spec/factories/contributors.rb
|
480
489
|
- spec/factories/doodads.rb
|
490
|
+
- spec/factories/things.rb
|
481
491
|
- spec/factories/users.rb
|
482
492
|
- spec/helpers/works_cited/application_helper_spec.rb
|
483
493
|
- spec/models/doodad_spec.rb
|
@@ -1,9 +0,0 @@
|
|
1
|
-
%fieldset
|
2
|
-
%legend Contributor
|
3
|
-
= form.input :contributor_role, collection: WorksCited.configuration.valid_contributor_roles.map { |x| [x, x] }
|
4
|
-
= form.input :first
|
5
|
-
= form.input :middle, hint: 'Only the initial is used'
|
6
|
-
= form.input :last
|
7
|
-
= form.input :suffix
|
8
|
-
= form.input :handle
|
9
|
-
= link_to_remove_nested form, link_classes: 'button button-danger'
|