post replacements: rename <attr>_was to old_<attr>
Rename the following post replacement attributes: * file_size_was -> old_file_size * file_ext_was -> old_file_ext * image_width_was -> old_image_width * image_height_was -> old_image_height * md5_was -> old_md5 In Rails 6.1, having attributes named `file_size` and `file_size_was` on the same model breaks things because it conflicts with Rails' dirty attribute tracking.
This commit is contained in:
@@ -11,17 +11,17 @@ class PostReplacement < ApplicationRecord
|
|||||||
self.original_url = post.source
|
self.original_url = post.source
|
||||||
self.tags = post.tag_string + " " + self.tags.to_s
|
self.tags = post.tag_string + " " + self.tags.to_s
|
||||||
|
|
||||||
self.file_ext_was = post.file_ext
|
self.old_file_ext = post.file_ext
|
||||||
self.file_size_was = post.file_size
|
self.old_file_size = post.file_size
|
||||||
self.image_width_was = post.image_width
|
self.old_image_width = post.image_width
|
||||||
self.image_height_was = post.image_height
|
self.old_image_height = post.image_height
|
||||||
self.md5_was = post.md5
|
self.old_md5 = post.md5
|
||||||
end
|
end
|
||||||
|
|
||||||
concerning :Search do
|
concerning :Search do
|
||||||
class_methods do
|
class_methods do
|
||||||
def search(params = {})
|
def search(params = {})
|
||||||
q = search_attributes(params, :id, :created_at, :updated_at, :md5, :md5_was, :file_ext, :file_ext_was, :original_url, :replacement_url, :creator, :post)
|
q = search_attributes(params, :id, :created_at, :updated_at, :md5, :old_md5, :file_ext, :old_file_ext, :original_url, :replacement_url, :creator, :post)
|
||||||
q.apply_default_order(params)
|
q.apply_default_order(params)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -12,8 +12,8 @@ class PostReplacementPolicy < ApplicationPolicy
|
|||||||
end
|
end
|
||||||
|
|
||||||
def permitted_attributes_for_update
|
def permitted_attributes_for_update
|
||||||
[:file_ext_was, :file_size_was, :image_width_was, :image_height_was,
|
[:old_file_ext, :old_file_size, :old_image_width, :old_image_height,
|
||||||
:md5_was, :file_ext, :file_size, :image_width, :image_height, :md5,
|
:old_md5, :file_ext, :file_size, :image_width, :image_height, :md5,
|
||||||
:original_url, :replacement_url]
|
:original_url, :replacement_url]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -29,10 +29,10 @@
|
|||||||
</dl>
|
</dl>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% t.column "MD5" do |post_replacement| %>
|
<% t.column "MD5" do |post_replacement| %>
|
||||||
<% if post_replacement.md5_was.present? && post_replacement.md5.present? %>
|
<% if post_replacement.old_md5.present? && post_replacement.md5.present? %>
|
||||||
<dl>
|
<dl>
|
||||||
<dt>Original MD5</dt>
|
<dt>Original MD5</dt>
|
||||||
<dd><%= post_replacement.md5_was %></dd>
|
<dd><%= post_replacement.old_md5 %></dd>
|
||||||
|
|
||||||
<dt>Replacement MD5</dt>
|
<dt>Replacement MD5</dt>
|
||||||
<dd><%= post_replacement.md5 %></dd>
|
<dd><%= post_replacement.md5 %></dd>
|
||||||
@@ -40,12 +40,12 @@
|
|||||||
<% end %>
|
<% end %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% t.column "Size" do |post_replacement| %>
|
<% t.column "Size" do |post_replacement| %>
|
||||||
<% if %i[image_width_was image_height_was file_size_was file_ext_was image_width image_height file_size file_ext].all? { |k| post_replacement[k].present? } %>
|
<% if %i[old_image_width old_image_height old_file_size old_file_ext image_width image_height file_size file_ext].all? { |k| post_replacement[k].present? } %>
|
||||||
<dl>
|
<dl>
|
||||||
<dt>Original Size</dt>
|
<dt>Original Size</dt>
|
||||||
<dd>
|
<dd>
|
||||||
<%= post_replacement.image_width_was %>x<%= post_replacement.image_height_was %>
|
<%= post_replacement.old_image_width %>x<%= post_replacement.old_image_height %>
|
||||||
(<%= post_replacement.file_size_was.to_s(:human_size, precision: 4) %>, <%= post_replacement.file_ext_was %>)
|
(<%= post_replacement.old_file_size.to_s(:human_size, precision: 4) %>, <%= post_replacement.old_file_ext %>)
|
||||||
</dd>
|
</dd>
|
||||||
|
|
||||||
<dt>Replacement Size</dt>
|
<dt>Replacement Size</dt>
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
class RenamePostReplacementAttributes < ActiveRecord::Migration[6.1]
|
||||||
|
def change
|
||||||
|
rename_column :post_replacements, :file_ext_was, :old_file_ext
|
||||||
|
rename_column :post_replacements, :file_size_was, :old_file_size
|
||||||
|
rename_column :post_replacements, :image_width_was, :old_image_width
|
||||||
|
rename_column :post_replacements, :image_height_was, :old_image_height
|
||||||
|
rename_column :post_replacements, :md5_was, :old_md5
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -2736,11 +2736,11 @@ CREATE TABLE public.post_replacements (
|
|||||||
replacement_url text NOT NULL,
|
replacement_url text NOT NULL,
|
||||||
created_at timestamp without time zone NOT NULL,
|
created_at timestamp without time zone NOT NULL,
|
||||||
updated_at timestamp without time zone NOT NULL,
|
updated_at timestamp without time zone NOT NULL,
|
||||||
file_ext_was character varying,
|
old_file_ext character varying,
|
||||||
file_size_was integer,
|
old_file_size integer,
|
||||||
image_width_was integer,
|
old_image_width integer,
|
||||||
image_height_was integer,
|
old_image_height integer,
|
||||||
md5_was character varying,
|
old_md5 character varying,
|
||||||
file_ext character varying,
|
file_ext character varying,
|
||||||
file_size integer,
|
file_size integer,
|
||||||
image_width integer,
|
image_width integer,
|
||||||
@@ -7436,6 +7436,7 @@ INSERT INTO "schema_migrations" (version) VALUES
|
|||||||
('20200803022359'),
|
('20200803022359'),
|
||||||
('20200816175151'),
|
('20200816175151'),
|
||||||
('20201201211748'),
|
('20201201211748'),
|
||||||
('20201213052805');
|
('20201213052805'),
|
||||||
|
('20201219201007');
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -47,14 +47,14 @@ class PostReplacementsControllerTest < ActionDispatch::IntegrationTest
|
|||||||
format: :json,
|
format: :json,
|
||||||
id: @post_replacement.id,
|
id: @post_replacement.id,
|
||||||
post_replacement: {
|
post_replacement: {
|
||||||
file_size_was: 23,
|
old_file_size: 23,
|
||||||
file_size: 42
|
file_size: 42
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
put_auth post_replacement_path(@post_replacement), @mod, params: params
|
put_auth post_replacement_path(@post_replacement), @mod, params: params
|
||||||
assert_response :success
|
assert_response :success
|
||||||
assert_equal(23, @post_replacement.reload.file_size_was)
|
assert_equal(23, @post_replacement.reload.old_file_size)
|
||||||
assert_equal(42, @post_replacement.file_size)
|
assert_equal(42, @post_replacement.file_size)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -287,11 +287,11 @@ class UploadServiceTest < ActiveSupport::TestCase
|
|||||||
|
|
||||||
should "preserve the old values" do
|
should "preserve the old values" do
|
||||||
as(@user) { subject.process! }
|
as(@user) { subject.process! }
|
||||||
assert_equal(1500, @replacement.image_width_was)
|
assert_equal(1500, @replacement.old_image_width)
|
||||||
assert_equal(1000, @replacement.image_height_was)
|
assert_equal(1000, @replacement.old_image_height)
|
||||||
assert_equal(2000, @replacement.file_size_was)
|
assert_equal(2000, @replacement.old_file_size)
|
||||||
assert_equal("jpg", @replacement.file_ext_was)
|
assert_equal("jpg", @replacement.old_file_ext)
|
||||||
assert_equal(@old_md5, @replacement.md5_was)
|
assert_equal(@old_md5, @replacement.old_md5)
|
||||||
end
|
end
|
||||||
|
|
||||||
should "record the new values" do
|
should "record the new values" do
|
||||||
|
|||||||
Reference in New Issue
Block a user