Sha256: 75f8a1dc327b6763dec8506075f99be5e0eb7584878cf75a4d4f651f194b0a33

Contents?: true

Size: 760 Bytes

Versions: 2

Compression:

Stored size: 760 Bytes

Contents

module ActiveScaffold
  module ValidationReflectionBridge
    def self.included(base)
      base.class_eval { alias_method_chain :initialize, :validation_reflection }
    end

    def initialize_with_validation_reflection(name, active_record_class)
      initialize_without_validation_reflection(name, active_record_class)
      column_names = [name]
      column_names << @association.primary_key_name if @association
      self.required = column_names.any? do |column_name|
        active_record_class.reflect_on_validations_for(column_name.to_sym).any? do |val|
          val.macro == :validates_presence_of or (val.macro == :validates_inclusion_of and not val.options[:allow_nil] and not val.options[:allow_blank])
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
brisk-bills-0.8.2 vendor/plugins/active_scaffold/lib/bridges/validation_reflection/lib/validation_reflection_bridge.rb
brisk-bills-0.8.1 vendor/plugins/active_scaffold/lib/bridges/validation_reflection/lib/validation_reflection_bridge.rb