Sha256: 47f29885056c0ce131defadafb1ecfac8294edb4890ead82c58cd76d0260d810
Contents?: true
Size: 728 Bytes
Versions: 5
Compression:
Stored size: 728 Bytes
Contents
module ActionMailer module AdvAttrAccessor #:nodoc: def self.append_features(base) super base.extend(ClassMethods) end module ClassMethods #:nodoc: def adv_attr_accessor(*names) names.each do |name| define_method("#{name}=") do |value| instance_variable_set("@#{name}", value) end define_method(name) do |*parameters| raise ArgumentError, "expected 0 or 1 parameters" unless parameters.length <= 1 if parameters.empty? instance_variable_get("@#{name}") else instance_variable_set("@#{name}", parameters.first) end end end end end end end
Version data entries
5 entries across 5 versions & 1 rubygems