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

Version Path
lazy_record-0.7.2 lib/lazy_record/validations.rb
lazy_record-0.7.1 lib/lazy_record/validations.rb
lazy_record-0.7.0 lib/lazy_record/validations.rb
lazy_record-0.6.3 lib/lazy_record/validations.rb
lazy_record-0.6.2 lib/lazy_record/validations.rb
lazy_record-0.6.1 lib/lazy_record/validations.rb
lazy_record-0.6.0 lib/lazy_record/validations.rb
lazy_record-0.5.0 lib/lazy_record/validations.rb
lazy_record-0.4.4 lib/lazy_record/validations.rb
lazy_record-0.4.3 lib/lazy_record/validations.rb
lazy_record-0.4.2 lib/lazy_record/validations.rb
lazy_record-0.4.1 lib/lazy_record/validations.rb
lazy_record-0.4.0 lib/lazy_record/validations.rb
lazy_record-0.3.0 lib/lazy_record/validations.rb
lazy_record-0.2.2 lib/lazy_record/validations.rb
lazy_record-0.2.1 lib/lazy_record/validations.rb
lazy_record-0.2.0 lib/lazy_record/validations.rb
lazy_record-0.1.9 lib/lazy_record/validations.rb
lazy_record-0.1.8 lib/lazy_record/validations.rb
lazy_record-0.1.7 lib/lazy_record/validations.rb