Skip to content

Commit 87916d2

Browse files
committed
Convert tabs to spaces for rubocop
1 parent a1cf1c0 commit 87916d2

File tree

7 files changed

+203
-146
lines changed

7 files changed

+203
-146
lines changed

app/controllers/image_migration_audit_controller.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,9 @@ def index
3636
paperclip: [ :file ]
3737
) if models_to_audit.empty? || models_to_audit.include?("attachment")
3838

39-
audit(Media,
40-
as: [ :file ],
41-
paperclip: [ :file ]
39+
audit(Image,
40+
as: [ :file ],
41+
paperclip: [ :file ]
4242
) if models_to_audit.empty? || models_to_audit.include?("image")
4343

4444
audit(MediaFile,

app/views/workshops/index.html.erb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
<div class="space-y-4 animate-pulse">
5252
<% 3.times do %>
5353
<div class="flex flex-col sm:flex-row border-b border-gray-200 bg-white gap-4 p-4">
54-
<!-- 1️⃣ Media skeleton -->
54+
<!-- Skeleton -->
5555
<div class="flex-shrink-0 w-full sm:w-32 h-32 sm:h-24 bg-gray-200 rounded"></div>
5656

5757
<!-- Content -->

lib/tasks/assets.rake

Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
namespace :assets do
2+
desc "Copy ActiveStorage attachments from Image records to Asset records (reuses blobs)"
3+
task copy_images_to_assets: :environment do
4+
puts "Starting Image → Asset ActiveStorage copy…"
5+
6+
total = Image.count
7+
processed = 0
8+
skipped = 0
9+
created = 0
10+
11+
Image.includes(file_attachment: :blob).find_each(batch_size: 100) do |image|
12+
processed += 1
13+
14+
unless image.file.attached?
15+
skipped += 1
16+
next
17+
end
18+
19+
asset = Asset.create!(
20+
owner: image.owner,
21+
type: map_image_type(image.type)
22+
)
23+
24+
asset.file.attach(image.file.blob)
25+
created += 1
26+
27+
if (processed % 500).zero?
28+
puts "Processed #{processed}/#{total} images…"
29+
end
30+
rescue => e
31+
puts "❌ Failed on Image##{image.id}: #{e.class}#{e.message}"
32+
end
33+
puts "Images processed: #{processed}"
34+
puts "Assets created: #{created}"
35+
puts "Images skipped: #{skipped}"
36+
37+
puts "Done."
38+
end
39+
40+
task copy_attachments_to_assets: :environment do
41+
puts "Starting Attachment → Asset ActiveStorage copy…"
42+
43+
total = Attachment.count
44+
processed = 0
45+
skipped = 0
46+
created = 0
47+
48+
Attachment.includes(file_attachment: :blob).find_each(batch_size: 100) do |attachment|
49+
processed += 1
50+
51+
unless attachment.file.attached?
52+
skipped += 1
53+
next
54+
end
55+
56+
asset = Asset.create!(
57+
owner: attachment.owner,
58+
type: "SecondaryAsset"
59+
)
60+
61+
asset.file.attach(attachment.file.blob)
62+
created += 1
63+
64+
if (processed % 500).zero?
65+
puts "Processed #{processed}/#{total} attachments…"
66+
end
67+
rescue => e
68+
puts "❌ Failed on Attachment##{attachment.id}: #{e.class}#{e.message}"
69+
end
70+
71+
puts "Attachments processed: #{processed}"
72+
puts "Assets created: #{created}"
73+
puts "Attachments skipped: #{skipped}"
74+
75+
puts "Done."
76+
end
77+
78+
79+
task copy_media_files_to_assets: :environment do
80+
puts "Starting MediaFile → Asset ActiveStorage copy…"
81+
82+
total = MediaFile.count
83+
processed = 0
84+
skipped = 0
85+
created = 0
86+
87+
MediaFile.includes(file_attachment: :blob).find_each(batch_size: 100) do |media_file|
88+
processed += 1
89+
90+
unless media_file.file.attached?
91+
skipped += 1
92+
next
93+
end
94+
95+
if media_file.workshop_log_id
96+
owner = media_file.workshop_log
97+
elsif media_file.report_id
98+
owner = media_file.report
99+
end
100+
101+
asset = Asset.create!(
102+
owner: owner,
103+
type: "SecondaryAsset"
104+
)
105+
106+
asset.file.attach(media_file.file.blob)
107+
created += 1
108+
109+
if (processed % 500).zero?
110+
puts "Processed #{processed}/#{total} media_files…"
111+
end
112+
rescue => e
113+
puts "❌ Failed on MediaFile##{media_file.id}: #{e.class}#{e.message}"
114+
end
115+
116+
puts "MediaFiles processed: #{processed}"
117+
puts "Assets created: #{created}"
118+
puts "MediaFiles skipped: #{skipped}"
119+
120+
puts "Done."
121+
end
122+
123+
# ----------------------------
124+
# Helpers
125+
# ----------------------------
126+
def map_image_type(image_type)
127+
{
128+
"MainImage" => "PrimaryAsset",
129+
"GalleryImage" => "SecondaryAsset",
130+
"SquareImage" => "SquareAsset",
131+
"Square" => "SquareAsset",
132+
"RichText" => "RichTextAsset",
133+
"Images::MainImage" => "PrimaryAsset",
134+
"Images::GalleryImage" => "SecondaryAsset",
135+
"Images::SquareImage" => "SquareAsset",
136+
"Images::RichText" => "RichTextAsset"
137+
}.fetch(image_type, "Asset")
138+
end
139+
end

lib/tasks/attachment_report.rake

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@ namespace :attachment_report do
88

99
def run_attachment_report(start_id: nil, finish_id: nil)
1010
models = [
11-
Address, AgeRange, AnswerOption, Attachment, Banner, Bookmark,
12-
Category, CategorizableItem, CommunityNews, EventRegistration, Event,
13-
Facilitator, Faq, FormBuilder, FormFieldAnswerOption, FormField, Form,
14-
Media, Location, MediaFile, CategoryType, MonthlyReport, Notification,
15-
ProjectObligation, ProjectStatus, ProjectUser, Project,
16-
QuotableItemQuote, Quote, ReportFormFieldAnswer, Report, Resource,
17-
SectorableItem, Sector, Story, StoryIdea, UserFormFormField, UserForm,
18-
User, WindowsType, WorkshopAgeRange, WorkshopIdea, WorkshopLog,
19-
WorkshopResource, WorkshopSeriesMembership, WorkshopVariation, Workshop
11+
Address, AgeRange, AnswerOption, Attachment, Banner, Bookmark,
12+
Category, CategorizableItem, CommunityNews, EventRegistration, Event,
13+
Facilitator, Faq, FormBuilder, FormFieldAnswerOption, FormField, Form,
14+
Media, Location, MediaFile, CategoryType, MonthlyReport, Notification,
15+
ProjectObligation, ProjectStatus, ProjectUser, Project,
16+
QuotableItemQuote, Quote, ReportFormFieldAnswer, Report, Resource,
17+
SectorableItem, Sector, Story, StoryIdea, UserFormFormField, UserForm,
18+
User, WindowsType, WorkshopAgeRange, WorkshopIdea, WorkshopLog,
19+
WorkshopResource, WorkshopSeriesMembership, WorkshopVariation, Workshop
2020
]
2121

2222
timestamp = Time.now.strftime("%Y%m%d_%H%M%S")

lib/tasks/media.rake

Lines changed: 0 additions & 82 deletions
This file was deleted.

lib/tasks/paperclip_to_active_storage.rake

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@ CSV_PATH = Rails.root.join("tmp/migration_log.csv")
88
namespace :paperclip_to_active_storage do
99
def migration_map
1010
{
11-
User => [ :avatar ],
12-
Attachment => [ :file ],
13-
MediaFile => [ :file ],
14-
Media => [:file ],
15-
Workshop => [ :thumbnail, :header ],
16-
Report => [ :form_file ]
11+
User => [ :avatar ],
12+
Attachment => [ :file ],
13+
Image => [ :file ],
14+
MediaFile => [ :file ],
15+
Workshop => [ :thumbnail, :header ],
16+
Report => [ :form_file ]
1717
}
1818
end
1919

lib/tasks/rich_text_urls_update.rake

Lines changed: 45 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -30,51 +30,51 @@ namespace :rich_text_urls_update do
3030

3131
def run_update(dry_run:, html_attr:, start_id: nil, finish_id: nil)
3232
models = [
33-
Address,
34-
AnswerOption,
35-
Attachment,
36-
Banner,
37-
Bookmark,
38-
Category,
39-
CategorizableItem,
40-
CommunityNews,
41-
EventRegistration,
42-
Event,
43-
Facilitator,
44-
Faq,
45-
FormBuilder,
46-
FormFieldAnswerOption,
47-
FormField,
48-
Form,
49-
Media,
50-
Location,
51-
MediaFile,
52-
CategoryType,
53-
MonthlyReport,
54-
Notification,
55-
ProjectObligation,
56-
ProjectStatus,
57-
ProjectUser,
58-
Project,
59-
QuotableItemQuote,
60-
Quote,
61-
ReportFormFieldAnswer,
62-
Report,
63-
Resource,
64-
SectorableItem,
65-
Sector,
66-
Story,
67-
StoryIdea,
68-
UserFormFormField,
69-
UserForm,
70-
User,
71-
WindowsType,
72-
WorkshopIdea,
73-
WorkshopLog,
74-
WorkshopResource,
75-
WorkshopSeriesMembership,
76-
WorkshopVariation,
77-
Workshop
33+
Address,
34+
AnswerOption,
35+
Attachment,
36+
Banner,
37+
Bookmark,
38+
Category,
39+
CategorizableItem,
40+
CommunityNews,
41+
EventRegistration,
42+
Event,
43+
Facilitator,
44+
Faq,
45+
FormBuilder,
46+
FormFieldAnswerOption,
47+
FormField,
48+
Form,
49+
Media,
50+
Location,
51+
MediaFile,
52+
CategoryType,
53+
MonthlyReport,
54+
Notification,
55+
ProjectObligation,
56+
ProjectStatus,
57+
ProjectUser,
58+
Project,
59+
QuotableItemQuote,
60+
Quote,
61+
ReportFormFieldAnswer,
62+
Report,
63+
Resource,
64+
SectorableItem,
65+
Sector,
66+
Story,
67+
StoryIdea,
68+
UserFormFormField,
69+
UserForm,
70+
User,
71+
WindowsType,
72+
WorkshopIdea,
73+
WorkshopLog,
74+
WorkshopResource,
75+
WorkshopSeriesMembership,
76+
WorkshopVariation,
77+
Workshop
7878
]
7979

8080
timestamp = Time.now.strftime("%Y%m%d_%H%M%S")

0 commit comments

Comments
 (0)