Sha256: 0cd1b9f7640a5b9771db2a9adcb86222ec9f94a96c7873d77e207d2bfd4de2fe

Contents?: true

Size: 769 Bytes

Versions: 4

Compression:

Stored size: 769 Bytes

Contents

# frozen_string_literal: true

require 'active_record'

module EacRailsUtils
  module Patches
    module ModelAttributeRequired
      def self.included(base)
        base.extend ClassMethods
        base.include InstanceMethods
      end

      module ClassMethods
        def column_required?(column)
          m = new
          m.validate
          m.errors.key?(column.to_sym)
        end
      end

      module InstanceMethods
        def attribute_required?(column)
          self.class.column_required?(column)
        end
      end
    end
  end
end

[::ActiveRecord::Base, ::ActiveModel::Model].each do |c|
  next if c.included_modules.include? ::EacRailsUtils::Patches::ModelAttributeRequired

  c.include ::EacRailsUtils::Patches::ModelAttributeRequired
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
eac_rails_utils-0.10.1 lib/eac_rails_utils/patches/model_attribute_required.rb
eac_rails_utils-0.10.0 lib/eac_rails_utils/patches/model_attribute_required.rb
eac_rails_utils-0.9.1 lib/eac_rails_utils/patches/model_attribute_required.rb
eac_rails_utils-0.9.0 lib/eac_rails_utils/patches/model_attribute_required.rb