Skip to content
Prev Previous commit
Next Next commit
refactoring to please rubocop
  • Loading branch information
loiswells97 committed Jul 9, 2025
commit 29057de03d5c00a306947750141d16401c926e9c
23 changes: 14 additions & 9 deletions lib/concepts/project/operations/create_remix.rb
Original file line number Diff line number Diff line change
Expand Up @@ -33,16 +33,13 @@ def remix_project(response, params, user_id, original_project, remix_origin)
def create_remix(original_project, params, user_id, remix_origin)
remix = format_project(original_project, params, user_id, remix_origin)

original_project.images.each do |image|
remix.images.attach(image.blob)
end
params[:image_list].each do |image|
remix.images.attach(io: StringIO.new(Base64.decode64(image[:content])), filename: image[:filename]) if image[:content].present?
end

original_project.images.each do |image|
existing_image = remix.images.find { |img| img.filename.to_s == image.filename.to_s }
remix.images.attach(image.blob) unless existing_image
if image[:content].present?
remix.images.attach(io: extract_image_io(image), filename: image[:filename])
else
existing_image = find_existing_image(image, original_project)
remix.images.attach(existing_image.blob) if existing_image
end
end

original_project.videos.each do |video|
Expand Down Expand Up @@ -71,6 +68,14 @@ def format_project(original_project, params, user_id, remix_origin)
proj.lesson_id = nil # Only the original can have a lesson id
end
end

def extract_image_io(image)
StringIO.new(Base64.decode64(image[:content]))
end

def find_existing_image(image, original_project)
original_project.images.find { |img| img.filename.to_s == image[:filename].to_s }
end
end
end
end