Sha256: 426dc6e88475fac05692f710dd0f3cf446b1d85980cbfcff3983f1b640b49515
Contents?: true
Size: 810 Bytes
Versions: 6
Compression:
Stored size: 810 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| ivar = "@#{name}" define_method("#{name}=") do |value| instance_variable_set(ivar, value) end define_method(name) do |*parameters| raise ArgumentError, "expected 0 or 1 parameters" unless parameters.length <= 1 if parameters.empty? if instance_variables.include?(ivar) instance_variable_get(ivar) end else instance_variable_set(ivar, parameters.first) end end end end end end end
Version data entries
6 entries across 6 versions & 1 rubygems