ultra_light_wizard 0.0.5 → 0.0.6
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.
- checksums.yaml +4 -4
- data/README.md +110 -25
- data/VERSION +1 -1
- data/lib/generators/templates/app/models/wizard_step_model.rb.erb +6 -0
- data/lib/generators/ultra_light_wizard/wizard_generator.rb +21 -3
- data/ultra_light_wizard.gemspec +5 -5
- metadata +9 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c477bed626ccfefdabaa81d8537e8e045db42feb
|
4
|
+
data.tar.gz: b5e197995d61a13d57ac1ca1fc932894212cdb4a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c4c0c47bbe0ebd1b983a6eab5c1e5635aa65a8ae4b2600638f0475a9f956e82c12a29fadacd5a3fb7604f197a252fc12c710fb35049e3e4899f7a4d7cc65da26
|
7
|
+
data.tar.gz: 785dfb392fcca6b2bb73115a2133a9b1cc3afc429ad0d2a38f7c61955b26c683088fe696d3f5222a5a6ba34e8276ee04e291056b52e31da2351b8a7dbeeef663
|
data/README.md
CHANGED
@@ -11,50 +11,134 @@ https://www.youtube.com/watch?v=muyfoiKHMMA
|
|
11
11
|
Instructions
|
12
12
|
============
|
13
13
|
|
14
|
-
|
14
|
+
Simply use the following command in place of the Rails scaffold generator, and it will scaffold both standard resource and wizard components
|
15
|
+
|
16
|
+
```rails generate ultra_light_wizard:wizard (resource) steps:(step1),(step2),(step3),... attributes:(attribute1:db_type1),(attribute2:db_type2),...```
|
15
17
|
|
16
18
|
This will generate wizard step routes, controller, models, and views
|
17
19
|
|
18
20
|
Example:
|
19
21
|
|
20
|
-
```rails generate ultra_light_wizard:wizard Project steps:basic_info,project_detail,file_uploads,preview```
|
22
|
+
```rails generate ultra_light_wizard:wizard Project steps:basic_info,project_detail,file_uploads,preview attributes:name:string,description:text,start_date:date,delivery_date:date```
|
21
23
|
|
22
24
|
Output:
|
23
25
|
|
24
26
|
```
|
25
|
-
|
26
|
-
|
27
|
-
create
|
28
|
-
create
|
29
|
-
|
30
|
-
create
|
31
|
-
create
|
32
|
-
|
33
|
-
|
34
|
-
|
27
|
+
generate scaffold
|
28
|
+
invoke active_record
|
29
|
+
create db/migrate/20160201025849_create_projects.rb
|
30
|
+
create app/models/project.rb
|
31
|
+
invoke test_unit
|
32
|
+
create test/models/project_test.rb
|
33
|
+
create test/fixtures/projects.yml
|
34
|
+
invoke resource_route
|
35
|
+
route resources :projects
|
36
|
+
invoke scaffold_controller
|
37
|
+
create app/controllers/projects_controller.rb
|
38
|
+
invoke erb
|
39
|
+
create app/views/projects
|
40
|
+
create app/views/projects/index.html.erb
|
41
|
+
create app/views/projects/edit.html.erb
|
42
|
+
create app/views/projects/show.html.erb
|
43
|
+
create app/views/projects/new.html.erb
|
44
|
+
create app/views/projects/_form.html.erb
|
45
|
+
invoke test_unit
|
46
|
+
create test/controllers/projects_controller_test.rb
|
47
|
+
invoke helper
|
48
|
+
create app/helpers/projects_helper.rb
|
49
|
+
invoke test_unit
|
50
|
+
invoke jbuilder
|
51
|
+
create app/views/projects/index.json.jbuilder
|
52
|
+
create app/views/projects/show.json.jbuilder
|
53
|
+
invoke assets
|
54
|
+
invoke coffee
|
55
|
+
create app/assets/javascripts/projects.coffee
|
56
|
+
invoke scss
|
57
|
+
create app/assets/stylesheets/projects.scss
|
58
|
+
invoke scss
|
59
|
+
identical app/assets/stylesheets/scaffolds.scss
|
60
|
+
conflict app/controllers/projects_controller.rb
|
61
|
+
Overwrite /cygdrive/c/Users/a_mal_000/OneDrive/code/rails_example/app/controllers/projects_controller.rb? (enter "h" for help) [Ynaqdh] a
|
62
|
+
force app/controllers/projects_controller.rb
|
63
|
+
create app/controllers/project_steps_controller.rb
|
64
|
+
create app/helpers/project_steps_helper.rb
|
65
|
+
create app/views/project_steps/_step_navigation.html.erb
|
66
|
+
create app/models/project/name.rb
|
67
|
+
create app/views/project_steps/name.html.erb
|
68
|
+
create app/models/project/description.rb
|
69
|
+
create app/views/project_steps/description.html.erb
|
70
|
+
create app/models/project/start_date.rb
|
71
|
+
create app/views/project_steps/start_date.html.erb
|
72
|
+
create app/models/project/delivery_date.rb
|
73
|
+
create app/views/project_steps/delivery_date.html.erb
|
74
|
+
create app/models/project/preview.rb
|
75
|
+
create app/views/project_steps/preview.html.erb
|
76
|
+
route resources :projects, only: [:create, :show] do
|
35
77
|
resources :project_steps, only: [:edit, :update]
|
36
78
|
end
|
37
79
|
```
|
38
80
|
|
81
|
+
It will ask you at one point to overwrite projects_controller generated in included scaffold. Type y or a to have it continue.
|
82
|
+
|
39
83
|
If you'd like to customize the term "step", you can add a step_alias:(alias) option as in the following:
|
40
84
|
|
41
85
|
Example:
|
42
86
|
|
43
|
-
```rails generate ultra_light_wizard:wizard Project steps:basic_info,project_detail,file_uploads,preview step_alias:part```
|
87
|
+
```rails generate ultra_light_wizard:wizard Project steps:basic_info,project_detail,file_uploads,preview attributes:name:string,description:text,start_date:date,delivery_date:date step_alias:part```
|
44
88
|
|
45
89
|
Output:
|
46
90
|
|
47
91
|
```
|
48
|
-
|
49
|
-
|
50
|
-
create
|
51
|
-
create
|
52
|
-
|
53
|
-
create
|
54
|
-
create
|
55
|
-
|
56
|
-
|
57
|
-
|
92
|
+
generate scaffold
|
93
|
+
invoke active_record
|
94
|
+
create db/migrate/20160201025849_create_projects.rb
|
95
|
+
create app/models/project.rb
|
96
|
+
invoke test_unit
|
97
|
+
create test/models/project_test.rb
|
98
|
+
create test/fixtures/projects.yml
|
99
|
+
invoke resource_route
|
100
|
+
route resources :projects
|
101
|
+
invoke scaffold_controller
|
102
|
+
create app/controllers/projects_controller.rb
|
103
|
+
invoke erb
|
104
|
+
create app/views/projects
|
105
|
+
create app/views/projects/index.html.erb
|
106
|
+
create app/views/projects/edit.html.erb
|
107
|
+
create app/views/projects/show.html.erb
|
108
|
+
create app/views/projects/new.html.erb
|
109
|
+
create app/views/projects/_form.html.erb
|
110
|
+
invoke test_unit
|
111
|
+
create test/controllers/projects_controller_test.rb
|
112
|
+
invoke helper
|
113
|
+
create app/helpers/projects_helper.rb
|
114
|
+
invoke test_unit
|
115
|
+
invoke jbuilder
|
116
|
+
create app/views/projects/index.json.jbuilder
|
117
|
+
create app/views/projects/show.json.jbuilder
|
118
|
+
invoke assets
|
119
|
+
invoke coffee
|
120
|
+
create app/assets/javascripts/projects.coffee
|
121
|
+
invoke scss
|
122
|
+
create app/assets/stylesheets/projects.scss
|
123
|
+
invoke scss
|
124
|
+
identical app/assets/stylesheets/scaffolds.scss
|
125
|
+
conflict app/controllers/projects_controller.rb
|
126
|
+
Overwrite /cygdrive/c/Users/a_mal_000/OneDrive/code/rails_example/app/controllers/projects_controller.rb? (enter "h" for help) [Ynaqdh] a
|
127
|
+
force app/controllers/projects_controller.rb
|
128
|
+
create app/controllers/project_parts_controller.rb
|
129
|
+
create app/helpers/project_parts_helper.rb
|
130
|
+
create app/views/project_parts/_part_navigation.html.erb
|
131
|
+
create app/models/project/name.rb
|
132
|
+
create app/views/project_parts/name.html.erb
|
133
|
+
create app/models/project/description.rb
|
134
|
+
create app/views/project_parts/description.html.erb
|
135
|
+
create app/models/project/start_date.rb
|
136
|
+
create app/views/project_parts/start_date.html.erb
|
137
|
+
create app/models/project/delivery_date.rb
|
138
|
+
create app/views/project_parts/delivery_date.html.erb
|
139
|
+
create app/models/project/preview.rb
|
140
|
+
create app/views/project_parts/preview.html.erb
|
141
|
+
route resources :projects, only: [:create, :show] do
|
58
142
|
resources :project_parts, only: [:edit, :update]
|
59
143
|
end
|
60
144
|
```
|
@@ -96,8 +180,9 @@ Features
|
|
96
180
|
+ [DONE] Route helper methods
|
97
181
|
+ [DONE] Wizard kick-off helper/view
|
98
182
|
+ [DONE] Forms
|
99
|
-
-
|
100
|
-
|
183
|
+
- Form fields
|
184
|
+
+ [DONE] Scaffolding of main model controller/views/migration
|
185
|
+
+ [DONE] Support for attributes
|
101
186
|
- Support for nested resources
|
102
187
|
- Modularize (perhaps extracting sub-generators)
|
103
188
|
+ [DONE] Customize name conventions
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.6
|
@@ -4,8 +4,10 @@ module UltraLightWizard
|
|
4
4
|
source_root File.expand_path("../../templates", __FILE__)
|
5
5
|
def arguments
|
6
6
|
args.inject({}) do |output, arg|
|
7
|
-
|
8
|
-
|
7
|
+
# Accommodate argument values containing colon by matching against
|
8
|
+
# occurance of it only
|
9
|
+
arg_parts = arg.match(/^([^:]+)\:(.+)$/)
|
10
|
+
output.merge(arg_parts[1] => arg_parts[2])
|
9
11
|
end
|
10
12
|
end
|
11
13
|
|
@@ -29,8 +31,23 @@ module UltraLightWizard
|
|
29
31
|
file_path.pluralize
|
30
32
|
end
|
31
33
|
|
34
|
+
def model_attributes
|
35
|
+
arguments['attributes']
|
36
|
+
end
|
37
|
+
|
38
|
+
def hashed_model_attributes
|
39
|
+
model_attributes.split(',').inject({}) do |output, pair|
|
40
|
+
split_pair = pair.split(':')
|
41
|
+
output.merge(split_pair.first => split_pair.last)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
def scaffold_attributes
|
46
|
+
model_attributes.sub(',', ' ')
|
47
|
+
end
|
48
|
+
|
32
49
|
def controller_attribute_names
|
33
|
-
|
50
|
+
hashed_model_attributes.keys.map {|key| "\"#{key}\""}.join(', ')
|
34
51
|
end
|
35
52
|
|
36
53
|
def human_name
|
@@ -43,6 +60,7 @@ module UltraLightWizard
|
|
43
60
|
|
44
61
|
desc "Creates a configuration file for a specific application context (e.g. admin). Takes context path as argument (e.g. admin or internal/wiki) to create config/features/[context_path].yml"
|
45
62
|
def copy_config
|
63
|
+
generate "scaffold", "#{file_path} #{scaffold_attributes}"
|
46
64
|
template "app/controllers/model_controller.rb.erb", "app/controllers/#{file_path.pluralize}_controller.rb"
|
47
65
|
template "app/controllers/wizard_steps_controller.rb.erb", "app/controllers/#{file_path}_#{step_alias.pluralize}_controller.rb"
|
48
66
|
template "app/helpers/wizard_steps_helper.rb.erb", "app/helpers/#{file_path}_#{step_alias.pluralize}_helper.rb"
|
data/ultra_light_wizard.gemspec
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
# Generated by jeweler
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
-
# Instead, edit Jeweler::Tasks in
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: ultra_light_wizard 0.0.
|
5
|
+
# stub: ultra_light_wizard 0.0.6 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "ultra_light_wizard"
|
9
|
-
s.version = "0.0.
|
9
|
+
s.version = "0.0.6"
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
12
|
s.require_paths = ["lib"]
|
13
13
|
s.authors = ["Andy Maleh"]
|
14
|
-
s.date = "2016-01
|
14
|
+
s.date = "2016-02-01"
|
15
15
|
s.description = "Ultra light & maintainble wizards in Rails that honor REST, MVC, and OO with minimal writing of code involved and maximum flexibility"
|
16
16
|
s.email = "andy.am@gmail.com"
|
17
17
|
s.extra_rdoc_files = [
|
@@ -43,7 +43,7 @@ Gem::Specification.new do |s|
|
|
43
43
|
]
|
44
44
|
s.homepage = "http://github.com/AndyObtiva/ultra_light_wizard"
|
45
45
|
s.licenses = ["MIT"]
|
46
|
-
s.rubygems_version = "2.4.
|
46
|
+
s.rubygems_version = "2.4.6"
|
47
47
|
s.summary = "Ultra Light & Maintainable Wizards In Rails"
|
48
48
|
|
49
49
|
if s.respond_to? :specification_version then
|
metadata
CHANGED
@@ -1,27 +1,27 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ultra_light_wizard
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andy Maleh
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-01
|
11
|
+
date: 2016-02-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jeweler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 1.8.8
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ~>
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 1.8.8
|
27
27
|
description: Ultra light & maintainble wizards in Rails that honor REST, MVC, and
|
@@ -33,8 +33,8 @@ extra_rdoc_files:
|
|
33
33
|
- LICENSE.txt
|
34
34
|
- README.md
|
35
35
|
files:
|
36
|
-
-
|
37
|
-
-
|
36
|
+
- .ruby-gemset
|
37
|
+
- .ruby-version
|
38
38
|
- Gemfile
|
39
39
|
- Gemfile.lock
|
40
40
|
- LICENSE.txt
|
@@ -64,17 +64,17 @@ require_paths:
|
|
64
64
|
- lib
|
65
65
|
required_ruby_version: !ruby/object:Gem::Requirement
|
66
66
|
requirements:
|
67
|
-
- -
|
67
|
+
- - '>='
|
68
68
|
- !ruby/object:Gem::Version
|
69
69
|
version: '0'
|
70
70
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
71
71
|
requirements:
|
72
|
-
- -
|
72
|
+
- - '>='
|
73
73
|
- !ruby/object:Gem::Version
|
74
74
|
version: '0'
|
75
75
|
requirements: []
|
76
76
|
rubyforge_project:
|
77
|
-
rubygems_version: 2.4.
|
77
|
+
rubygems_version: 2.4.6
|
78
78
|
signing_key:
|
79
79
|
specification_version: 4
|
80
80
|
summary: Ultra Light & Maintainable Wizards In Rails
|