Class: AttrPermitLazy
- Inherits:
-
AttrPermit
- Object
- AttrPermit
- AttrPermitLazy
- Defined in:
- lib/attr_permit.rb
Constant Summary
Constants inherited from AttrPermit
Class Method Summary collapse
Methods inherited from AttrPermit
#==, #hash, #initialize, #is_equivalent?, map_attribute, map_attributes, #map_hash, mapped_methods, #non_nil_values, permissible_methods, #permit_hash, #to_enum, #to_hash, #update
Constructor Details
This class inherits a constructor from AttrPermit
Class Method Details
.attr_permit(*permissible_methods) ⇒ Object
191 192 193 194 195 196 197 198 199 200 201 202 203 |
# 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 |