gendalf 0.3 → 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/CHANGELOG CHANGED
@@ -1,3 +1,5 @@
1
+ v0.4. Fixed unconditional redirection bug
2
+
1
3
  v0.3. Made submodel attributes loading a separate routine in order for it to be easier overriden. Also fixed wrong eval type, which somehow worked :)
2
4
 
3
5
  v0.2. First working implementation
data/Manifest CHANGED
@@ -1,6 +1,8 @@
1
1
  CHANGELOG
2
2
  Manifest
3
+ README.markdown
3
4
  Rakefile
5
+ gendalf.gemspec
4
6
  lib/controllers/wizard_controller.rb
5
7
  lib/extensions/routes.rb
6
8
  lib/gendalf.rb
data/README.markdown ADDED
@@ -0,0 +1,74 @@
1
+ Gendalf wizard helper gem
2
+ =========================
3
+
4
+ Makes it easier to add wizard-like behaviour to your application.
5
+
6
+ [Make yourself] an example
7
+ ==========================
8
+
9
+ 1. Connect Gendalf wizardry gem to your application:
10
+
11
+ gem 'gendalf'
12
+
13
+ 2. Create the source files in your project:
14
+
15
+ custom_wizard_controller.rb
16
+ ---------------------------
17
+
18
+ class CustomWizardController < Gendalf::WizardController
19
+ layout "application"
20
+ set_model_name :user_info
21
+
22
+ def step0
23
+ end
24
+
25
+ def step1
26
+ end
27
+
28
+ def step2
29
+ @user_info = session[:user_info]
30
+ end
31
+
32
+ protected
33
+ def wizard_model
34
+ session[:user_info] ||= UserInfo.new
35
+ end
36
+
37
+ def current_step
38
+ session[:current_step] ||= 0
39
+ end
40
+
41
+ def current_step=(step)
42
+ session[:current_step] = step
43
+ end
44
+ end
45
+
46
+ user_info.rb
47
+ ------------
48
+
49
+ class UserInfo < Gendalf::WizardModel
50
+ define_step 0, :name do
51
+ validates_presence_of :name
52
+ end
53
+
54
+ define_step 1, :surname do
55
+ validates_presence_of :surname
56
+ end
57
+
58
+ define_final_step 2
59
+ end
60
+
61
+ 3. Add the route:
62
+
63
+ wizard 'wizard', :custom_wizard, 3
64
+
65
+ 4. Launch the application and navigate to http://localhost:3000/wizard/ .
66
+
67
+ Get a working example
68
+ ==========================
69
+
70
+ 1. Clone the [repository](http://github.com/SkyWriter/Gendalf-Demo): git://github.com/SkyWriter/Gendalf-Demo.git .
71
+
72
+ 2. Run bundler.
73
+
74
+ 3. Launch the application and navigate to http://localhost:3000/wizard/ .
data/gendalf.gemspec CHANGED
@@ -2,24 +2,23 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{gendalf}
5
- s.version = "0.3"
5
+ s.version = "0.4"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Ivan Kasatenko"]
9
- s.date = %q{2011-02-17}
9
+ s.date = %q{2011-02-25}
10
10
  s.description = %q{Trivial gem to support wizard application style creation.}
11
11
  s.email = %q{sky.31338@gmail.com}
12
- s.extra_rdoc_files = ["CHANGELOG", "lib/controllers/wizard_controller.rb", "lib/extensions/routes.rb", "lib/gendalf.rb", "lib/models/wizard_model.rb"]
13
- s.files = ["CHANGELOG", "Manifest", "Rakefile", "lib/controllers/wizard_controller.rb", "lib/extensions/routes.rb", "lib/gendalf.rb", "lib/models/wizard_model.rb", "gendalf.gemspec"]
12
+ s.extra_rdoc_files = ["CHANGELOG", "README.markdown", "lib/controllers/wizard_controller.rb", "lib/extensions/routes.rb", "lib/gendalf.rb", "lib/models/wizard_model.rb"]
13
+ s.files = ["CHANGELOG", "Manifest", "README.markdown", "Rakefile", "gendalf.gemspec", "lib/controllers/wizard_controller.rb", "lib/extensions/routes.rb", "lib/gendalf.rb", "lib/models/wizard_model.rb"]
14
14
  s.homepage = %q{http://github.com/skywriter/gendalf}
15
15
  s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Gendalf", "--main", "README.markdown"]
16
16
  s.require_paths = ["lib"]
17
17
  s.rubyforge_project = %q{gendalf}
18
- s.rubygems_version = %q{1.3.7}
18
+ s.rubygems_version = %q{1.5.2}
19
19
  s.summary = %q{Trivial gem to support wizard application style creation.}
20
20
 
21
21
  if s.respond_to? :specification_version then
22
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
23
22
  s.specification_version = 3
24
23
 
25
24
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
@@ -61,7 +61,9 @@ module Gendalf
61
61
  private
62
62
 
63
63
  def redirect_to_current_step
64
- redirect_to wizard_path(current_step) unless step_no == current_step
64
+ if /step\d+(|_submit)/.match(params[:action]) && step_no != current_step
65
+ redirect_to wizard_path(current_step)
66
+ end
65
67
  end
66
68
 
67
69
  def param_name
metadata CHANGED
@@ -1,12 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gendalf
3
3
  version: !ruby/object:Gem::Version
4
- hash: 13
5
- prerelease: false
4
+ hash: 3
5
+ prerelease:
6
6
  segments:
7
7
  - 0
8
- - 3
9
- version: "0.3"
8
+ - 4
9
+ version: "0.4"
10
10
  platform: ruby
11
11
  authors:
12
12
  - Ivan Kasatenko
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2011-02-17 00:00:00 +03:00
17
+ date: 2011-02-25 00:00:00 +03:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -67,6 +67,7 @@ extensions: []
67
67
 
68
68
  extra_rdoc_files:
69
69
  - CHANGELOG
70
+ - README.markdown
70
71
  - lib/controllers/wizard_controller.rb
71
72
  - lib/extensions/routes.rb
72
73
  - lib/gendalf.rb
@@ -74,12 +75,13 @@ extra_rdoc_files:
74
75
  files:
75
76
  - CHANGELOG
76
77
  - Manifest
78
+ - README.markdown
77
79
  - Rakefile
80
+ - gendalf.gemspec
78
81
  - lib/controllers/wizard_controller.rb
79
82
  - lib/extensions/routes.rb
80
83
  - lib/gendalf.rb
81
84
  - lib/models/wizard_model.rb
82
- - gendalf.gemspec
83
85
  has_rdoc: true
84
86
  homepage: http://github.com/skywriter/gendalf
85
87
  licenses: []
@@ -116,7 +118,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
116
118
  requirements: []
117
119
 
118
120
  rubyforge_project: gendalf
119
- rubygems_version: 1.3.7
121
+ rubygems_version: 1.5.2
120
122
  signing_key:
121
123
  specification_version: 3
122
124
  summary: Trivial gem to support wizard application style creation.