class Dbsketch::Comparison::ComputedColumnComparator

Public Class Methods

new(options: {}) click to toggle source
# File lib/dbsketch/comparison/computed_column_comparator.rb, line 36
def initialize options: {}
        @options = { :compare_order => true }.merge options
end

Public Instance Methods

are_equivalent?(old_column, new_column) click to toggle source
# File lib/dbsketch/comparison/computed_column_comparator.rb, line 40
def are_equivalent? old_column, new_column
        ### Preconditions
        raise ArgumentError, "old_column is not a Dbsketch::Model::ComputedColumn" unless nil == old_column or old_column.is_a? Dbsketch::Model::ComputedColumn
        raise ArgumentError, "new_column is not a Dbsketch::Model::ComputedColumn" unless nil == new_column or new_column.is_a? Dbsketch::Model::ComputedColumn
        ###
        (nil != old_column and nil != new_column) and
                old_column.query == new_column.query and
                old_column.nullable == new_column.nullable and
                old_column.persisted == new_column.persisted and
                (not @options[:compare_order] or old_column.order == new_column.order)
end
compare(old_column, new_column) click to toggle source
# File lib/dbsketch/comparison/computed_column_comparator.rb, line 52
def compare old_column, new_column
        ### Preconditions
        raise ArgumentError, "old_column is not a Dbsketch::Model::ComputedColumn" unless nil == old_column or old_column.is_a? Dbsketch::Model::ComputedColumn
        raise ArgumentError, "new_column is not a Dbsketch::Model::ComputedColumn" unless nil == new_column or new_column.is_a? Dbsketch::Model::ComputedColumn
        ###
        ComputedColumnDiff.new(old_column, new_column, @options) if not are_equivalent? old_column, new_column
end