Sha256: d446d55057eaaadbe93a3baae4d4b4f0d8c8144e5b8935507bb5a0d491cdbf48

Contents?: true

Size: 1.11 KB

Versions: 24

Compression:

Stored size: 1.11 KB

Contents

require 'bare_migration'
class FixupForthcomingPublications < ActiveRecord::Migration
  class Trigger < ActiveRecord::Base
    belongs_to :pending_item, :polymorphic => true
  end

  class Content < ActiveRecord::Base
  end

  class Article < Content
  end

  def self.up
    return if $schema_generator
    Article.transaction do
      Trigger.transaction do
        Article.find(:all, :conditions => ['published = ? AND published_at > ?',
                                           true, Time.now]).each do |art|
          Trigger.create!(:pending_item   => art,
                          :due_at         => art.published_at,
                          :trigger_method => 'publish!')
          art.update_attribute(:published, false)
        end
      end
    end
  end

  def self.down
    return if $schema_generator
    Article.transaction do
      Trigger.transaction do
        Trigger.find(:all,
                     :conditions => "pending_item_type = 'Article' AND trigger_method = 'publish!'").each do |t|
          t.pending_item.update_attribute(:published, :true)
          t.destroy
        end
      end
    end
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
typo-5.5 db/migrate/046_fixup_forthcoming_publications.rb
typo-5.4.4 db/migrate/046_fixup_forthcoming_publications.rb
typo-5.4.3 db/migrate/046_fixup_forthcoming_publications.rb
typo-5.4.2 db/migrate/046_fixup_forthcoming_publications.rb
typo-5.4.1 db/migrate/046_fixup_forthcoming_publications.rb
typo-5.4 db/migrate/046_fixup_forthcoming_publications.rb
typo-4.0.2 db/migrate/046_fixup_forthcoming_publications.rb
typo-4.0.1 db/migrate/046_fixup_forthcoming_publications.rb
typo-4.0.3 db/migrate/046_fixup_forthcoming_publications.rb
typo-4.1.1 db/migrate/046_fixup_forthcoming_publications.rb
typo-5.0.2 db/migrate/046_fixup_forthcoming_publications.rb
typo-4.1 db/migrate/046_fixup_forthcoming_publications.rb
typo-5.0.1 db/migrate/046_fixup_forthcoming_publications.rb
typo-5.0.3.98.1 db/migrate/046_fixup_forthcoming_publications.rb
typo-5.0 db/migrate/046_fixup_forthcoming_publications.rb
typo-5.0.3.98 db/migrate/046_fixup_forthcoming_publications.rb
typo-5.1.2 db/migrate/046_fixup_forthcoming_publications.rb
typo-5.1.1 db/migrate/046_fixup_forthcoming_publications.rb
typo-5.1.3 db/migrate/046_fixup_forthcoming_publications.rb
typo-5.1.98 db/migrate/046_fixup_forthcoming_publications.rb