class Gutentag::TagValidations
Constants
- DATABASE_ERROR_CLASSES
- DEFAULTS
Attributes
klass[R]
Public Class Methods
call(klass)
click to toggle source
# File lib/gutentag/tag_validations.rb, line 22 def self.call(klass) new(klass).call end
new(klass)
click to toggle source
# File lib/gutentag/tag_validations.rb, line 26 def initialize(klass) @klass = klass end
Public Instance Methods
call()
click to toggle source
# File lib/gutentag/tag_validations.rb, line 30 def call klass.validates :name, validation_options.dup end
Private Instance Methods
add_length_validation?()
click to toggle source
# File lib/gutentag/tag_validations.rb, line 38 def add_length_validation? klass.table_exists? && limit.present? rescue *DATABASE_ERROR_CLASSES => _error warn <<-MESSAGE The database is not currently available, and so Gutentag was not able to set up tag validations completely (in particular: adding a length limit to match database constraints). MESSAGE false end
limit()
click to toggle source
# File lib/gutentag/tag_validations.rb, line 49 def limit @limit ||= klass.columns_hash["name"].limit end
validation_options()
click to toggle source
# File lib/gutentag/tag_validations.rb, line 53 def validation_options return DEFAULTS unless add_length_validation? DEFAULTS.merge :length => {:maximum => limit} end