class ContentfulMigrations::Migration

Attributes

contentful_client[R]
contentful_space[R]
name[R]
version[R]

Public Class Methods

new(name = self.class.name, version = nil, client = nil, space = nil) click to toggle source
# File lib/contentful_migrations/migration.rb, line 5
def initialize(name = self.class.name, version = nil, client = nil, space = nil)
  @name       = name
  @version    = version
  @contentful_client = client
  @contentful_space = space
end

Public Instance Methods

erase_migration(migration_content_type) click to toggle source
# File lib/contentful_migrations/migration.rb, line 34
def erase_migration(migration_content_type)
  entry = migration_content_type.entries.all.find { |m| m.version.to_i == version.to_i }
  return unless entry
  entry.unpublish
  entry.destroy
  entry
end
migrate(direction, client, space) click to toggle source
# File lib/contentful_migrations/migration.rb, line 12
def migrate(direction, client, space)
  @contentful_client = client
  @contentful_space = space
  send(direction)
  self
end
record_migration(migration_content_type) click to toggle source
# File lib/contentful_migrations/migration.rb, line 27
def record_migration(migration_content_type)
  entry = migration_content_type.entries.create(version: version)
  entry.save
  entry.publish
  entry
end
with_editor_interfaces() { |editor_interfaces| ... } click to toggle source
# File lib/contentful_migrations/migration.rb, line 23
def with_editor_interfaces
  yield(contentful_client.editor_interfaces)
end
with_space() { |contentful_space| ... } click to toggle source
# File lib/contentful_migrations/migration.rb, line 19
def with_space
  yield(contentful_space)
end