class Nandi::Validation::TimeoutValidator

Attributes

migration[R]

Public Class Methods

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

Public Instance Methods

call() click to toggle source
# File lib/nandi/validation/timeout_validator.rb, line 18
def call
  timeout_policies.inject(success) do |result, policy|
    collect_errors(policy.validate(migration), result)
  end
end

Private Instance Methods

instructions() click to toggle source
# File lib/nandi/validation/timeout_validator.rb, line 30
def instructions
  [*migration.up_instructions, *migration.down_instructions]
end
timeout_policies() click to toggle source
# File lib/nandi/validation/timeout_validator.rb, line 26
def timeout_policies
  instructions.map(&Nandi::TimeoutPolicies.method(:policy_for)).uniq
end