responders 0.5.3 → 0.5.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,7 @@
1
1
  == 0.5
2
2
 
3
3
  * Added Railtie and better Rails 3 support
4
+ * Added :flash_now as option
4
5
 
5
6
  == 0.4
6
7
 
@@ -80,9 +80,10 @@ module Responders
80
80
 
81
81
  def initialize(controller, resources, options={})
82
82
  super
83
- @flash = options.delete(:flash)
84
- @notice = options.delete(:notice)
85
- @alert = options.delete(:alert)
83
+ @flash = options.delete(:flash)
84
+ @notice = options.delete(:notice)
85
+ @alert = options.delete(:alert)
86
+ @flash_now = options.delete(:flash_now)
86
87
  end
87
88
 
88
89
  def to_html
@@ -94,10 +95,10 @@ module Responders
94
95
 
95
96
  def set_flash_message!
96
97
  if has_errors?
97
- controller.flash[:alert] ||= @alert if @alert
98
+ set_flash(:alert, @alert)
98
99
  status = Responders::FlashResponder.flash_keys.last
99
100
  else
100
- controller.flash[:notice] ||= @notice if @notice
101
+ set_flash(:notice, @notice)
101
102
  status = Responders::FlashResponder.flash_keys.first
102
103
  end
103
104
 
@@ -105,7 +106,14 @@ module Responders
105
106
 
106
107
  options = mount_i18n_options(status)
107
108
  message = ::I18n.t options[:default].shift, options
108
- controller.flash[status] = message unless message.blank?
109
+ set_flash(status, message)
110
+ end
111
+
112
+ def set_flash(key, value)
113
+ return if value.blank?
114
+ flash = controller.flash
115
+ flash = flash.now if @flash_now
116
+ flash[key] ||= value
109
117
  end
110
118
 
111
119
  def set_flash_message? #:nodoc:
@@ -1,3 +1,3 @@
1
1
  module Responders
2
- VERSION = "0.5.3".freeze
2
+ VERSION = "0.5.4".freeze
3
3
  end
@@ -18,7 +18,7 @@ class AddressesController < ApplicationController
18
18
  self.responder = FlashResponder
19
19
 
20
20
  def action
21
- options = params.slice(:flash)
21
+ options = params.slice(:flash, :flash_now)
22
22
  flash[:success] = "Flash is set" if params[:set_flash]
23
23
  respond_with(@resource, options)
24
24
  end
@@ -107,6 +107,13 @@ class FlashResponderTest < ActionController::TestCase
107
107
  assert_equal "Resource with block created with success", flash[:success]
108
108
  end
109
109
 
110
+ def test_sets_flash_message_can_be_set_to_now
111
+ @now = {}
112
+ @controller.flash.expects(:now).returns(@now)
113
+ post :create, :flash_now => true
114
+ assert_equal "Resource created with success", @now[:success]
115
+ end
116
+
110
117
  def test_sets_message_based_on_notice_key
111
118
  Responders::FlashResponder.flash_keys = [ :notice, :alert ]
112
119
  post :another
@@ -20,8 +20,6 @@ RAILS_ROOT = "anywhere"
20
20
 
21
21
  require 'active_support'
22
22
  require 'action_controller'
23
- require 'action_dispatch/middleware/flash'
24
-
25
23
  require 'rails/railtie'
26
24
 
27
25
  class ApplicationController < ActionController::Base
@@ -36,12 +34,19 @@ I18n.reload!
36
34
 
37
35
  ActionController::Base.view_paths = File.join(File.dirname(__FILE__), 'views')
38
36
 
39
- ActionController::Routing::Routes.draw do |map|
37
+ Responders::Router = ActionDispatch::Routing::RouteSet.new
38
+ Responders::Router.draw do |map|
40
39
  map.connect 'admin/:action', :controller => "admin/addresses"
41
40
  map.connect ':controller/:action/:id'
42
41
  map.connect ':controller/:action'
43
42
  end
44
43
 
44
+ class ActiveSupport::TestCase
45
+ setup do
46
+ @router = Responders::Router
47
+ end
48
+ end
49
+
45
50
  class Model < Struct.new(:updated_at)
46
51
  attr_writer :new_record
47
52
 
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 5
8
- - 3
9
- version: 0.5.3
8
+ - 4
9
+ version: 0.5.4
10
10
  platform: ruby
11
11
  authors:
12
12
  - "Jos\xC3\xA9 Valim"
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-03-04 00:00:00 +01:00
17
+ date: 2010-03-13 00:00:00 +01:00
18
18
  default_executable:
19
19
  dependencies: []
20
20