formgen 0.2.1 → 0.3.0
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/VERSION +1 -1
- data/formgen.gemspec +5 -1
- data/lib/generators/skizmo/form/form_generator.rb +9 -5
- data/lib/generators/skizmo/form/templates/_form.html.haml +46 -0
- data/lib/generators/skizmo/form/templates/_nested_fields.html.haml +9 -0
- data/lib/generators/skizmo/form/templates/edit.html.haml +3 -0
- data/lib/generators/skizmo/form/templates/new.html.haml +3 -0
- metadata +8 -4
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.3.0
|
data/formgen.gemspec
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{formgen}
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.3.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Pullmonkey"]
|
@@ -29,11 +29,15 @@ Gem::Specification.new do |s|
|
|
29
29
|
"lib/generators/skizmo/form/USAGE",
|
30
30
|
"lib/generators/skizmo/form/form_generator.rb",
|
31
31
|
"lib/generators/skizmo/form/templates/_form.html.erb",
|
32
|
+
"lib/generators/skizmo/form/templates/_form.html.haml",
|
32
33
|
"lib/generators/skizmo/form/templates/_nested_fields.html.erb",
|
34
|
+
"lib/generators/skizmo/form/templates/_nested_fields.html.haml",
|
33
35
|
"lib/generators/skizmo/form/templates/edit.html.erb",
|
36
|
+
"lib/generators/skizmo/form/templates/edit.html.haml",
|
34
37
|
"lib/generators/skizmo/form/templates/helper.rb",
|
35
38
|
"lib/generators/skizmo/form/templates/javascript.js",
|
36
39
|
"lib/generators/skizmo/form/templates/new.html.erb",
|
40
|
+
"lib/generators/skizmo/form/templates/new.html.haml",
|
37
41
|
"lib/generators/skizmo/form/templates/setup_helper.rb",
|
38
42
|
"test/helper.rb",
|
39
43
|
"test/test_formgen.rb"
|
@@ -10,7 +10,7 @@ module Skizmo
|
|
10
10
|
class_option :select_boxes, :type => :boolean, :default => true,
|
11
11
|
:description => "Generates select box selections for belongs_to and has_many associations that are not accepted as nested_attributes"
|
12
12
|
|
13
|
-
def generate_form
|
13
|
+
def generate_form
|
14
14
|
unless nested_has_many_classes.empty?
|
15
15
|
copy_file "javascript.js", "public/javascripts/jquery.add_remove_links.js" if options.javascript?
|
16
16
|
copy_file "helper.rb", "app/helpers/add_remove_links_helper.rb" if options.helpers?
|
@@ -18,21 +18,25 @@ module Skizmo
|
|
18
18
|
unless nested_classes_with_attributes.empty?
|
19
19
|
template "setup_helper.rb", "app/helpers/#{file_name}_setup_helper.rb" if options.helpers?
|
20
20
|
end
|
21
|
-
template "new.html
|
22
|
-
template "edit.html
|
21
|
+
template "new.html.#{engine}", "app/views/#{file_name.pluralize}/new.html.#{engine}"
|
22
|
+
template "edit.html.#{engine}", "app/views/#{file_name.pluralize}/edit.html.#{engine}"
|
23
23
|
@have_attachment_string = have_attachments? ? ", :html => { :multipart => true }" : ""
|
24
|
-
template "_form.html
|
24
|
+
template "_form.html.#{engine}", "app/views/#{file_name.pluralize}/_form.html.#{engine}"
|
25
25
|
nested_classes_with_attributes.each do |hash_with_kls_and_attrs|
|
26
26
|
@kls = hash_with_kls_and_attrs[:kls] # class object
|
27
27
|
@sym = hash_with_kls_and_attrs[:sym] # passed to the fields_for
|
28
28
|
@attrs = hash_with_kls_and_attrs[:attrs] # attrs that are worthy for this association
|
29
29
|
@assoc = hash_with_kls_and_attrs[:assoc] # so we know whether to use the add and remove links or not
|
30
|
-
template "_nested_fields.html
|
30
|
+
template "_nested_fields.html.#{engine}", "app/views/#{file_name.pluralize}/_#{@sym.to_s.singularize}_fields.html.#{engine}"
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
34
34
|
private
|
35
35
|
|
36
|
+
def engine
|
37
|
+
::Rails.application.config.app_generators.rails[:template_engine].to_s rescue "erb"
|
38
|
+
end
|
39
|
+
|
36
40
|
def file_name
|
37
41
|
cls_underscore
|
38
42
|
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
<% if options.helpers? -%>
|
2
|
+
= form_for setup_<%= cls_underscore %>(@<%= cls.to_s.underscore %>)<%= @have_attachment_string %> do |f|
|
3
|
+
<% else -%>
|
4
|
+
= form_for @<%= cls.to_s.underscore %><%= @have_attachment_string %> do |f|
|
5
|
+
<% end -%>
|
6
|
+
- if @<%= cls.to_s.underscore %>.errors.any?
|
7
|
+
#errorExplanation
|
8
|
+
%h2
|
9
|
+
=pluralize(@<%= cls.to_s.underscore %>.errors.count, "error")
|
10
|
+
prohibited this <%= cls.to_s.underscore.gsub("_"," ") %> from being saved:
|
11
|
+
%ul
|
12
|
+
-@<%= cls.to_s.underscore %>.errors.full_messages.each do |msg|
|
13
|
+
%li= msg
|
14
|
+
<% attributes_worth_using_in_the_form.each do |att| -%>
|
15
|
+
.field
|
16
|
+
= f.label :<%= att %>
|
17
|
+
= f.<%= attr_form_method(cls, att) %> :<%= att %>
|
18
|
+
<% end -%>
|
19
|
+
<% if options.select_boxes? -%>
|
20
|
+
<% non_nested_belongs_to_classes.each do |cls_name| -%>
|
21
|
+
.field
|
22
|
+
= f.label :<%= cls_name %>_id, "<%= cls_name.to_s.underscore.gsub("_", " ").camelize %>"
|
23
|
+
= f.select :<%= cls_name %>_id, build_select_list(:<%= cls_name %>), {:prompt => "Please select one"}
|
24
|
+
<% end -%>
|
25
|
+
<% non_nested_has_many_classes.each do |cls_name| -%>
|
26
|
+
.field
|
27
|
+
= f.label :<%= cls_name.to_s.singularize %>_ids, "<%= cls_name.to_s.underscore.gsub("_", " ").camelize %>"
|
28
|
+
= f.select :<%= cls_name.to_s.singularize %>_ids, build_select_list(:<%= cls_name %>), {:prompt => "Please select"}, {:multiple => true, :size => 4}
|
29
|
+
<% end -%>
|
30
|
+
<% end -%>
|
31
|
+
<% nested_belongs_to_classes.each do |cls_name| -%>
|
32
|
+
= f.fields_for :<%= cls_name %> do |nf|
|
33
|
+
= render '<%= cls_name.to_s.singularize.underscore %>_fields', :f => nf
|
34
|
+
<% end -%>
|
35
|
+
<% nested_has_many_classes.each do |cls_name| -%>
|
36
|
+
= f.fields_for :<%= cls_name %> do |nf|
|
37
|
+
= render '<%= cls_name.to_s.singularize.underscore %>_fields', :f => nf
|
38
|
+
<% if options.javascript? -%>
|
39
|
+
%p= link_to_add_fields "Add <%= cls_name.to_s.singularize.gsub("_"," ") %>", f, :<%= cls_name %>
|
40
|
+
<% end -%>
|
41
|
+
<% end -%>
|
42
|
+
= f.submit "Save"
|
43
|
+
<% if options.javascript? -%>
|
44
|
+
= content_for :head do
|
45
|
+
= javascript_include_tag 'jquery.add_remove_links.js'
|
46
|
+
<% end -%>
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: formgen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 19
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
-
|
10
|
-
version: 0.
|
8
|
+
- 3
|
9
|
+
- 0
|
10
|
+
version: 0.3.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Pullmonkey
|
@@ -100,11 +100,15 @@ files:
|
|
100
100
|
- lib/generators/skizmo/form/USAGE
|
101
101
|
- lib/generators/skizmo/form/form_generator.rb
|
102
102
|
- lib/generators/skizmo/form/templates/_form.html.erb
|
103
|
+
- lib/generators/skizmo/form/templates/_form.html.haml
|
103
104
|
- lib/generators/skizmo/form/templates/_nested_fields.html.erb
|
105
|
+
- lib/generators/skizmo/form/templates/_nested_fields.html.haml
|
104
106
|
- lib/generators/skizmo/form/templates/edit.html.erb
|
107
|
+
- lib/generators/skizmo/form/templates/edit.html.haml
|
105
108
|
- lib/generators/skizmo/form/templates/helper.rb
|
106
109
|
- lib/generators/skizmo/form/templates/javascript.js
|
107
110
|
- lib/generators/skizmo/form/templates/new.html.erb
|
111
|
+
- lib/generators/skizmo/form/templates/new.html.haml
|
108
112
|
- lib/generators/skizmo/form/templates/setup_helper.rb
|
109
113
|
- test/helper.rb
|
110
114
|
- test/test_formgen.rb
|