Sha256: 8fd10d6486f130df020bfe66cb1636602245c6e54d0c3279735ffa2bd3d7efd2

Contents?: true

Size: 1.36 KB

Versions: 32

Compression:

Stored size: 1.36 KB

Contents

class Pulitzer::UpdatePostTypeContentElements
  attr_accessor :post_type_version, :ptcet, :old_label

  def initialize(ptcet, old_label=nil)
    self.post_type_version  = ptcet.post_type_version
    self.ptcet      = ptcet
    self.old_label  = old_label || ptcet.label
  end

  def call
    post_type_version.posts.each do |post|
      begin
        preview_version = post.get_preview_version!
        post.preview_version.content_elements.where(label: old_label).each do |content_element|
          content_element.update(label: ptcet.label,
            height: ptcet.height,
            width: ptcet.width,
            text_editor: ptcet.text_editor,
            content_element_type: ptcet.content_element_type,
            post_type_content_element_type: ptcet)
        end
      rescue Pulitzer::VersionAccessError
        # if there is no preview version, skip this one.
      end
    end
    post_type_version.partials.joins(free_form_section: :version).where(pulitzer_versions: {status: 0}).each do |partial|
      partial.content_elements.where(label: old_label).each do |content_element|
        content_element.update(label: ptcet.label,
          height: ptcet.height,
          width: ptcet.width,
          text_editor: ptcet.text_editor,
          content_element_type: ptcet.content_element_type,
          post_type_content_element_type: ptcet)
      end
    end
  end
end

Version data entries

32 entries across 32 versions & 1 rubygems

Version Path
pulitzer-0.15.31 app/interactions/pulitzer/update_post_type_content_elements.rb
pulitzer-0.15.30 app/interactions/pulitzer/update_post_type_content_elements.rb
pulitzer-0.15.29 app/interactions/pulitzer/update_post_type_content_elements.rb
pulitzer-0.15.28 app/interactions/pulitzer/update_post_type_content_elements.rb
pulitzer-0.15.27 app/interactions/pulitzer/update_post_type_content_elements.rb
pulitzer-0.15.26 app/interactions/pulitzer/update_post_type_content_elements.rb
pulitzer-0.15.25 app/interactions/pulitzer/update_post_type_content_elements.rb
pulitzer-0.15.24 app/interactions/pulitzer/update_post_type_content_elements.rb
pulitzer-0.15.23 app/interactions/pulitzer/update_post_type_content_elements.rb
pulitzer-0.15.22 app/interactions/pulitzer/update_post_type_content_elements.rb
pulitzer-0.15.21 app/interactions/pulitzer/update_post_type_content_elements.rb
pulitzer-0.15.20 app/interactions/pulitzer/update_post_type_content_elements.rb
pulitzer-0.15.19 app/interactions/pulitzer/update_post_type_content_elements.rb
pulitzer-0.15.18 app/interactions/pulitzer/update_post_type_content_elements.rb
pulitzer-0.15.17 app/interactions/pulitzer/update_post_type_content_elements.rb
pulitzer-0.15.16 app/interactions/pulitzer/update_post_type_content_elements.rb
pulitzer-0.15.15 app/interactions/pulitzer/update_post_type_content_elements.rb
pulitzer-0.15.14 app/interactions/pulitzer/update_post_type_content_elements.rb
pulitzer-0.15.13 app/interactions/pulitzer/update_post_type_content_elements.rb
pulitzer-0.15.12 app/interactions/pulitzer/update_post_type_content_elements.rb