rezource 0.0.3 → 0.0.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.
data/lib/rezource.rb CHANGED
@@ -18,15 +18,18 @@ module Rezource
18
18
  # ----------
19
19
 
20
20
  def index
21
- respond_with *namespace, find_resources
21
+ # respond_with *namespace, find_resources
22
+ index_respond_with find_resources
22
23
  end
23
24
 
24
25
  def show
25
- respond_with *namespace, find_resource
26
+ # respond_with *namespace, find_resource
27
+ show_respond_with find_resource
26
28
  end
27
29
 
28
30
  def new
29
- respond_with *namespace, build_resource
31
+ # respond_with *namespace, build_resource
32
+ new_respond_with build_resource
30
33
  end
31
34
 
32
35
  def create
@@ -34,7 +37,8 @@ module Rezource
34
37
  end
35
38
 
36
39
  def edit
37
- respond_with *namespace, find_resource
40
+ # respond_with *namespace, find_resource
41
+ edit_respond_with find_resource
38
42
  end
39
43
 
40
44
  def update
@@ -47,6 +51,36 @@ module Rezource
47
51
 
48
52
  # -----------
49
53
 
54
+ def index_respond_with(resources)
55
+ respond_with *namespace, resources
56
+ end
57
+
58
+ def show_respond_with(resource)
59
+ respond_with *namespace, resource
60
+ end
61
+
62
+ def new_respond_with(resource)
63
+ respond_with *namespace, resource
64
+ end
65
+
66
+ def create_respond_with(resource)
67
+ respond_with *namespace, resource
68
+ end
69
+
70
+ def edit_respond_with(resource)
71
+ respond_with *namespace, resource
72
+ end
73
+
74
+ # def update_respond_with(resource)
75
+ # respond_with *namespace, resource
76
+ # end
77
+
78
+ def destroy_respond_with(resource)
79
+ respond_with *namespace, resource
80
+ end
81
+
82
+ # -----------
83
+
50
84
  def new_resource_path(*args)
51
85
  send raw_path("new").to_sym, *args
52
86
  end
@@ -71,7 +105,12 @@ module Rezource
71
105
  parts = []
72
106
  parts += [action] if action
73
107
  parts += namespace
74
- parts += [parent_ivar] if parent?
108
+
109
+ if parent?
110
+ if !action || action != "edit"
111
+ parts += [parent_ivar]
112
+ end
113
+ end
75
114
 
76
115
  parts += if action
77
116
  [resource_ivar]
@@ -196,7 +235,8 @@ module Rezource
196
235
  resource.save if resource.valid?
197
236
  after_create resource
198
237
 
199
- respond_with *namespace, resource
238
+ # respond_with *namespace, resource
239
+ create_respond_with resource
200
240
  end
201
241
 
202
242
  def resource_update(resource, attributes={})
@@ -221,7 +261,8 @@ module Rezource
221
261
  resource.destroy
222
262
  after_destroy resource
223
263
 
224
- respond_with *namespace, resource
264
+ # respond_with *namespace, resource
265
+ destroy_respond_with resource
225
266
  end
226
267
 
227
268
 
data/rezource.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "rezource"
3
- s.version = "0.0.3"
3
+ s.version = "0.0.4"
4
4
 
5
5
  s.authors = ["Jan Zimmek"]
6
6
  s.email = %q{jan.zimmek@web.de}
@@ -62,6 +62,71 @@ class RezourceTest < Test::Unit::TestCase
62
62
  assert_equal options, SamplesController.new.resource_options
63
63
  end
64
64
 
65
+ # ----- <action>_respond_with
66
+
67
+ def test_index_respond_with
68
+ c = SamplesController.new
69
+
70
+ c.expects(:find_resources).returns([1,2,3])
71
+ c.expects(:index_respond_with).with([1,2,3])
72
+
73
+ c.index
74
+ end
75
+
76
+ def test_show_respond_with
77
+ c = SamplesController.new
78
+
79
+ c.expects(:find_resource).returns({name: "joe"})
80
+ c.expects(:show_respond_with).with({name: "joe"})
81
+
82
+ c.show
83
+ end
84
+
85
+ def test_new_respond_with
86
+ c = SamplesController.new
87
+
88
+ c.expects(:build_resource).returns({name: "joe"})
89
+ c.expects(:new_respond_with).with({name: "joe"})
90
+
91
+ c.new
92
+ end
93
+
94
+ def test_create_respond_with
95
+ c = SamplesController.new
96
+
97
+ resource = mock()
98
+ resource.expects(:valid?).returns true
99
+ resource.expects(:save)
100
+
101
+ c.expects(:permitted_params_create).returns([])
102
+ c.expects(:build_resource).returns(resource)
103
+ c.expects(:create_respond_with).with(resource)
104
+
105
+ c.create
106
+ end
107
+
108
+ def test_edit_respond_with
109
+ c = SamplesController.new
110
+
111
+ c.expects(:find_resource).returns({name: "joe"})
112
+ c.expects(:edit_respond_with).with({name: "joe"})
113
+
114
+ c.edit
115
+ end
116
+
117
+ def test_create_respond_with
118
+ c = SamplesController.new
119
+
120
+ resource = mock()
121
+ resource.expects(:destroy)
122
+
123
+ c.expects(:find_resource).returns(resource)
124
+ c.expects(:destroy_respond_with).with(resource)
125
+
126
+ c.destroy
127
+ end
128
+
129
+
65
130
  # ----- url resources
66
131
 
67
132
 
@@ -100,6 +165,11 @@ class RezourceTest < Test::Unit::TestCase
100
165
  assert_equal "namespaced_sample_parent_samples_path", c.raw_path
101
166
  end
102
167
 
168
+ def test_raw_path__with_parent_and_namespace_and_action
169
+ c = Namespaced::SamplesController.resource(belongs_to: SampleParent).new
170
+ assert_equal "edit_namespaced_sample_path", c.raw_path("edit")
171
+ end
172
+
103
173
  def test_resources_path
104
174
  c = SamplesController.new
105
175
  c.stubs(:samples_path).returns "/samples"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rezource
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-08-18 00:00:00.000000000 Z
12
+ date: 2013-08-19 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: Make Rails restful controller even more simple
15
15
  email: jan.zimmek@web.de