responders 0.6.1 → 0.6.2
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.
- data/CHANGELOG.rdoc +1 -1
- data/Gemfile +1 -1
- data/Gemfile.lock +86 -0
- data/README.rdoc +18 -5
- data/lib/generators/rails/responders_controller_generator.rb +1 -3
- data/lib/generators/responders/install_generator.rb +5 -3
- data/lib/responders.rb +3 -2
- data/lib/responders/collection_responder.rb +30 -0
- data/lib/responders/controller_method.rb +1 -10
- data/lib/responders/flash_responder.rb +2 -2
- data/lib/responders/http_cache_responder.rb +1 -2
- data/lib/responders/version.rb +1 -1
- data/test/collection_responder_test.rb +62 -0
- data/test/flash_responder_test.rb +21 -21
- data/test/http_cache_responder_test.rb +3 -3
- data/test/test_helper.rb +24 -8
- metadata +17 -4
data/CHANGELOG.rdoc
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
* :js now sets the flash.now by default, instead of flash
|
4
4
|
* Renamed responders_install generator to responders:install
|
5
|
-
* Added
|
5
|
+
* Added CollectionResponder which allows you to always redirect to the collection path (index action) after POST/PUT/DELETE
|
6
6
|
|
7
7
|
== 0.5
|
8
8
|
|
data/Gemfile
CHANGED
data/Gemfile.lock
ADDED
@@ -0,0 +1,86 @@
|
|
1
|
+
PATH
|
2
|
+
remote: /Users/jose/Work/github/rails
|
3
|
+
specs:
|
4
|
+
actionmailer (3.0.0.beta4)
|
5
|
+
actionpack (= 3.0.0.beta4)
|
6
|
+
mail (~> 2.2.5)
|
7
|
+
actionpack (3.0.0.beta4)
|
8
|
+
activemodel (= 3.0.0.beta4)
|
9
|
+
activesupport (= 3.0.0.beta4)
|
10
|
+
builder (~> 2.1.2)
|
11
|
+
erubis (~> 2.6.6)
|
12
|
+
i18n (~> 0.4.1)
|
13
|
+
rack (~> 1.2.1)
|
14
|
+
rack-mount (~> 0.6.9)
|
15
|
+
rack-test (~> 0.5.4)
|
16
|
+
tzinfo (~> 0.3.22)
|
17
|
+
activemodel (3.0.0.beta4)
|
18
|
+
activesupport (= 3.0.0.beta4)
|
19
|
+
builder (~> 2.1.2)
|
20
|
+
i18n (~> 0.4.1)
|
21
|
+
activerecord (3.0.0.beta4)
|
22
|
+
activemodel (= 3.0.0.beta4)
|
23
|
+
activesupport (= 3.0.0.beta4)
|
24
|
+
arel (~> 0.4.0)
|
25
|
+
tzinfo (~> 0.3.22)
|
26
|
+
activeresource (3.0.0.beta4)
|
27
|
+
activemodel (= 3.0.0.beta4)
|
28
|
+
activesupport (= 3.0.0.beta4)
|
29
|
+
activesupport (3.0.0.beta4)
|
30
|
+
rails (3.0.0.beta4)
|
31
|
+
actionmailer (= 3.0.0.beta4)
|
32
|
+
actionpack (= 3.0.0.beta4)
|
33
|
+
activerecord (= 3.0.0.beta4)
|
34
|
+
activeresource (= 3.0.0.beta4)
|
35
|
+
activesupport (= 3.0.0.beta4)
|
36
|
+
bundler (>= 1.0.0.beta.10)
|
37
|
+
railties (= 3.0.0.beta4)
|
38
|
+
railties (3.0.0.beta4)
|
39
|
+
actionpack (= 3.0.0.beta4)
|
40
|
+
activesupport (= 3.0.0.beta4)
|
41
|
+
rake (>= 0.8.3)
|
42
|
+
thor (~> 0.14.0)
|
43
|
+
|
44
|
+
GEM
|
45
|
+
remote: http://rubygems.org/
|
46
|
+
specs:
|
47
|
+
abstract (1.0.0)
|
48
|
+
arel (0.4.0)
|
49
|
+
activesupport (>= 3.0.0.beta)
|
50
|
+
builder (2.1.2)
|
51
|
+
columnize (0.3.1)
|
52
|
+
erubis (2.6.6)
|
53
|
+
abstract (>= 1.0.0)
|
54
|
+
i18n (0.4.1)
|
55
|
+
linecache (0.43)
|
56
|
+
mail (2.2.5)
|
57
|
+
activesupport (>= 2.3.6)
|
58
|
+
mime-types
|
59
|
+
treetop (>= 1.4.5)
|
60
|
+
mime-types (1.16)
|
61
|
+
mocha (0.9.8)
|
62
|
+
rake
|
63
|
+
polyglot (0.3.1)
|
64
|
+
rack (1.2.1)
|
65
|
+
rack-mount (0.6.9)
|
66
|
+
rack (>= 1.0.0)
|
67
|
+
rack-test (0.5.4)
|
68
|
+
rack (>= 1.0)
|
69
|
+
rake (0.8.7)
|
70
|
+
ruby-debug (0.10.3)
|
71
|
+
columnize (>= 0.1)
|
72
|
+
ruby-debug-base (~> 0.10.3.0)
|
73
|
+
ruby-debug-base (0.10.3)
|
74
|
+
linecache (>= 0.3)
|
75
|
+
thor (0.14.0)
|
76
|
+
treetop (1.4.8)
|
77
|
+
polyglot (>= 0.3.1)
|
78
|
+
tzinfo (0.3.22)
|
79
|
+
|
80
|
+
PLATFORMS
|
81
|
+
ruby
|
82
|
+
|
83
|
+
DEPENDENCIES
|
84
|
+
mocha
|
85
|
+
rails!
|
86
|
+
ruby-debug
|
data/README.rdoc
CHANGED
@@ -13,12 +13,12 @@ to be used with Rails 2.3 together with Inherited Resources, please check this b
|
|
13
13
|
flash:
|
14
14
|
actions:
|
15
15
|
create:
|
16
|
-
notice: "{
|
16
|
+
notice: "%{resource_name} was successfully created."
|
17
17
|
update:
|
18
|
-
notice: "{
|
18
|
+
notice: "%{resource_name} was successfully updated."
|
19
19
|
destroy:
|
20
|
-
notice: "{
|
21
|
-
alert: "{
|
20
|
+
notice: "%{resource_name} was successfully destroyed."
|
21
|
+
alert: "%{resource_name} could not be destroyed."
|
22
22
|
|
23
23
|
In case the resource contains errors, you should use the failure key on I18n. This is
|
24
24
|
useful to dry up flash messages from your controllers. If you need a specific message
|
@@ -42,6 +42,8 @@ to be used with Rails 2.3 together with Inherited Resources, please check this b
|
|
42
42
|
allows clients to easily query the server if a resource changed and if the client tries
|
43
43
|
to retrieve a resource that has not been modified, it returns not_modified status.
|
44
44
|
|
45
|
+
* CollectionResponder - Makes your create and update action redirect to the collection on success.
|
46
|
+
|
45
47
|
== Configuring your own responder
|
46
48
|
|
47
49
|
The first step is instal responders gem and configure it in your application:
|
@@ -49,13 +51,24 @@ The first step is instal responders gem and configure it in your application:
|
|
49
51
|
gem install responders
|
50
52
|
|
51
53
|
Responders only provides a set of modules, to use them, you have to create your own
|
52
|
-
responder. This can be done
|
54
|
+
responder. This can be done inside the lib folder for example:
|
53
55
|
|
56
|
+
# lib/app_responder.rb
|
54
57
|
class AppResponder < ActionController::Responder
|
55
58
|
include Responders::FlashResponder
|
56
59
|
include Responders::HttpCacheResponder
|
57
60
|
end
|
58
61
|
|
62
|
+
And then you need to configure your application to use it:
|
63
|
+
|
64
|
+
# app/controllers/application_controller.rb
|
65
|
+
require "app_responder"
|
66
|
+
|
67
|
+
class ApplicationController < ActionController::Base
|
68
|
+
self.responder = AppResponder
|
69
|
+
respond_to :html
|
70
|
+
end
|
71
|
+
|
59
72
|
Or, for your convenience, just do:
|
60
73
|
|
61
74
|
rails generate responders:install
|
@@ -3,9 +3,7 @@ require 'rails/generators/rails/scaffold_controller/scaffold_controller_generato
|
|
3
3
|
module Rails
|
4
4
|
module Generators
|
5
5
|
class RespondersControllerGenerator < ScaffoldControllerGenerator
|
6
|
-
|
7
|
-
@_source_root ||= File.expand_path("templates", File.dirname(__FILE__))
|
8
|
-
end
|
6
|
+
source_root File.expand_path("../templates", __FILE__)
|
9
7
|
|
10
8
|
protected
|
11
9
|
|
@@ -1,9 +1,7 @@
|
|
1
1
|
module Responders
|
2
2
|
module Generators
|
3
3
|
class InstallGenerator < Rails::Generators::Base
|
4
|
-
|
5
|
-
@_source_root ||= File.expand_path("..", __FILE__)
|
6
|
-
end
|
4
|
+
source_root File.expand_path("..", __FILE__)
|
7
5
|
|
8
6
|
desc "Creates an initializer with default responder configuration and copy locale file"
|
9
7
|
|
@@ -12,6 +10,10 @@ module Responders
|
|
12
10
|
class ApplicationResponder < ActionController::Responder
|
13
11
|
include Responders::FlashResponder
|
14
12
|
include Responders::HttpCacheResponder
|
13
|
+
|
14
|
+
# Uncomment this responder if you want your resources to redirect to the collection
|
15
|
+
# path (index action) instead of the resource path for POST/PUT/DELETE requests.
|
16
|
+
# include Responders::CollectionResponder
|
15
17
|
end
|
16
18
|
RUBY
|
17
19
|
end
|
data/lib/responders.rb
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
require 'action_controller/base'
|
2
2
|
|
3
3
|
module Responders
|
4
|
-
autoload :FlashResponder,
|
5
|
-
autoload :HttpCacheResponder,
|
4
|
+
autoload :FlashResponder, 'responders/flash_responder'
|
5
|
+
autoload :HttpCacheResponder, 'responders/http_cache_responder'
|
6
|
+
autoload :CollectionResponder, 'responders/collection_responder'
|
6
7
|
|
7
8
|
require 'responders/controller_method'
|
8
9
|
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module Responders
|
2
|
+
# This responder modifies your current responder to redirect
|
3
|
+
# to the collection page on POST/PUT/DELETE.
|
4
|
+
module CollectionResponder
|
5
|
+
protected
|
6
|
+
|
7
|
+
# Returns the collection location for redirecting after POST/PUT/DELETE.
|
8
|
+
# This method, converts the following resources array to the following:
|
9
|
+
#
|
10
|
+
# [:admin, @post] #=> [:admin, :posts]
|
11
|
+
# [@user, @post] #=> [@user, :posts]
|
12
|
+
#
|
13
|
+
# When these new arrays are given to redirect_to, it will generate the
|
14
|
+
# proper URL pointing to the index action.
|
15
|
+
#
|
16
|
+
# [:admin, @post] #=> admin_posts_url
|
17
|
+
# [@user, @post] #=> user_posts_url(@user.to_param)
|
18
|
+
#
|
19
|
+
def navigation_location
|
20
|
+
return options[:location] if options[:location]
|
21
|
+
klass = resources.last.class
|
22
|
+
|
23
|
+
if klass.respond_to?(:model_name)
|
24
|
+
resources[0...-1] << klass.model_name.plural.to_sym
|
25
|
+
else
|
26
|
+
resources
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -22,7 +22,7 @@ module Responders
|
|
22
22
|
when Module
|
23
23
|
responder
|
24
24
|
when String, Symbol
|
25
|
-
"#{responder.to_s.classify}Responder"
|
25
|
+
Responders.const_get("#{responder.to_s.classify}Responder")
|
26
26
|
else
|
27
27
|
raise "responder has to be a string, a symbol or a module"
|
28
28
|
end
|
@@ -34,13 +34,4 @@ module Responders
|
|
34
34
|
end
|
35
35
|
end
|
36
36
|
|
37
|
-
# Fix for Rails <= 3.0.0.beta3
|
38
|
-
require "action_controller/metal/responder"
|
39
|
-
|
40
|
-
class ActionController::Responder
|
41
|
-
def default_action
|
42
|
-
@action ||= ACTIONS_FOR_VERBS[request.request_method_symbol]
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
37
|
ActionController::Base.extend Responders::ControllerMethod
|
@@ -21,7 +21,7 @@ module Responders
|
|
21
21
|
# flash:
|
22
22
|
# actions:
|
23
23
|
# create:
|
24
|
-
# notice: "Hooray! {
|
24
|
+
# notice: "Hooray! %{resource_name} was successfully created!"
|
25
25
|
#
|
26
26
|
# But sometimes, flash messages are not that simple. Going back
|
27
27
|
# to cars example, you might want to say the brand of the car when it's
|
@@ -30,7 +30,7 @@ module Responders
|
|
30
30
|
# flash:
|
31
31
|
# cars:
|
32
32
|
# update:
|
33
|
-
# notice: "Hooray! You just tuned your {
|
33
|
+
# notice: "Hooray! You just tuned your %{car_brand}!"
|
34
34
|
#
|
35
35
|
# Since :car_name is not available for interpolation by default, you have
|
36
36
|
# to overwrite interpolation_options in your controller.
|
@@ -23,8 +23,7 @@ module Responders
|
|
23
23
|
|
24
24
|
def do_http_cache!
|
25
25
|
timestamp = resources.flatten.map do |resource|
|
26
|
-
|
27
|
-
resource.updated_at.utc
|
26
|
+
resource.updated_at.try(:utc) if resource.respond_to?(:updated_at)
|
28
27
|
end.compact.max
|
29
28
|
|
30
29
|
controller.response.last_modified ||= timestamp if timestamp
|
data/lib/responders/version.rb
CHANGED
@@ -0,0 +1,62 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class CollectionResponder < ActionController::Responder
|
4
|
+
include Responders::CollectionResponder
|
5
|
+
end
|
6
|
+
|
7
|
+
class CollectionController < ApplicationController
|
8
|
+
self.responder = CollectionResponder
|
9
|
+
|
10
|
+
def single
|
11
|
+
respond_with Address.new
|
12
|
+
end
|
13
|
+
|
14
|
+
def namespaced
|
15
|
+
respond_with :admin, Address.new
|
16
|
+
end
|
17
|
+
|
18
|
+
def nested
|
19
|
+
respond_with User.new, Address.new
|
20
|
+
end
|
21
|
+
|
22
|
+
def only_symbols
|
23
|
+
respond_with :admin, :addresses
|
24
|
+
end
|
25
|
+
|
26
|
+
def with_location
|
27
|
+
respond_with Address.new, :location => "given_location"
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
class CollectionResponderTest < ActionController::TestCase
|
32
|
+
tests CollectionController
|
33
|
+
|
34
|
+
def test_collection_with_single_resource
|
35
|
+
@controller.expects(:addresses_url).returns("addresses_url")
|
36
|
+
post :single
|
37
|
+
assert_redirected_to "addresses_url"
|
38
|
+
end
|
39
|
+
|
40
|
+
def test_collection_with_namespaced_resource
|
41
|
+
@controller.expects(:admin_addresses_url).returns("admin_addresses_url")
|
42
|
+
put :namespaced
|
43
|
+
assert_redirected_to "admin_addresses_url"
|
44
|
+
end
|
45
|
+
|
46
|
+
def test_collection_with_nested_resource
|
47
|
+
@controller.expects(:user_addresses_url).returns("user_addresses_url")
|
48
|
+
delete :nested
|
49
|
+
assert_redirected_to "user_addresses_url"
|
50
|
+
end
|
51
|
+
|
52
|
+
def test_collection_respects_location_option
|
53
|
+
delete :with_location
|
54
|
+
assert_redirected_to "given_location"
|
55
|
+
end
|
56
|
+
|
57
|
+
def test_collection_respects_only_symbols
|
58
|
+
@controller.expects(:admin_addresses_url).returns("admin_addresses_url")
|
59
|
+
post :only_symbols
|
60
|
+
assert_redirected_to "admin_addresses_url"
|
61
|
+
end
|
62
|
+
end
|
@@ -1,14 +1,5 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
|
-
class Address
|
4
|
-
attr_accessor :errors
|
5
|
-
def self.human_name; 'Address'; end
|
6
|
-
|
7
|
-
def initialize
|
8
|
-
@errors = {}
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
3
|
class FlashResponder < ActionController::Responder
|
13
4
|
include Responders::FlashResponder
|
14
5
|
end
|
@@ -16,6 +7,7 @@ end
|
|
16
7
|
class AddressesController < ApplicationController
|
17
8
|
before_filter :set_resource
|
18
9
|
self.responder = FlashResponder
|
10
|
+
|
19
11
|
respond_to :js, :only => :create
|
20
12
|
|
21
13
|
def action
|
@@ -38,7 +30,7 @@ class AddressesController < ApplicationController
|
|
38
30
|
respond_with(@resource, :notice => "Yes, notice this!", :alert => "Warning, warning!")
|
39
31
|
end
|
40
32
|
|
41
|
-
protected
|
33
|
+
protected
|
42
34
|
|
43
35
|
def interpolation_options
|
44
36
|
{ :reference => 'Ocean Avenue' }
|
@@ -46,7 +38,7 @@ protected
|
|
46
38
|
|
47
39
|
def set_resource
|
48
40
|
@resource = Address.new
|
49
|
-
@resource.errors[:fail]
|
41
|
+
@resource.errors[:fail] << "FAIL" if params[:fail]
|
50
42
|
end
|
51
43
|
end
|
52
44
|
|
@@ -109,29 +101,26 @@ class FlashResponderTest < ActionController::TestCase
|
|
109
101
|
end
|
110
102
|
|
111
103
|
def test_sets_now_flash_message_on_javascript_requests
|
112
|
-
@now = {}
|
113
|
-
@controller.flash.expects(:now).returns(@now)
|
114
104
|
post :create, :format => :js
|
115
|
-
assert_equal "Resource created with success",
|
105
|
+
assert_equal "Resource created with success", flash[:success]
|
106
|
+
assert_flash_now :success
|
116
107
|
end
|
117
108
|
|
118
109
|
def test_sets_flash_message_can_be_set_to_now
|
119
|
-
@now = {}
|
120
|
-
@controller.flash.expects(:now).returns(@now)
|
121
110
|
post :create, :flash_now => true
|
122
|
-
assert_equal "Resource created with success", @now[:success]
|
111
|
+
assert_equal "Resource created with success", @controller.flash.now[:success]
|
112
|
+
assert_flash_now :success
|
123
113
|
end
|
124
114
|
|
125
115
|
def test_sets_flash_message_can_be_set_to_now_only_on_success
|
126
|
-
@now = {}
|
127
|
-
@controller.flash.expects(:now).returns(@now)
|
128
116
|
post :create, :flash_now => :on_success
|
129
|
-
assert_equal "Resource created with success", @now[:success]
|
117
|
+
assert_equal "Resource created with success", @controller.flash.now[:success]
|
118
|
+
assert_flash_now :success
|
130
119
|
end
|
131
120
|
|
132
121
|
def test_sets_flash_message_can_be_set_to_now_only_on_failure
|
133
|
-
@controller.flash.expects(:now).never
|
134
122
|
post :create, :flash_now => :on_failure
|
123
|
+
assert_not_flash_now :success
|
135
124
|
end
|
136
125
|
|
137
126
|
def test_sets_message_based_on_notice_key
|
@@ -145,6 +134,17 @@ class FlashResponderTest < ActionController::TestCase
|
|
145
134
|
post :another, :fail => true
|
146
135
|
assert_equal "Warning, warning!", flash[:alert]
|
147
136
|
end
|
137
|
+
|
138
|
+
# If we have flash.now, it's always marked as used.
|
139
|
+
def assert_flash_now(k)
|
140
|
+
assert flash.instance_variable_get(:@used).include?(k.to_sym),
|
141
|
+
"Expected #{k} to be in flash.now, but it's not."
|
142
|
+
end
|
143
|
+
|
144
|
+
def assert_not_flash_now(k)
|
145
|
+
assert !flash.instance_variable_get(:@used).include?(k.to_sym),
|
146
|
+
"Expected #{k} to not be in flash.now, but it is."
|
147
|
+
end
|
148
148
|
end
|
149
149
|
|
150
150
|
class NamespacedFlashResponderTest < ActionController::TestCase
|
@@ -10,15 +10,15 @@ class HttpCacheController < ApplicationController
|
|
10
10
|
def single
|
11
11
|
options = params.slice(:http_cache)
|
12
12
|
response.last_modified = Time.utc(2008) if params[:last_modified]
|
13
|
-
respond_with(
|
13
|
+
respond_with(Address.new(Time.utc(2009)), options)
|
14
14
|
end
|
15
15
|
|
16
16
|
def collection
|
17
|
-
respond_with [
|
17
|
+
respond_with [Address.new(Time.utc(2009)), Address.new(Time.utc(2008))]
|
18
18
|
end
|
19
19
|
|
20
20
|
def not_persisted
|
21
|
-
model =
|
21
|
+
model = Address.new(Time.utc(2009))
|
22
22
|
model.persisted = false
|
23
23
|
respond_with(model)
|
24
24
|
end
|
data/test/test_helper.rb
CHANGED
@@ -2,7 +2,6 @@ require 'rubygems'
|
|
2
2
|
require 'bundler'
|
3
3
|
|
4
4
|
Bundler.setup
|
5
|
-
|
6
5
|
require 'test/unit'
|
7
6
|
require 'mocha'
|
8
7
|
|
@@ -11,6 +10,7 @@ ENV["RAILS_ENV"] = "test"
|
|
11
10
|
|
12
11
|
require 'active_support'
|
13
12
|
require 'action_controller'
|
13
|
+
require 'active_model'
|
14
14
|
require 'rails/railtie'
|
15
15
|
|
16
16
|
class ApplicationController < ActionController::Base
|
@@ -26,26 +26,42 @@ I18n.reload!
|
|
26
26
|
ActionController::Base.view_paths = File.join(File.dirname(__FILE__), 'views')
|
27
27
|
|
28
28
|
Responders::Routes = ActionDispatch::Routing::RouteSet.new
|
29
|
-
Responders::Routes.draw do
|
30
|
-
|
31
|
-
|
32
|
-
map.connect ':controller/:action'
|
29
|
+
Responders::Routes.draw do
|
30
|
+
match '/admin/:action', :controller => "admin/addresses"
|
31
|
+
match '/:controller(/:action(/:id))'
|
33
32
|
end
|
34
33
|
|
34
|
+
ActionController::Base.send :include, Responders::Routes.url_helpers
|
35
|
+
|
35
36
|
class ActiveSupport::TestCase
|
36
37
|
setup do
|
37
38
|
@routes = Responders::Routes
|
38
39
|
end
|
39
40
|
end
|
40
41
|
|
41
|
-
class Model
|
42
|
-
|
42
|
+
class Model
|
43
|
+
include ActiveModel::Conversion
|
44
|
+
include ActiveModel::Validations
|
45
|
+
|
46
|
+
attr_accessor :persisted, :updated_at
|
47
|
+
alias :persisted? :persisted
|
43
48
|
|
44
49
|
def persisted?
|
45
|
-
|
50
|
+
@persisted
|
46
51
|
end
|
47
52
|
|
48
53
|
def to_xml(*args)
|
49
54
|
"<xml />"
|
50
55
|
end
|
56
|
+
|
57
|
+
def initialize(updated_at=nil)
|
58
|
+
@persisted = true
|
59
|
+
self.updated_at = updated_at
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
class Address < Model
|
64
|
+
end
|
65
|
+
|
66
|
+
class User < Model
|
51
67
|
end
|
metadata
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: responders
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 3
|
4
5
|
prerelease: false
|
5
6
|
segments:
|
6
7
|
- 0
|
7
8
|
- 6
|
8
|
-
-
|
9
|
-
version: 0.6.
|
9
|
+
- 2
|
10
|
+
version: 0.6.2
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- "Jos\xC3\xA9 Valim"
|
@@ -14,7 +15,7 @@ autorequire:
|
|
14
15
|
bindir: bin
|
15
16
|
cert_chain: []
|
16
17
|
|
17
|
-
date: 2010-
|
18
|
+
date: 2010-07-26 00:00:00 +02:00
|
18
19
|
default_executable:
|
19
20
|
dependencies: []
|
20
21
|
|
@@ -29,6 +30,7 @@ extra_rdoc_files:
|
|
29
30
|
files:
|
30
31
|
- CHANGELOG.rdoc
|
31
32
|
- Gemfile
|
33
|
+
- Gemfile.lock
|
32
34
|
- MIT-LICENSE
|
33
35
|
- README.rdoc
|
34
36
|
- Rakefile
|
@@ -37,11 +39,17 @@ files:
|
|
37
39
|
- lib/generators/rails/templates/controller.rb
|
38
40
|
- lib/generators/responders/install_generator.rb
|
39
41
|
- lib/responders.rb
|
42
|
+
- lib/responders/collection_responder.rb
|
40
43
|
- lib/responders/controller_method.rb
|
41
44
|
- lib/responders/flash_responder.rb
|
42
45
|
- lib/responders/http_cache_responder.rb
|
43
46
|
- lib/responders/locales/en.yml
|
44
47
|
- lib/responders/version.rb
|
48
|
+
- test/collection_responder_test.rb
|
49
|
+
- test/controller_method_test.rb
|
50
|
+
- test/flash_responder_test.rb
|
51
|
+
- test/http_cache_responder_test.rb
|
52
|
+
- test/test_helper.rb
|
45
53
|
has_rdoc: true
|
46
54
|
homepage: http://github.com/plataformatec/responders
|
47
55
|
licenses: []
|
@@ -52,27 +60,32 @@ rdoc_options:
|
|
52
60
|
require_paths:
|
53
61
|
- lib
|
54
62
|
required_ruby_version: !ruby/object:Gem::Requirement
|
63
|
+
none: false
|
55
64
|
requirements:
|
56
65
|
- - ">="
|
57
66
|
- !ruby/object:Gem::Version
|
67
|
+
hash: 3
|
58
68
|
segments:
|
59
69
|
- 0
|
60
70
|
version: "0"
|
61
71
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
72
|
+
none: false
|
62
73
|
requirements:
|
63
74
|
- - ">="
|
64
75
|
- !ruby/object:Gem::Version
|
76
|
+
hash: 3
|
65
77
|
segments:
|
66
78
|
- 0
|
67
79
|
version: "0"
|
68
80
|
requirements: []
|
69
81
|
|
70
82
|
rubyforge_project:
|
71
|
-
rubygems_version: 1.3.
|
83
|
+
rubygems_version: 1.3.7
|
72
84
|
signing_key:
|
73
85
|
specification_version: 3
|
74
86
|
summary: A set of Rails 3 responders to dry up your application
|
75
87
|
test_files:
|
88
|
+
- test/collection_responder_test.rb
|
76
89
|
- test/controller_method_test.rb
|
77
90
|
- test/flash_responder_test.rb
|
78
91
|
- test/http_cache_responder_test.rb
|