Sha256: b70699c70fc608543dfade57c29bbc718f201a0c6be729e061ca734ddc3c112b

Contents?: true

Size: 609 Bytes

Versions: 78

Compression:

Stored size: 609 Bytes

Contents

# frozen_string_literal: true

module Spotlight
  ##
  # A service class to encapsulate business logic
  # around cloning and destroying translated pages
  class CloneTranslatedPageFromLocale
    attr_reader :locale, :page

    def initialize(locale:, page:)
      @locale = locale
      @page = page
    end

    def self.call(locale:, page:)
      new(locale: locale, page: page).clone
    end

    def clone
      destroy
      page.clone_for_locale(locale)
    end

    private

    def destroy
      page.translated_page_for(locale).destroy if page.translated_page_for(locale).present?
    end
  end
end

Version data entries

78 entries across 78 versions & 1 rubygems

Version Path
blacklight-spotlight-4.2.0 app/services/spotlight/clone_translated_page_from_locale.rb
blacklight-spotlight-4.1.2 app/services/spotlight/clone_translated_page_from_locale.rb
blacklight-spotlight-4.1.1 app/services/spotlight/clone_translated_page_from_locale.rb
blacklight-spotlight-4.1.0 app/services/spotlight/clone_translated_page_from_locale.rb
blacklight-spotlight-4.0.3 app/services/spotlight/clone_translated_page_from_locale.rb
blacklight-spotlight-4.0.2 app/services/spotlight/clone_translated_page_from_locale.rb
blacklight-spotlight-4.0.1 app/services/spotlight/clone_translated_page_from_locale.rb
blacklight-spotlight-4.0.0 app/services/spotlight/clone_translated_page_from_locale.rb
blacklight-spotlight-3.6.0.beta10 app/services/spotlight/clone_translated_page_from_locale.rb
blacklight-spotlight-3.6.0.beta9 app/services/spotlight/clone_translated_page_from_locale.rb
blacklight-spotlight-3.6.0.beta8 app/services/spotlight/clone_translated_page_from_locale.rb
blacklight-spotlight-3.5.0.4 app/services/spotlight/clone_translated_page_from_locale.rb
blacklight-spotlight-3.6.0.beta7 app/services/spotlight/clone_translated_page_from_locale.rb
blacklight-spotlight-3.5.0.3 app/services/spotlight/clone_translated_page_from_locale.rb
blacklight-spotlight-3.6.0.beta6 app/services/spotlight/clone_translated_page_from_locale.rb
blacklight-spotlight-3.6.0.beta5 app/services/spotlight/clone_translated_page_from_locale.rb
blacklight-spotlight-3.6.0.beta4 app/services/spotlight/clone_translated_page_from_locale.rb
blacklight-spotlight-3.6.0.beta3 app/services/spotlight/clone_translated_page_from_locale.rb
blacklight-spotlight-3.6.0.beta1 app/services/spotlight/clone_translated_page_from_locale.rb
blacklight-spotlight-3.5.0.2 app/services/spotlight/clone_translated_page_from_locale.rb