есть выдержка из моего кода:
module Configuracao
extend self
class Key
include ActiveModel::Validations
attr_accessor :name, :type, :default, :validations, :group, :available_values
def initialize(params)
params.symbolize_keys!.assert_valid_keys(:name, :type, :default, :validations, :group, :available_values)
@group = params[:group]
@name = params[:name]
@type = params[:type]
@available_values = params[:available_values]
@default = params[:default]
@validations = params[:validations]
#in this way each validation is being added for all keys
Configuracao::Key.class_eval do
validates :value, params[:validations]
end
end
end
end
поэтому для каждого ключа экземпляра у меня будет разная валидация, переданная в хэш
Key.new( validations: { presence: true, numericality: true } )
Key.new( validations: { length: { maximum: 30 } } )
Есть способ сделать это?