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.

@@ -1,6 +1,7 @@
1
- ## 0.1.6pre (05/13/2012)
1
+ ## 0.1.6 (06/02/2012)
2
2
 
3
3
  * remove `WizardController#_reset_invocation_response`
4
+ * bug fix for when jump_to is used in conjunction with passing a resource to render_wizard (thanks @fschwahn)
4
5
 
5
6
  ## 0.1.5 (05/13/2012)
6
7
 
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`` would be `:product_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.pre
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
- @skip_to = @next_step if resource && resource.save
6
- if @skip_to.present?
6
+ process_resource!(resource)
7
+
8
+ if @skip_to
7
9
  redirect_to wizard_path @skip_to
8
10
  else
9
- render_step @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,9 @@
1
+ class Bar
2
+ def initialize(value)
3
+ @value = value
4
+ end
5
+
6
+ def save
7
+ @value
8
+ end
9
+ end
@@ -0,0 +1 @@
1
+ last_step
@@ -1,6 +1,7 @@
1
1
  Dummy::Application.routes.draw do
2
2
  resources :foo
3
3
  resources :bar
4
+ resources :jump
4
5
 
5
6
  # The priority is based upon order of creation:
6
7
  # first created -> highest priority.
@@ -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
@@ -83,5 +83,6 @@ class IncludeNavigationTest < ActiveSupport::IntegrationCase
83
83
  visit(bar_path(step))
84
84
  assert has_content?('home')
85
85
  end
86
-
87
86
  end
87
+
88
+
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "wicked"
8
- s.version = "0.1.6.pre"
8
+ s.version = "0.1.6"
9
9
 
10
- s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
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-05-13"
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.pre
5
- prerelease: 6
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-05-13 00:00:00.000000000Z
12
+ date: 2012-06-02 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
16
- requirement: &70197506430280 !ruby/object:Gem::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: *70197506430280
24
+ version_requirements: *70351864816900
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rails
27
- requirement: &70197506429740 !ruby/object:Gem::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: *70197506429740
35
+ version_requirements: *70351864816420
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rake
38
- requirement: &70197506429260 !ruby/object:Gem::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: *70197506429260
46
+ version_requirements: *70351864815860
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: jeweler
49
- requirement: &70197506428760 !ruby/object:Gem::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: *70197506428760
57
+ version_requirements: *70351864815340
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: rcov
60
- requirement: &70197506428220 !ruby/object:Gem::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: *70197506428220
68
+ version_requirements: *70351864814820
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: capybara
71
- requirement: &70197506427700 !ruby/object:Gem::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: *70197506427700
79
+ version_requirements: *70351864814340
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: sqlite3
82
- requirement: &70197506427200 !ruby/object:Gem::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: *70197506427200
90
+ version_requirements: *70351864813820
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: launchy
93
- requirement: &70197506426700 !ruby/object:Gem::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: *70197506426700
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: -3750481941390121000
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: 1.3.1
198
+ version: '0'
193
199
  requirements: []
194
200
  rubyforge_project:
195
201
  rubygems_version: 1.8.10