govuk_content_models 28.7.0 → 28.7.1
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +4 -0
- data/app/models/action.rb +1 -1
- data/app/models/artefact.rb +0 -2
- data/app/validators/slug_validator.rb +1 -42
- data/lib/govuk_content_models/version.rb +1 -1
- data/test/models/action_test.rb +1 -1
- data/test/validators/slug_validator_test.rb +0 -34
- metadata +4 -7
- data/app/models/manual_change_history.rb +0 -15
- data/test/models/manual_change_history_test.rb +0 -10
data/CHANGELOG.md
CHANGED
data/app/models/action.rb
CHANGED
@@ -52,7 +52,7 @@ class Action
|
|
52
52
|
def to_s
|
53
53
|
if request_type == SCHEDULE_FOR_PUBLISHING
|
54
54
|
string = "Scheduled for publishing"
|
55
|
-
string += " on #{request_details['scheduled_time'].strftime('%d/%m/%Y %H:%M
|
55
|
+
string += " on #{request_details['scheduled_time'].to_datetime.in_time_zone('London').strftime('%d/%m/%Y %H:%M')}" if request_details['scheduled_time'].present?
|
56
56
|
string
|
57
57
|
else
|
58
58
|
request_type.humanize.capitalize
|
data/app/models/artefact.rb
CHANGED
@@ -8,7 +8,6 @@ class SlugValidator < ActiveModel::EachValidator
|
|
8
8
|
FinderEmailSignupValidator,
|
9
9
|
GovernmentPageValidator,
|
10
10
|
ManualPageValidator,
|
11
|
-
ManualChangeHistoryValidator,
|
12
11
|
SpecialistDocumentPageValidator,
|
13
12
|
BrowsePageValidator,
|
14
13
|
DefaultValidator
|
@@ -119,7 +118,7 @@ protected
|
|
119
118
|
|
120
119
|
class ManualPageValidator < InstanceValidator
|
121
120
|
def applicable?
|
122
|
-
of_kind?('manual')
|
121
|
+
of_kind?('manual')
|
123
122
|
end
|
124
123
|
|
125
124
|
def validate!
|
@@ -148,44 +147,6 @@ protected
|
|
148
147
|
end
|
149
148
|
end
|
150
149
|
|
151
|
-
class ManualChangeHistoryValidator < InstanceValidator
|
152
|
-
def applicable?
|
153
|
-
of_kind?('manual-change-history')
|
154
|
-
end
|
155
|
-
|
156
|
-
def validate!
|
157
|
-
validate_number_of_parts!
|
158
|
-
validate_guidance_prefix!
|
159
|
-
validate_updates_suffix!
|
160
|
-
validate_parts_as_slugs!
|
161
|
-
end
|
162
|
-
|
163
|
-
private
|
164
|
-
def validate_number_of_parts!
|
165
|
-
unless url_parts.size == 3
|
166
|
-
record.errors[attribute] << 'must contain three path parts'
|
167
|
-
end
|
168
|
-
end
|
169
|
-
|
170
|
-
def validate_guidance_prefix!
|
171
|
-
unless starts_with?('guidance/')
|
172
|
-
record.errors[attribute] << 'must have a guidance/ prefix'
|
173
|
-
end
|
174
|
-
end
|
175
|
-
|
176
|
-
def validate_updates_suffix!
|
177
|
-
unless ends_with?('/updates')
|
178
|
-
record.errors[attribute] << 'must have a /updates suffix'
|
179
|
-
end
|
180
|
-
end
|
181
|
-
|
182
|
-
def validate_parts_as_slugs!
|
183
|
-
unless url_parts.all? { |url_part| valid_slug?(url_part) }
|
184
|
-
record.errors[attribute] << 'must be usable in a URL'
|
185
|
-
end
|
186
|
-
end
|
187
|
-
end
|
188
|
-
|
189
150
|
class SpecialistDocumentPageValidator < InstanceValidator
|
190
151
|
def applicable?
|
191
152
|
of_kind?(acceptable_formats)
|
@@ -208,8 +169,6 @@ protected
|
|
208
169
|
def unacceptable_formats
|
209
170
|
[
|
210
171
|
"manual",
|
211
|
-
"manual-change-history",
|
212
|
-
"manual-section",
|
213
172
|
]
|
214
173
|
end
|
215
174
|
end
|
data/test/models/action_test.rb
CHANGED
@@ -6,7 +6,7 @@ class ActionTest < ActiveSupport::TestCase
|
|
6
6
|
end
|
7
7
|
|
8
8
|
test "#to_s should contain the scheduled time when request type is SCHEDULE_FOR_PUBLISHING" do
|
9
|
-
assert_equal "Scheduled for publishing on 12/12/2014 00:00
|
9
|
+
assert_equal "Scheduled for publishing on 12/12/2014 00:00",
|
10
10
|
Action.new(:request_type => 'schedule_for_publishing',
|
11
11
|
:request_details => { 'scheduled_time' => Date.parse('12/12/2014').to_time.utc }).to_s
|
12
12
|
end
|
@@ -104,38 +104,6 @@ class SlugTest < ActiveSupport::TestCase
|
|
104
104
|
end
|
105
105
|
end
|
106
106
|
|
107
|
-
context "Manual change history" do
|
108
|
-
should "allow slugs of the form guidance/manual-slug/updates" do
|
109
|
-
assert document_with_slug("guidance/a-manual/updates",
|
110
|
-
kind: "manual-change-history").valid?
|
111
|
-
end
|
112
|
-
|
113
|
-
should "refuse slugs that don't start with guidance/" do
|
114
|
-
refute document_with_slug("manuals/a-manual/updates",
|
115
|
-
kind: "manual-change-history").valid?
|
116
|
-
end
|
117
|
-
|
118
|
-
should "refuse slugs that don't end with /updates" do
|
119
|
-
refute document_with_slug("guidance/a-manual/change-history",
|
120
|
-
kind: "manual-change-history").valid?
|
121
|
-
end
|
122
|
-
|
123
|
-
should "refuse slugs that don't have a manual-slug" do
|
124
|
-
refute document_with_slug("guidance/change-history",
|
125
|
-
kind: "manual-change-history").valid?
|
126
|
-
end
|
127
|
-
|
128
|
-
should "refuse slugs that have extra sections" do
|
129
|
-
refute document_with_slug("guidance/a-manual/a-section/updates",
|
130
|
-
kind: "manual-change-history").valid?
|
131
|
-
end
|
132
|
-
|
133
|
-
should "not allow invalid path segments" do
|
134
|
-
refute document_with_slug("guidance/bad.manual.slug/updates",
|
135
|
-
kind: "manual-change-history").valid?
|
136
|
-
end
|
137
|
-
end
|
138
|
-
|
139
107
|
context "Manual pages" do
|
140
108
|
should "allow slugs starting guidance/" do
|
141
109
|
refute document_with_slug("manuals/a-manual", kind: "manual").valid?
|
@@ -145,8 +113,6 @@ class SlugTest < ActiveSupport::TestCase
|
|
145
113
|
should "allow two or three path parts" do
|
146
114
|
refute document_with_slug("guidance", kind: "manual").valid?
|
147
115
|
assert document_with_slug("guidance/a-manual", kind: "manual").valid?
|
148
|
-
assert document_with_slug("guidance/a-manual/a-section", kind: "manual-section").valid?
|
149
|
-
refute document_with_slug("guidance/a-manual/a-section/a-subsection", kind: "manual-section").valid?
|
150
116
|
end
|
151
117
|
|
152
118
|
should "not allow invalid path segments" do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: govuk_content_models
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 28.7.
|
4
|
+
version: 28.7.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-
|
12
|
+
date: 2015-06-09 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bson_ext
|
@@ -356,7 +356,6 @@ files:
|
|
356
356
|
- app/models/local_interaction.rb
|
357
357
|
- app/models/local_service.rb
|
358
358
|
- app/models/local_transaction_edition.rb
|
359
|
-
- app/models/manual_change_history.rb
|
360
359
|
- app/models/overview_dashboard.rb
|
361
360
|
- app/models/part.rb
|
362
361
|
- app/models/parted.rb
|
@@ -440,7 +439,6 @@ files:
|
|
440
439
|
- test/models/local_authority_test.rb
|
441
440
|
- test/models/local_service_test.rb
|
442
441
|
- test/models/local_transaction_edition_test.rb
|
443
|
-
- test/models/manual_change_history_test.rb
|
444
442
|
- test/models/overview_dashboard_test.rb
|
445
443
|
- test/models/parted_test.rb
|
446
444
|
- test/models/prerendered_entity_tests.rb
|
@@ -480,7 +478,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
480
478
|
version: '0'
|
481
479
|
segments:
|
482
480
|
- 0
|
483
|
-
hash: -
|
481
|
+
hash: -1030593290210728004
|
484
482
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
485
483
|
none: false
|
486
484
|
requirements:
|
@@ -489,7 +487,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
489
487
|
version: '0'
|
490
488
|
segments:
|
491
489
|
- 0
|
492
|
-
hash: -
|
490
|
+
hash: -1030593290210728004
|
493
491
|
requirements: []
|
494
492
|
rubyforge_project:
|
495
493
|
rubygems_version: 1.8.23
|
@@ -524,7 +522,6 @@ test_files:
|
|
524
522
|
- test/models/local_authority_test.rb
|
525
523
|
- test/models/local_service_test.rb
|
526
524
|
- test/models/local_transaction_edition_test.rb
|
527
|
-
- test/models/manual_change_history_test.rb
|
528
525
|
- test/models/overview_dashboard_test.rb
|
529
526
|
- test/models/parted_test.rb
|
530
527
|
- test/models/prerendered_entity_tests.rb
|
@@ -1,15 +0,0 @@
|
|
1
|
-
require "prerendered_entity"
|
2
|
-
|
3
|
-
class ManualChangeHistory
|
4
|
-
include Mongoid::Document
|
5
|
-
include Mongoid::Timestamps
|
6
|
-
extend PrerenderedEntity
|
7
|
-
|
8
|
-
field :updates, type: Array
|
9
|
-
field :slug, type: String
|
10
|
-
field :manual_slug, type: String
|
11
|
-
|
12
|
-
index "slug", unique: true
|
13
|
-
|
14
|
-
validates :slug, uniqueness: true
|
15
|
-
end
|