Sha256: 2afa83790083b205a33264ffa790bee28ec59794ca6cfccc4ca665708259e875

Contents?: true

Size: 1.05 KB

Versions: 24

Compression:

Stored size: 1.05 KB

Contents

module KepplerCapsules
  class CapsuleValidation < ApplicationRecord
    include KepplerCapsules::Concerns::StringActions
    include KepplerCapsules::Concerns::GeneratorActions
    include KepplerCapsules::Concerns::ValidationActions
    validates_presence_of :name, :field
    belongs_to :capsule
    validate :uniqueness_validation

    def simple_validations
      [:validates_presence_of, :validates_numericality_of, :validates_uniqueness_of,
       :validates_numericality_integer_on, :validates_email_format_on,
       :validates_max_number, :validates_min_number, :validates_format_of,
       :validates_character_quantity_of ]
    end

    def delete_validation_line
      delete_validation(self.capsule.name, self)
    end

    def validation_exists?
      validation = CapsuleValidation.where(
        field: self.field,
        name: self.name,
        capsule_id: self.capsule)
      validation.count == 0 ? false : true
    end

    private

    def uniqueness_validation
      errors.add(:name, :uniqueness_validation) if validation_exists?
    end
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
keppler-2.1.22 installer/core/rockets/keppler_capsules/app/models/keppler_capsules/capsule_validation.rb
keppler-2.1.21 installer/core/rockets/keppler_capsules/app/models/keppler_capsules/capsule_validation.rb
keppler-2.1.20 installer/core/rockets/keppler_capsules/app/models/keppler_capsules/capsule_validation.rb
keppler-2.1.19 installer/core/rockets/keppler_capsules/app/models/keppler_capsules/capsule_validation.rb
keppler-2.1.18 installer/core/rockets/keppler_capsules/app/models/keppler_capsules/capsule_validation.rb
keppler-2.1.17 installer/core/rockets/keppler_capsules/app/models/keppler_capsules/capsule_validation.rb
keppler-2.1.16 installer/core/rockets/keppler_capsules/app/models/keppler_capsules/capsule_validation.rb
keppler-2.1.15 installer/core/rockets/keppler_capsules/app/models/keppler_capsules/capsule_validation.rb
keppler-2.1.14 installer/core/rockets/keppler_capsules/app/models/keppler_capsules/capsule_validation.rb
keppler-2.1.13 installer/core/rockets/keppler_capsules/app/models/keppler_capsules/capsule_validation.rb
keppler-2.1.12 installer/core/rockets/keppler_capsules/app/models/keppler_capsules/capsule_validation.rb
keppler-2.1.11 installer/core/rockets/keppler_capsules/app/models/keppler_capsules/capsule_validation.rb
keppler-2.1.10 installer/core/rockets/keppler_capsules/app/models/keppler_capsules/capsule_validation.rb
keppler-2.1.9 installer/core/rockets/keppler_capsules/app/models/keppler_capsules/capsule_validation.rb
keppler-2.1.8 installer/core/rockets/keppler_capsules/app/models/keppler_capsules/capsule_validation.rb
keppler-2.1.7 installer/core/rockets/keppler_capsules/app/models/keppler_capsules/capsule_validation.rb
keppler-2.1.6 installer/core/rockets/keppler_capsules/app/models/keppler_capsules/capsule_validation.rb
keppler-2.1.5 installer/core/rockets/keppler_capsules/app/models/keppler_capsules/capsule_validation.rb
keppler-2.1.4 installer/core/rockets/keppler_capsules/app/models/keppler_capsules/capsule_validation.rb
keppler-2.1.3 installer/core/rockets/keppler_capsules/app/models/keppler_capsules/capsule_validation.rb