Sha256: 39ad371eefe5eaa3374024cb90419d30859af78a52fc17c00d0448f79ec1fb61

Contents?: true

Size: 850 Bytes

Versions: 1

Compression:

Stored size: 850 Bytes

Contents

module ActiveModel
  module Validations

    module ClassMethods

      def validation_group(group, options={}, &block)
        raise "The validation_group method requires a block" unless block_given?

        unless include?(GroupedValidations)
          include GroupedValidations
        end

        unless validation_groups.include?(group)
          validation_groups << group
          _define_group_validation_callbacks(group)
        end

        options[:name] = group

        if block.arity == 1
          @_current_validation_group = options.merge(:with_options => true)
          
          with_options(options.except(:name)) do |config|
            yield config
          end
        else
          @_current_validation_group = options
          yield
        end
        @_current_validation_group = nil
      end

    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
grouped_validations-0.3.3 lib/grouped_validations/active_model.rb