Ruby on Rails | Screencasts | Download | Documentation | Weblog | Community | Source

Changeset 8111

Show
Ignore:
Timestamp:
11/07/07 16:05:17 (1 year ago)
Author:
david
Message:

Allow ActionMailer subclasses to individually set their delivery method (so two subclasses can have different delivery methods) (closes #10033) [zdennis]

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/actionmailer/CHANGELOG

    r8084 r8111  
    11*SVN* 
     2 
     3* Allow ActionMailer subclasses to individually set their delivery method (so two subclasses can have different delivery methods) #10033 [zdennis] 
    24 
    35* Update TMail to v1.1.0.  Use an updated version of TMail if available.  [mikel] 
  • trunk/actionmailer/lib/action_mailer/base.rb

    r7473 r8111  
    249249    cattr_accessor :raise_delivery_errors 
    250250 
    251     @@delivery_method = :smtp 
    252     cattr_accessor :delivery_method 
     251    superclass_delegating_accessor :delivery_method 
     252    self.delivery_method = :smtp 
    253253     
    254254    @@perform_deliveries = true 
  • trunk/actionmailer/test/abstract_unit.rb

    r8022 r8111  
    3939  $stderr.puts "Skipping #{test_name} tests (Mocha >= 0.5 is required). `gem install mocha` and try again." 
    4040end 
     41 
     42def set_delivery_method(delivery_method) 
     43  @old_delivery_method = ActionMailer::Base.delivery_method 
     44  ActionMailer::Base.delivery_method = delivery_method 
     45end 
     46 
     47def restore_delivery_method 
     48  ActionMailer::Base.delivery_method = @old_delivery_method 
     49end 
  • trunk/actionmailer/test/mail_helper_test.rb

    r5436 r8111  
    6161 
    6262  def setup 
    63     ActionMailer::Base.delivery_method = :test 
     63    set_delivery_method :test 
    6464    ActionMailer::Base.perform_deliveries = true 
    6565    ActionMailer::Base.deliveries = [] 
     
    6767    @recipient = 'test@localhost' 
    6868  end 
    69  
     69   
     70  def teardown 
     71    restore_delivery_method 
     72  end 
     73   
    7074  def test_use_helper 
    7175    mail = HelperMailer.create_use_helper(@recipient) 
  • trunk/actionmailer/test/mail_render_test.rb

    r7921 r8111  
    4646class RenderHelperTest < Test::Unit::TestCase 
    4747  def setup 
    48     ActionMailer::Base.delivery_method = :test 
     48    set_delivery_method :test 
    4949    ActionMailer::Base.perform_deliveries = true 
    5050    ActionMailer::Base.deliveries = [] 
    5151 
    5252    @recipient = 'test@localhost' 
     53  end 
     54 
     55  def teardown 
     56    restore_delivery_method 
    5357  end 
    5458 
     
    7175class FirstSecondHelperTest < Test::Unit::TestCase 
    7276  def setup 
    73     ActionMailer::Base.delivery_method = :test 
     77    set_delivery_method :test 
    7478    ActionMailer::Base.perform_deliveries = true 
    7579    ActionMailer::Base.deliveries = [] 
    7680 
    7781    @recipient = 'test@localhost' 
     82  end 
     83 
     84  def teardown 
     85    restore_delivery_method 
    7886  end 
    7987 
  • trunk/actionmailer/test/mail_service_test.rb

    r7545 r8111  
    283283  # Replacing logger work around for mocha bug. Should be fixed in mocha 0.3.3 
    284284  def setup 
    285     ActionMailer::Base.delivery_method = :test 
     285    set_delivery_method :test 
    286286    ActionMailer::Base.perform_deliveries = true 
    287287    ActionMailer::Base.raise_delivery_errors = true 
     
    291291    @recipient = 'test@localhost' 
    292292  end 
    293    
     293 
    294294  def teardown 
    295295    TestMailer.logger = @original_logger 
     296    restore_delivery_method 
    296297  end 
    297298 
     
    903904 
    904905  def setup 
    905     ActionMailer::Base.delivery_method = :test 
     906    set_delivery_method :test 
    906907    ActionMailer::Base.perform_deliveries = true 
    907908    ActionMailer::Base.deliveries = [] 
     909  end 
     910 
     911  def teardown 
     912    restore_delivery_method 
    908913  end 
    909914 
  • trunk/actionmailer/test/url_test.rb

    r8053 r8111  
    4141 
    4242  def setup 
    43     ActionMailer::Base.delivery_method = :test 
     43    set_delivery_method :test 
    4444    ActionMailer::Base.perform_deliveries = true 
    4545    ActionMailer::Base.deliveries = [] 
    4646 
    4747    @recipient = 'test@localhost' 
     48  end 
     49 
     50  def teardown 
     51    restore_delivery_method 
    4852  end 
    4953