Sha256: f7da0ec5f86d3378fd301d03c24ebe3651d3e255cfd2406d5c7713c0fc9c44aa

Contents?: true

Size: 755 Bytes

Versions: 25

Compression:

Stored size: 755 Bytes

Contents

# frozen_string_literal: true

module Maglev
  # Generate site and its pages in the locales defined by the config file.
  class GenerateSite
    include Injectable

    dependency(:config) { Maglev.config }
    dependency :setup_pages, class: Maglev::SetupPages

    argument :theme

    def call
      raise 'A Maglev Site already exists' if Maglev::Site.first

      Maglev::Site.transaction do
        Maglev::Site.create(name: 'Default', locales: config.default_site_locales).tap do |site|
          Maglev::I18n.available_locales = site.locale_prefixes
          Maglev::I18n.with_locale(site.default_locale_prefix) do
            setup_pages.call(site: site, theme: theme) if site.errors.empty?
          end
        end
      end
    end
  end
end

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
maglevcms-1.8.0 app/services/maglev/generate_site.rb
maglevcms-1.7.3 app/services/maglev/generate_site.rb
maglevcms-1.7.2 app/services/maglev/generate_site.rb
maglevcms-1.7.1 app/services/maglev/generate_site.rb
maglevcms-1.7.0 app/services/maglev/generate_site.rb
maglevcms-1.6.1 app/services/maglev/generate_site.rb
maglevcms-1.6.0 app/services/maglev/generate_site.rb
maglevcms-1.5.1 app/services/maglev/generate_site.rb
maglevcms-1.4.0 app/services/maglev/generate_site.rb
maglevcms-1.3.0 app/services/maglev/generate_site.rb
maglevcms-1.2.2 app/services/maglev/generate_site.rb
maglevcms-1.2.1 app/services/maglev/generate_site.rb
maglevcms-1.2.0 app/services/maglev/generate_site.rb
maglevcms-1.1.7 app/services/maglev/generate_site.rb
maglevcms-1.1.6 app/services/maglev/generate_site.rb
maglevcms-1.1.5 app/services/maglev/generate_site.rb
maglevcms-1.1.4 app/services/maglev/generate_site.rb
maglevcms-1.1.3 app/services/maglev/generate_site.rb
maglevcms-1.1.2 app/services/maglev/generate_site.rb
maglevcms-1.1.1 app/services/maglev/generate_site.rb