Sha256: 7c46813db4682d87faf990ab108e9ad8d0d0432f2294fa355369eb0afa6b6e0a

Contents?: true

Size: 1.11 KB

Versions: 10

Compression:

Stored size: 1.11 KB

Contents

# frozen_string_literal: true

class FixesBuggyArticlesAndNotes < ActiveRecord::Migration[4.2]
  set_role "blog_content"

  class Content < ActiveRecord::Base
  end

  class Article < Content
    def set_permalink
      return if state == "draft" || permalink.present?

      self.permalink = title.to_permalink
    end
  end

  class Note < Content
    def set_permalink
      self.permalink = "#{id}-#{body.to_permalink[0..79]}" if permalink.blank?
      save
    end

    def create_guid
      return true if guid.present?

      self.guid = UUIDTools::UUID.random_create.to_s
    end
  end

  class Page < Content
    def set_permalink
      self.name = title.to_permalink if name.blank?
    end
  end

  def self.up
    say "Fixing contents permalinks, this may take some time"

    contents = Content.where("permalink is ? or permalink = ?", nil, "")
    contents.each do |c|
      c.set_permalink
      c.save
    end

    say "Fixes empty notes GUID"
    notes = Note.where("guid is ? or guid = ?", nil, "")
    notes.each do |n|
      n.create_guid
      n.save
    end
  end

  def self.down
    say "Nothing to do here"
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
HornsAndHooves-publify_core-10.5.0 db/migrate/114_fixes_buggy_articles_and_notes.rb
HornsAndHooves-publify_core-10.4.0 db/migrate/114_fixes_buggy_articles_and_notes.rb
HornsAndHooves-publify_core-10.3.0 db/migrate/114_fixes_buggy_articles_and_notes.rb
HornsAndHooves-publify_core-10.2.0 db/migrate/114_fixes_buggy_articles_and_notes.rb
HornsAndHooves-publify_core-10.1.1 db/migrate/114_fixes_buggy_articles_and_notes.rb
HornsAndHooves-publify_core-10.1.0 db/migrate/114_fixes_buggy_articles_and_notes.rb
HornsAndHooves-publify_core-10.0.3 db/migrate/114_fixes_buggy_articles_and_notes.rb
HornsAndHooves-publify_core-10.0.2 db/migrate/114_fixes_buggy_articles_and_notes.rb
HornsAndHooves-publify_core-10.0.1 db/migrate/114_fixes_buggy_articles_and_notes.rb
HornsAndHooves-publify_core-10.0.0 db/migrate/114_fixes_buggy_articles_and_notes.rb