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