class AttrPermitLazy

Public Class Methods

attr_permit(*permissible_methods) click to toggle source
# File lib/attr_permit.rb, line 191
def self.attr_permit(*permissible_methods)
  self.permissible_methods.concat [*permissible_methods, *get_super_premissible_methods]
  self.permissible_methods.each do |meth|

    send(:define_method, meth) do
      callable = instance_variable_get("@#{meth}")
      instance_variable_set("@#{meth}", callable.call) if callable.respond_to?(:call)
      instance_variable_get("@#{meth}")
    end

    attr_writer meth unless public_instance_methods.include?("#{meth}=")
  end
end