Sha256: 881400ba9bac06db3268a77f41a95338b7f4d943dd1815d17104ae9c0e008f4c

Contents?: true

Size: 534 Bytes

Versions: 11

Compression:

Stored size: 534 Bytes

Contents

# frozen_string_literal: true

require "active_record"

class ArtifactValidator < ActiveModel::Validator
  def validate(record)
    return if record.data_type

    record.errors[:data] << "#{record.data} is not supported"
  end
end

module Mihari
  class Artifact < ActiveRecord::Base
    include ActiveModel::Validations
    validates_with ArtifactValidator

    def initialize(attributes)
      super
      self.data_type = TypeChecker.type(data)
    end

    def unique?
      self.class.find_by(data: data).nil?
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
mihari-1.4.1 lib/mihari/models/artifact.rb
mihari-1.4.0 lib/mihari/models/artifact.rb
mihari-1.3.2 lib/mihari/models/artifact.rb
mihari-1.3.1 lib/mihari/models/artifact.rb
mihari-1.3.0 lib/mihari/models/artifact.rb
mihari-1.2.1 lib/mihari/models/artifact.rb
mihari-1.2.0 lib/mihari/models/artifact.rb
mihari-1.1.1 lib/mihari/models/artifact.rb
mihari-1.1.0 lib/mihari/models/artifact.rb
mihari-1.0.1 lib/mihari/models/artifact.rb
mihari-1.0.0 lib/mihari/models/artifact.rb