Sha256: 3779a2801c491aff151f3c2eddf706e44073462d47871cac3f66203d14ce2f74
Contents?: true
Size: 671 Bytes
Versions: 73
Compression:
Stored size: 671 Bytes
Contents
# frozen_string_literal: true module ActiveRecord module ReadonlyAttributes extend ActiveSupport::Concern included do class_attribute :_attr_readonly, instance_accessor: false, default: [] end module ClassMethods # Attributes listed as readonly will be used to create a new record but update operations will # ignore these fields. def attr_readonly(*attributes) self._attr_readonly = Set.new(attributes.map(&:to_s)) + (_attr_readonly || []) end # Returns an array of all the attributes that have been specified as readonly. def readonly_attributes _attr_readonly end end end end
Version data entries
73 entries across 73 versions & 7 rubygems