responders 0.4.4 → 0.4.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -12,11 +12,12 @@ version.
12
12
  flash:
13
13
  actions:
14
14
  create:
15
- notice: "{resource_name} was successfully created"
15
+ notice: "{{resource_name}} was successfully created."
16
16
  update:
17
- notice: "{resource_name} was successfully updated"
17
+ notice: "{{resource_name}} was successfully updated."
18
18
  destroy:
19
- alert: "{resource_name} could not be destroyed"
19
+ notice: "{{resource_name}} was successfully destroyed."
20
+ alert: "{{resource_name}} could not be destroyed."
20
21
 
21
22
  In case the resource contains errors, you should use the failure key on I18n. This is
22
23
  useful to dry up flash messages from your controllers. If you need a specific message
@@ -38,7 +39,7 @@ version.
38
39
 
39
40
  == Installation
40
41
 
41
- sudo gem install responders --version=0.4.2
42
+ sudo gem install responders --version=0.4.5
42
43
 
43
44
  == Bugs and Feedback
44
45
 
@@ -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.4.4".freeze
2
+ VERSION = "0.4.5".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
metadata CHANGED
@@ -1,7 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: responders
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.4
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 4
8
+ - 5
9
+ version: 0.4.5
5
10
  platform: ruby
6
11
  authors:
7
12
  - "Jos\xC3\xA9 Valim"
@@ -9,7 +14,7 @@ autorequire:
9
14
  bindir: bin
10
15
  cert_chain: []
11
16
 
12
- date: 2010-03-02 00:00:00 +01:00
17
+ date: 2010-03-13 00:00:00 +01:00
13
18
  default_executable:
14
19
  dependencies: []
15
20
 
@@ -43,18 +48,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
43
48
  requirements:
44
49
  - - ">="
45
50
  - !ruby/object:Gem::Version
51
+ segments:
52
+ - 0
46
53
  version: "0"
47
- version:
48
54
  required_rubygems_version: !ruby/object:Gem::Requirement
49
55
  requirements:
50
56
  - - ">="
51
57
  - !ruby/object:Gem::Version
58
+ segments:
59
+ - 0
52
60
  version: "0"
53
- version:
54
61
  requirements: []
55
62
 
56
63
  rubyforge_project:
57
- rubygems_version: 1.3.5
64
+ rubygems_version: 1.3.6
58
65
  signing_key:
59
66
  specification_version: 3
60
67
  summary: A set of Rails 3 responders to dry up your application