Sha256: 118331875108e5214a0f61e8fb8ea0da03a85298e3d485fecb8fec36e607ef58
Contents?: true
Size: 791 Bytes
Versions: 22
Compression:
Stored size: 791 Bytes
Contents
# frozen_string_literal: true module LazyRecord # Validations callbacks. If validations don't pass then initialization # will return false. module Validations VALIDATIONS_MODULE_NAME = :ModelValidations def define_validation define_method(:validation) do |*params| params.each do |param| if send(param.to_sym).nil? puts "#{param} must be given", inspect return false end end self end end def lr_validates(*args) include mod = get_or_set_mod(VALIDATIONS_MODULE_NAME) mod.extend(Validations) opts = args.extract_options! @validations = args return unless opts[:presence] == true mod.module_eval do define_validation end end end end
Version data entries
22 entries across 22 versions & 1 rubygems