wicked 0.1.6.pre → 0.1.6
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of wicked might be problematic. Click here for more details.
- data/CHANGELOG.md +2 -1
- data/README.md +1 -1
- data/VERSION +1 -1
- data/lib/wicked/controller/concerns/render_redirect.rb +15 -3
- data/test/dummy/app/controllers/jump_controller.rb +22 -0
- data/test/dummy/app/models/bar.rb +9 -0
- data/test/dummy/app/views/foo/last_step.html.erb +1 -0
- data/test/dummy/app/views/jump/first.html.erb +1 -0
- data/test/dummy/app/views/jump/last_step.html.erb +1 -0
- data/test/dummy/app/views/jump/second.html.erb +1 -0
- data/test/dummy/config/routes.rb +1 -0
- data/test/integration/jump_test.rb +16 -0
- data/test/integration/navigation_test.rb +2 -1
- data/wicked.gemspec +9 -3
- metadata +28 -22
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -82,7 +82,7 @@ The wizard is set to call steps in order in the show action, you can specify cus
|
|
82
82
|
end
|
83
83
|
```
|
84
84
|
|
85
|
-
**Note:** Wicked uses the `:id` parameter to control the flow of steps, if you need to have an id parameter, please use nested routes see [Partial Validation of Active Record Objects](https://github.com/schneems/wicked/wiki/Partial-Validation-of-Active-Record-Objects) for an example. It will need to be prefixed, for example a Product's `:id
|
85
|
+
**Note:** Wicked uses the `:id` parameter to control the flow of steps, if you need to have an id parameter, please use nested routes see [Partial Validation of Active Record Objects](https://github.com/schneems/wicked/wiki/Partial-Validation-of-Active-Record-Objects) for an example. It will need to be prefixed, for example a Product's `:id` would be `:product_id`
|
86
86
|
|
87
87
|
You'll need to call `render_wizard` at the end of your action to get the correct views to show up.
|
88
88
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.6
|
1
|
+
0.1.6
|
@@ -1,12 +1,24 @@
|
|
1
1
|
module Wicked::Controller::Concerns::RenderRedirect
|
2
2
|
extend ActiveSupport::Concern
|
3
3
|
|
4
|
+
|
4
5
|
def render_wizard(resource = nil)
|
5
|
-
|
6
|
-
|
6
|
+
process_resource!(resource)
|
7
|
+
|
8
|
+
if @skip_to
|
7
9
|
redirect_to wizard_path @skip_to
|
8
10
|
else
|
9
|
-
render_step
|
11
|
+
render_step @step
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def process_resource!(resource)
|
16
|
+
if resource
|
17
|
+
if resource.save
|
18
|
+
@skip_to ||= @next_step
|
19
|
+
else
|
20
|
+
@skip_to = nil
|
21
|
+
end
|
10
22
|
end
|
11
23
|
end
|
12
24
|
|
@@ -0,0 +1,22 @@
|
|
1
|
+
## This controller uses includes
|
2
|
+
|
3
|
+
class JumpController < ApplicationController
|
4
|
+
include Wicked::Wizard
|
5
|
+
steps :first, :second, :last_step
|
6
|
+
|
7
|
+
def show
|
8
|
+
skip_step if params[:skip_step]
|
9
|
+
jump_to :last_step if params[:jump_to]
|
10
|
+
if params[:resource]
|
11
|
+
value = params[:resource][:save] == 'true'
|
12
|
+
@bar = Bar.new(value)
|
13
|
+
render_wizard(@bar)
|
14
|
+
else
|
15
|
+
render_wizard
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
def update
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
last_step
|
@@ -0,0 +1 @@
|
|
1
|
+
first
|
@@ -0,0 +1 @@
|
|
1
|
+
last_step
|
@@ -0,0 +1 @@
|
|
1
|
+
second
|
data/test/dummy/config/routes.rb
CHANGED
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class JumpNavigationTest < ActiveSupport::IntegrationCase
|
4
|
+
test 'consider jump_to when calling render_wizard with resource' do
|
5
|
+
step = :first
|
6
|
+
visit(jump_path(step, :resource => {:save => true}, :jump_to => :last_step))
|
7
|
+
assert has_content?('last_step')
|
8
|
+
end
|
9
|
+
|
10
|
+
test 'disregard jump_to when saving the resource fails' do
|
11
|
+
step = :first
|
12
|
+
visit(jump_path(step, :resource => {:save => false}, :jump_to => :last_step))
|
13
|
+
assert has_content?('first')
|
14
|
+
assert !has_content?('last_step')
|
15
|
+
end
|
16
|
+
end
|
data/wicked.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "wicked"
|
8
|
-
s.version = "0.1.6
|
8
|
+
s.version = "0.1.6"
|
9
9
|
|
10
|
-
s.required_rubygems_version = Gem::Requirement.new("
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["schneems"]
|
12
|
-
s.date = "2012-
|
12
|
+
s.date = "2012-06-02"
|
13
13
|
s.description = "Wicked is a Rails engine for producing easy wizard controllers"
|
14
14
|
s.email = "richard.schneeman@gmail.com"
|
15
15
|
s.extra_rdoc_files = [
|
@@ -36,13 +36,18 @@ Gem::Specification.new do |s|
|
|
36
36
|
"test/dummy/app/controllers/application_controller.rb",
|
37
37
|
"test/dummy/app/controllers/bar_controller.rb",
|
38
38
|
"test/dummy/app/controllers/foo_controller.rb",
|
39
|
+
"test/dummy/app/controllers/jump_controller.rb",
|
39
40
|
"test/dummy/app/helpers/application_helper.rb",
|
41
|
+
"test/dummy/app/models/bar.rb",
|
40
42
|
"test/dummy/app/views/bar/first.html.erb",
|
41
43
|
"test/dummy/app/views/bar/last_step.html.erb",
|
42
44
|
"test/dummy/app/views/bar/second.html.erb",
|
43
45
|
"test/dummy/app/views/foo/first.html.erb",
|
44
46
|
"test/dummy/app/views/foo/last_step.html.erb",
|
45
47
|
"test/dummy/app/views/foo/second.html.erb",
|
48
|
+
"test/dummy/app/views/jump/first.html.erb",
|
49
|
+
"test/dummy/app/views/jump/last_step.html.erb",
|
50
|
+
"test/dummy/app/views/jump/second.html.erb",
|
46
51
|
"test/dummy/app/views/layouts/application.html.erb",
|
47
52
|
"test/dummy/config.ru",
|
48
53
|
"test/dummy/config/application.rb",
|
@@ -73,6 +78,7 @@ Gem::Specification.new do |s|
|
|
73
78
|
"test/dummy/public/stylesheets/.gitkeep",
|
74
79
|
"test/dummy/script/rails",
|
75
80
|
"test/integration/helpers_test.rb",
|
81
|
+
"test/integration/jump_test.rb",
|
76
82
|
"test/integration/navigation_test.rb",
|
77
83
|
"test/support/integration_case.rb",
|
78
84
|
"test/test_helper.rb",
|
metadata
CHANGED
@@ -1,19 +1,19 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wicked
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.6
|
5
|
-
prerelease:
|
4
|
+
version: 0.1.6
|
5
|
+
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- schneems
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-06-02 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
16
|
-
requirement: &
|
16
|
+
requirement: &70351864816900 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 3.0.7
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70351864816900
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rails
|
27
|
-
requirement: &
|
27
|
+
requirement: &70351864816420 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 3.0.7
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70351864816420
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rake
|
38
|
-
requirement: &
|
38
|
+
requirement: &70351864815860 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70351864815860
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: jeweler
|
49
|
-
requirement: &
|
49
|
+
requirement: &70351864815340 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 1.6.4
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70351864815340
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: rcov
|
60
|
-
requirement: &
|
60
|
+
requirement: &70351864814820 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70351864814820
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: capybara
|
71
|
-
requirement: &
|
71
|
+
requirement: &70351864814340 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: 0.4.0
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70351864814340
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: sqlite3
|
82
|
-
requirement: &
|
82
|
+
requirement: &70351864813820 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: '0'
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *70351864813820
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: launchy
|
93
|
-
requirement: &
|
93
|
+
requirement: &70351864813300 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ! '>='
|
@@ -98,7 +98,7 @@ dependencies:
|
|
98
98
|
version: '0'
|
99
99
|
type: :development
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *70351864813300
|
102
102
|
description: Wicked is a Rails engine for producing easy wizard controllers
|
103
103
|
email: richard.schneeman@gmail.com
|
104
104
|
executables: []
|
@@ -126,13 +126,18 @@ files:
|
|
126
126
|
- test/dummy/app/controllers/application_controller.rb
|
127
127
|
- test/dummy/app/controllers/bar_controller.rb
|
128
128
|
- test/dummy/app/controllers/foo_controller.rb
|
129
|
+
- test/dummy/app/controllers/jump_controller.rb
|
129
130
|
- test/dummy/app/helpers/application_helper.rb
|
131
|
+
- test/dummy/app/models/bar.rb
|
130
132
|
- test/dummy/app/views/bar/first.html.erb
|
131
133
|
- test/dummy/app/views/bar/last_step.html.erb
|
132
134
|
- test/dummy/app/views/bar/second.html.erb
|
133
135
|
- test/dummy/app/views/foo/first.html.erb
|
134
136
|
- test/dummy/app/views/foo/last_step.html.erb
|
135
137
|
- test/dummy/app/views/foo/second.html.erb
|
138
|
+
- test/dummy/app/views/jump/first.html.erb
|
139
|
+
- test/dummy/app/views/jump/last_step.html.erb
|
140
|
+
- test/dummy/app/views/jump/second.html.erb
|
136
141
|
- test/dummy/app/views/layouts/application.html.erb
|
137
142
|
- test/dummy/config.ru
|
138
143
|
- test/dummy/config/application.rb
|
@@ -163,6 +168,7 @@ files:
|
|
163
168
|
- test/dummy/public/stylesheets/.gitkeep
|
164
169
|
- test/dummy/script/rails
|
165
170
|
- test/integration/helpers_test.rb
|
171
|
+
- test/integration/jump_test.rb
|
166
172
|
- test/integration/navigation_test.rb
|
167
173
|
- test/support/integration_case.rb
|
168
174
|
- test/test_helper.rb
|
@@ -183,13 +189,13 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
183
189
|
version: '0'
|
184
190
|
segments:
|
185
191
|
- 0
|
186
|
-
hash: -
|
192
|
+
hash: -1992748704531741576
|
187
193
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
188
194
|
none: false
|
189
195
|
requirements:
|
190
|
-
- - ! '
|
196
|
+
- - ! '>='
|
191
197
|
- !ruby/object:Gem::Version
|
192
|
-
version:
|
198
|
+
version: '0'
|
193
199
|
requirements: []
|
194
200
|
rubyforge_project:
|
195
201
|
rubygems_version: 1.8.10
|