Sha256: a03bc9bb760d5f5ceb8c07f7e43647143333b37e7d3652403d81aa9c9d9ea488
Contents?: true
Size: 798 Bytes
Versions: 1
Compression:
Stored size: 798 Bytes
Contents
module Rein module Constraint # This module contains methods for defining presence constraints. module Presence include ActiveRecord::ConnectionAdapters::Quoting include Rein::Constraint::Options def add_presence_constraint(table, attribute, options = {}) name = constraint_name(table, attribute, options) conditions = conditions_with_if( "(#{attribute} IS NOT NULL) AND (#{attribute} !~ '^\\s*$')", options ) execute("ALTER TABLE #{table} ADD CONSTRAINT #{name} CHECK (#{conditions})") end def remove_presence_constraint(table, attribute, options = {}) name = constraint_name(table, attribute, options) execute("ALTER TABLE #{table} DROP CONSTRAINT #{name}") end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rein-2.1.0 | lib/rein/constraint/presence.rb |