Sha256: 95713945617eb49442d95007d4d3b603f773a524e742128e0c18a79daa48b611
Contents?: true
Size: 825 Bytes
Versions: 3
Compression:
Stored size: 825 Bytes
Contents
module ForemanDocker module ParameterValidators extend ActiveSupport::Concern included do validate :validate_unique_parameter_keys end def validate_unique_parameter_keys parameters_symbol = [:environment_variables, :exposed_ports, :dns] parameters_symbol.each do |param_symbol| keys = [] errors = false self.public_send(param_symbol).each do |param| errors = duplicate_key?(keys, param) end self.errors.add(param_symbol, _('Please ensure the following parameters are unique')) if errors end end def duplicate_key?(keys, param) if keys.include?(param.key) param.errors.add(:key, _('has already been taken')) return true else keys << param.key end false end end end
Version data entries
3 entries across 3 versions & 1 rubygems