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