class Maglev::PublishSiteCommand
def self.banner(_command = nil, *)
def self.banner(_command = nil, *) 'bin/rails maglev:publish_site' end
def fetch_pages
def fetch_pages Maglev::Page.all end
def fetch_site
def fetch_site Maglev::Site.first.tap do |site| say("[Error] You don't seem to have an existing site. 🤔", :red) unless site end end
def perform
def perform require File.expand_path('config/environment') site = fetch_site return if site.blank? publish_pages(site) say '🎉 All the pages of the site have been published with success!' end
def publish_pages(site)
def publish_pages(site) fetch_pages.find_each do |page| Maglev::PublishService.call( site: site, page: page ) end end