Sha256: 59e63d79b48b1db6d17e101e717983444c7abbdd8bd2e4c80d853424d3805f43

Contents?: true

Size: 827 Bytes

Versions: 5

Compression:

Stored size: 827 Bytes

Contents

module Html5Validators
  module ActiveRecordExtension
    extend ActiveSupport::Concern

    # Future subclasses will pick up the model extension
    module ClassMethods

      def inherited(kls)
        super
        kls.class_eval do
          cattr_accessor :auto_html5_validation, :instance_accessor => false, :instance_reader => false, :instance_writer => false
        end if kls.superclass == ActiveRecord::Base
      end
    end

    included do
      # Existing subclasses pick up the model extension as well
      self.descendants.each do |kls|
        cattr_accessor :auto_html5_validation, :instance_accessor => false, :instance_reader => false, :instance_writer => false if kls.superclass == ActiveRecord::Base
      end
    end
  end
end

ActiveRecord::Base.send(:include, Html5Validators::ActiveRecordExtension)

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
html5_validators-1.3.0 lib/html5_validators/active_record/base.rb
html5_validators-1.2.2 lib/html5_validators/active_record/base.rb
html5_validators-1.2.1 lib/html5_validators/active_record/base.rb
html5_validators-1.2.0 lib/html5_validators/active_record/base.rb
html5_validators-1.1.3 lib/html5_validators/active_record/base.rb