module ReadOnly::ReadOnlyConcern
Public Class Methods
read_only(attr_name)
click to toggle source
# File lib/read_only.rb, line 25 def self.read_only attr_name # validates "_#{attr_name}", presence: true define_method "_#{attr_name}" do instance_variable_get("@_#{attr_name}") end define_method "_#{attr_name}=" do |val| instance_variable_set("@_#{attr_name}", val) var = Rails.application.message_verifier(attr_name).verify(val) if self.class.column_names.include? "#{attr_name}" # active_record attributes write_attribute("#{attr_name}", var) end # attr_accessor attributes instance_variable_set("@#{attr_name}", var) end end