Sha256: 47dedd3c2ed3df11ee74f39ceda23e91255e3f5aaa7e2a173abb05190b10c9e2
Contents?: true
Size: 806 Bytes
Versions: 1
Compression:
Stored size: 806 Bytes
Contents
module FieldsValidator extend ActiveSupport::Concern included do validate :validate_column_names if respond_to?(:validate) end class_methods do def validate_required_attributes required_attributes.each do |a| validates a.to_sym, presence: true end end def load_required_attributes(*_attrs) @required_attributes=_attrs.any? ? _attrs : [] @required_attributes.uniq! end def required_attributes @required_attributes end end private def required_database_fields defined?(super) ? super : [] end def validate_column_names required_database_fields.each { |rdf| errors_add(rdf, "does not have a column in the database.") unless self.class.column_names.include?(rdf)} if required_database_fields.any? end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
morse_fields_validator-1.0.1 | lib/morse_fields_validator/fields_validator.rb |