inherited_resources 0.9.2 → 0.9.3

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 CHANGED
@@ -1,5 +1,6 @@
1
1
  # Version 0.9
2
2
 
3
+ * Allow dual blocks in destroy;
3
4
  * Added :if and :unless to has_scope (thanks to Jack Danger);
4
5
  * Added create_resource, update_resource and delete_resource hooks (thanks to Carlos Antonio da Silva);
5
6
  * Backported ActionController::Responder from Rails 3;
data/README.rdoc CHANGED
@@ -1,6 +1,6 @@
1
1
  Inherited Resources
2
2
  License: MIT
3
- Version: 0.9.1
3
+ Version: 0.9.2
4
4
 
5
5
  == Description
6
6
 
@@ -23,8 +23,8 @@ keywords: resources, controller, singleton, belongs_to, polymorphic, named_scope
23
23
  Install Inherited Resources is very easy. It is stored in GitHub, so just run
24
24
  the following:
25
25
 
26
- gem sources -a http://gems.github.com
27
- sudo gem install josevalim-inherited_resources
26
+ gem sources -a http://gemcutter.org
27
+ sudo gem install inherited_resources
28
28
 
29
29
  If you want it as plugin, just do:
30
30
 
@@ -232,7 +232,7 @@ clean and organized inside the same action.
232
232
 
233
233
  For those DSL lovers, InheritedResources won't leave you alone. You can overwrite
234
234
  your success/failure blocks straight from your class binding. For it, you just
235
- need to add a DSL block to your application controller:
235
+ need to add a DSL module to your application controller:
236
236
 
237
237
  class ApplicationController < ActionController::Base
238
238
  include InheritedResources::DSL
data/Rakefile CHANGED
@@ -8,7 +8,7 @@ begin
8
8
  require 'jeweler'
9
9
  Jeweler::Tasks.new do |s|
10
10
  s.name = "inherited_resources"
11
- s.version = "0.9.2"
11
+ s.version = "0.9.3"
12
12
  s.rubyforge_project = "inherited_resources"
13
13
  s.summary = "Inherited Resources speeds up development by making your controllers inherit all restful actions so you just have to focus on what is important."
14
14
  s.email = "jose.valim@gmail.com"
@@ -59,15 +59,15 @@ module InheritedResources
59
59
  # DELETE /resources/1
60
60
  def destroy(options={}, &block)
61
61
  object = resource
62
+ options[:location] ||= collection_url rescue nil
62
63
 
63
64
  if destroy_resource(object)
64
65
  set_flash_message!(:notice, '{{resource_name}} was successfully destroyed.')
66
+ respond_with_dual_blocks(object, options, true, block)
65
67
  else
66
68
  set_flash_message!(:error, '{{resource_name}} could not be destroyed.')
69
+ respond_with_dual_blocks(object, options, false, block)
67
70
  end
68
-
69
- options[:location] ||= collection_url rescue nil
70
- respond_with_dual_blocks(object, options, nil, block)
71
71
  end
72
72
  alias :destroy! :destroy
73
73
 
@@ -25,7 +25,8 @@ module InheritedResources
25
25
 
26
26
  helper_method :collection_url, :collection_path, :resource_url, :resource_path,
27
27
  :new_resource_url, :new_resource_path, :edit_resource_url, :edit_resource_path,
28
- :parent_url, :parent_path, :resource, :collection, :resource_class, :association_chain
28
+ :parent_url, :parent_path, :resource, :collection, :resource_class, :association_chain,
29
+ :resource_instance_name, :resource_collection_name
29
30
 
30
31
  base.with_options :instance_writer => false do |c|
31
32
  c.class_inheritable_accessor :resource_class
data/test/base_test.rb CHANGED
@@ -198,7 +198,7 @@ class DestroyActionBaseTest < ActionController::TestCase
198
198
 
199
199
  def test_the_requested_user_is_destroyed
200
200
  User.expects(:find).with('42').returns(mock_user)
201
- mock_user.expects(:destroy)
201
+ mock_user.expects(:destroy).returns(true)
202
202
  delete :destroy, :id => '42'
203
203
  assert_equal mock_user, assigns(:user)
204
204
  end
@@ -221,5 +221,12 @@ class DestroyActionBaseTest < ActionController::TestCase
221
221
  delete :destroy
222
222
  assert_redirected_to 'http://test.host/'
223
223
  end
224
+
225
+ def test_redirects_to_the_resource_if_cannot_be_destroyed
226
+ User.stubs(:find).returns(mock_user(:destroy => false))
227
+ @controller.expects(:collection_url).returns('http://test.host/')
228
+ delete :destroy
229
+ assert_redirected_to 'http://test.host/'
230
+ end
224
231
  end
225
232
 
@@ -123,7 +123,7 @@ class OptionalTest < ActionController::TestCase
123
123
  Category.expects(:find).with('37').returns(mock_category)
124
124
  mock_category.expects(:products).returns(Product)
125
125
  Product.expects(:find).with('42').returns(mock_product)
126
- mock_product.expects(:destroy)
126
+ mock_product.expects(:destroy).returns(true)
127
127
  @controller.expects(:collection_url).returns('/')
128
128
 
129
129
  delete :destroy, :id => '42', :category_id => '37'
@@ -133,7 +133,7 @@ class OptionalTest < ActionController::TestCase
133
133
 
134
134
  def test_the_resquested_product_is_destroyed_without_category
135
135
  Product.expects(:find).with('42').returns(mock_product)
136
- mock_product.expects(:destroy)
136
+ mock_product.expects(:destroy).returns(true)
137
137
  @controller.expects(:collection_url).returns('/')
138
138
 
139
139
  delete :destroy, :id => '42'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: inherited_resources
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.2
4
+ version: 0.9.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - "Jos\xC3\xA9 Valim"
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-10-15 00:00:00 -03:00
12
+ date: 2009-11-21 00:00:00 -02:00
13
13
  default_executable:
14
14
  dependencies: []
15
15