Sha256: 34bb9ce7f7cac4b32b98232f54070a02d6a91b5c6a9a02a5edc9afe321d3a362

Contents?: true

Size: 1005 Bytes

Versions: 22

Compression:

Stored size: 1005 Bytes

Contents

# Copyright (c) 2011 - 2013, SoundCloud Ltd., Rany Keddo, Tobias Bielohlawek, Tobias
# Schmidt

require 'lhm/intersection'
require 'lhm/timestamp'

module Lhm
  class Migration
    attr_reader :origin, :destination, :conditions, :renames

    def initialize(origin, destination, conditions = nil, renames = {}, time = Time.now)
      @origin = origin
      @destination = destination
      @conditions = conditions
      @renames = renames
      @table_name = TableName.new(@origin.name, time)
    end

    def archive_name
      @archive_name ||= @table_name.archived
    end

    def intersection
      Intersection.new(@origin, @destination, @renames)
    end

    def origin_name
      @table_name.original
    end

    def origin_columns
      @origin_columns ||= intersection.origin.typed(origin_name)
    end

    def destination_name
      @destination_name ||= destination.name
    end

    def destination_columns
      @destination_columns ||= intersection.destination.joined
    end
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
lhm-shopify-4.4.2 lib/lhm/migration.rb
lhm-shopify-4.4.1 lib/lhm/migration.rb
lhm-shopify-4.4.0 lib/lhm/migration.rb
lhm-shopify-4.3.0 lib/lhm/migration.rb
lhm-shopify-4.2.3 lib/lhm/migration.rb
lhm-shopify-4.2.2 lib/lhm/migration.rb
lhm-shopify-4.2.1 lib/lhm/migration.rb
lhm-shopify-4.2.0 lib/lhm/migration.rb
lhm-shopify-4.1.1 lib/lhm/migration.rb
lhm-shopify-4.1.0 lib/lhm/migration.rb
lhm-shopify-4.0.0 lib/lhm/migration.rb
lhm-shopify-3.5.5 lib/lhm/migration.rb
lhm-shopify-3.5.4 lib/lhm/migration.rb
lhm-shopify-3.5.3 lib/lhm/migration.rb
lhm-shopify-3.5.2 lib/lhm/migration.rb
lhm-shopify-3.5.0 lib/lhm/migration.rb
lhm-shopify-3.5.1 lib/lhm/migration.rb
lhm-shopify-3.4.2 lib/lhm/migration.rb
lhm-shopify-3.4.1 lib/lhm/migration.rb
lhm-shopify-3.4.0 lib/lhm/migration.rb