class Nandi::Validation::AddColumnValidator

Attributes

instruction[R]

Public Class Methods

call(instruction) click to toggle source
# File lib/nandi/validation/add_column_validator.rb, line 10
def self.call(instruction)
  new(instruction).call
end
new(instruction) click to toggle source
# File lib/nandi/validation/add_column_validator.rb, line 14
def initialize(instruction)
  @instruction = instruction
end

Public Instance Methods

call() click to toggle source
# File lib/nandi/validation/add_column_validator.rb, line 18
def call
  collect_errors(
    assert(nullable? || default_value?,
           "add_column: non-null column lacks default"),
    assert(!unique?, "add_column: column is unique"),
  )
end

Private Instance Methods

default_value?() click to toggle source
# File lib/nandi/validation/add_column_validator.rb, line 30
def default_value?
  !instruction.extra_args[:default].nil?
end
nullable?() click to toggle source
# File lib/nandi/validation/add_column_validator.rb, line 34
def nullable?
  instruction.extra_args.fetch(:null, true)
end
unique?() click to toggle source
# File lib/nandi/validation/add_column_validator.rb, line 38
def unique?
  instruction.extra_args.fetch(:unique, false)
end