Sha256: cd1b6d55be9027fead023197ae52c6ed24a145d0065107f1d7a13cff88dce784

Contents?: true

Size: 1 KB

Versions: 31

Compression:

Stored size: 1 KB

Contents

module ActionMailer
  module AdvAttrAccessor #:nodoc:
    def adv_attr_accessor(name, deprecation=nil)
      ivar = "@#{name}"
      deprecation ||= "Please pass :#{name} as hash key to mail() instead"

      class_eval <<-ACCESSORS, __FILE__, __LINE__ + 1
        def #{name}=(value)
          ActiveSupport::Deprecation.warn "#{name}= is deprecated. #{deprecation}"
          #{ivar} = value
        end

        def #{name}(*args)
          raise ArgumentError, "expected 0 or 1 parameters" unless args.length <= 1
          if args.empty?
            ActiveSupport::Deprecation.warn "#{name}() is deprecated and will be removed in future versions."
            #{ivar} if instance_variable_names.include?(#{ivar.inspect})
          else
            ActiveSupport::Deprecation.warn "#{name}(value) is deprecated. #{deprecation}"
            #{ivar} = args.first
          end
        end
      ACCESSORS

      self.protected_instance_variables << ivar if self.respond_to?(:protected_instance_variables)
    end
  end
end

Version data entries

31 entries across 31 versions & 2 rubygems

Version Path
legacy_mailers-0.1.1 lib/action_mailer/adv_attr_accessor.rb
legacy_mailers-0.1.0 lib/action_mailer/adv_attr_accessor.rb
legacy_mailers-0.0.1 lib/action_mailer/adv_attr_accessor.rb
actionmailer-3.1.12 lib/action_mailer/adv_attr_accessor.rb
actionmailer-3.1.11 lib/action_mailer/adv_attr_accessor.rb
actionmailer-3.1.10 lib/action_mailer/adv_attr_accessor.rb
actionmailer-3.1.9 lib/action_mailer/adv_attr_accessor.rb
actionmailer-3.1.8 lib/action_mailer/adv_attr_accessor.rb
actionmailer-3.1.7 lib/action_mailer/adv_attr_accessor.rb
actionmailer-3.1.6 lib/action_mailer/adv_attr_accessor.rb
actionmailer-3.1.5 lib/action_mailer/adv_attr_accessor.rb
actionmailer-3.1.5.rc1 lib/action_mailer/adv_attr_accessor.rb
actionmailer-3.1.4 lib/action_mailer/adv_attr_accessor.rb
actionmailer-3.1.4.rc1 lib/action_mailer/adv_attr_accessor.rb
actionmailer-3.1.3 lib/action_mailer/adv_attr_accessor.rb
actionmailer-3.1.2 lib/action_mailer/adv_attr_accessor.rb
actionmailer-3.1.2.rc2 lib/action_mailer/adv_attr_accessor.rb
actionmailer-3.1.2.rc1 lib/action_mailer/adv_attr_accessor.rb
actionmailer-3.1.1 lib/action_mailer/adv_attr_accessor.rb
actionmailer-3.1.1.rc3 lib/action_mailer/adv_attr_accessor.rb