about summary refs log tree commit diff
path: root/lib/tasks
diff options
context:
space:
mode:
Diffstat (limited to 'lib/tasks')
-rw-r--r--lib/tasks/assets.rake16
-rw-r--r--lib/tasks/glitchsoc.rake12
2 files changed, 23 insertions, 5 deletions
diff --git a/lib/tasks/assets.rake b/lib/tasks/assets.rake
index 1d2270572..76e190f70 100644
--- a/lib/tasks/assets.rake
+++ b/lib/tasks/assets.rake
@@ -1,13 +1,19 @@
 # frozen_string_literal: true
 
-def render_static_page(action, dest:, **opts)
-  html = ApplicationController.render(action, opts)
-  File.write(dest, html)
-end
-
 namespace :assets do
   desc 'Generate static pages'
   task generate_static_pages: :environment do
+    def render_static_page(action, dest:, **opts)
+      renderer = Class.new(ApplicationController) do
+        def current_user
+          nil
+        end
+      end
+
+      html = renderer.render(action, opts)
+      File.write(dest, html)
+    end
+
     render_static_page 'errors/500', layout: 'error', dest: Rails.public_path.join('assets', '500.html')
   end
 end
diff --git a/lib/tasks/glitchsoc.rake b/lib/tasks/glitchsoc.rake
new file mode 100644
index 000000000..72558fa19
--- /dev/null
+++ b/lib/tasks/glitchsoc.rake
@@ -0,0 +1,12 @@
+# frozen_string_literal: true
+
+namespace :glitchsoc do
+  desc 'Backfill local-only flag on statuses table'
+  task backfill_local_only: :environment do
+    Status.local.where(local_only: nil).find_each do |status|
+      ActiveRecord::Base.logger.silence do
+        status.update_attribute(:local_only, status.marked_local_only?) # rubocop:disable Rails/SkipsModelValidations
+      end
+    end
+  end
+end