scaf-generator 0.2.4 → 0.2.5
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/generators/mini_form/USAGE +8 -0
- data/lib/generators/mini_form/mini_form_generator.rb +11 -0
- data/lib/generators/mini_form/templates/mini_form.rb +25 -0
- data/lib/generators/prueba/atributo.rb +2 -1
- data/lib/generators/prueba/prueba_generator.rb +7 -2
- data/lib/generators/prueba/templates/cargar.erb +1 -1
- data/lib/generators/prueba/templates/controller.erb +10 -7
- data/lib/generators/prueba/templates/migration.erb +4 -1
- data/lib/generators/prueba/templates/model.erb +16 -4
- data/lib/generators/prueba/templates/views/_mini_form.erb +1 -1
- data/lib/generators/prueba/templates/views/index.erb +1 -1
- data/lib/generators/prueba/templates/views/nombre.erb +1 -1
- data/lib/version.rb +1 -1
- data/pkg/scaf-generator-0.2.4.gem +0 -0
- metadata +5 -1
@@ -0,0 +1,11 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
class MiniFormGenerator < Rails::Generators::Base
|
3
|
+
source_root File.expand_path('../templates', __FILE__)
|
4
|
+
|
5
|
+
def initialize(*arguments, &block)
|
6
|
+
super
|
7
|
+
end
|
8
|
+
def body
|
9
|
+
copy_file 'mini_form.rb', 'lib/mini_form.rb'
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module MiniForm
|
2
|
+
def mini_form_for(object, *args, &block)
|
3
|
+
args ||= []
|
4
|
+
options = args.extract_options!.merge!({:wrapper => :mini, :html => {:id => :mini, :class => 'collapse form-inline'}})
|
5
|
+
simple_form_for(object, *(args << options.merge(:builder => MiniFormBuilder)), &block)
|
6
|
+
end
|
7
|
+
|
8
|
+
class MiniFormBuilder < SimpleForm::FormBuilder
|
9
|
+
def input(attribute_name, options = {}, &block)
|
10
|
+
options[:input_html] = { :class => 'input-medium'}
|
11
|
+
super
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
# Wrapper para Mini Formularios
|
16
|
+
# TODO: encontrar la manera de cambiar la clase de todos los input por 'input-medium'
|
17
|
+
SimpleForm.setup do |config|
|
18
|
+
config.wrappers :mini, :tag => 'span' , :class => 'controls', :error_class => 'error' do |b|
|
19
|
+
b.use :html5
|
20
|
+
b.use :placeholder
|
21
|
+
b.use :input
|
22
|
+
b.use :error, :wrap_with => { :tag => 'span', :class => 'help-inline' }
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -36,7 +36,7 @@ class PruebaGenerator < Rails::Generators::Base
|
|
36
36
|
args.each do |arg|
|
37
37
|
@atributos << Atributo.new(arg)
|
38
38
|
end
|
39
|
-
|
39
|
+
@identificador = @atributos.first.nombre
|
40
40
|
info #TODO: sacar de aca!.
|
41
41
|
|
42
42
|
end
|
@@ -52,7 +52,8 @@ class PruebaGenerator < Rails::Generators::Base
|
|
52
52
|
end
|
53
53
|
template "views/nombre.erb", "app/views/admin/#{@plural}/_#{@singular}.html.erb"
|
54
54
|
|
55
|
-
|
55
|
+
resources_route = @con_orden ? "\n resources :#{@plural} do\n post :reordenar, :on => :collection\n end" : "\n resources :#{@plural}"
|
56
|
+
add_admin_route resources_route
|
56
57
|
|
57
58
|
template 'cargar.erb', "lib/tasks/cargar_#{@plural}.rake"
|
58
59
|
end
|
@@ -97,5 +98,9 @@ class PruebaGenerator < Rails::Generators::Base
|
|
97
98
|
say "new_path #{@new_path}"
|
98
99
|
say "edit_path #{@edit_path}"
|
99
100
|
end
|
101
|
+
|
102
|
+
def atributos_con_referencia
|
103
|
+
@atributos.select {|a| a.clase == :references}
|
104
|
+
end
|
100
105
|
|
101
106
|
end
|
@@ -1,24 +1,27 @@
|
|
1
1
|
class Admin::<%= @classes %>Controller < Admin::AdminController
|
2
|
-
<%=
|
2
|
+
<%= "include Sortable" if @con_orden %>
|
3
3
|
load_and_authorize_resource
|
4
4
|
|
5
5
|
def index
|
6
6
|
@<%= @singular %> = <%= @class %>.new
|
7
7
|
end
|
8
8
|
|
9
|
-
def new
|
10
|
-
|
11
|
-
|
9
|
+
def new
|
10
|
+
end
|
11
|
+
|
12
12
|
def create
|
13
13
|
@<%= @singular %> = <%= @class %>.new params[:<%= @singular %>]
|
14
14
|
@<%= @singular %>.save!
|
15
|
-
|
15
|
+
notice = mensaje
|
16
16
|
respond_to do |format|
|
17
17
|
format.html { redirect_to <%= @plural_path %>, notice: mensaje }
|
18
18
|
format.js { @elemento = @<%= @singular %> }
|
19
19
|
end
|
20
20
|
end
|
21
21
|
|
22
|
+
def edit
|
23
|
+
end
|
24
|
+
|
22
25
|
def update
|
23
26
|
@<%= @singular %>.update_attributes! params[:<%= @singular %>]
|
24
27
|
redirect_to <%= @edit_path %>(@<%= @singular %>), notice: mensaje
|
@@ -27,7 +30,7 @@ class Admin::<%= @classes %>Controller < Admin::AdminController
|
|
27
30
|
def destroy
|
28
31
|
@id = @<%= @singular %>.id
|
29
32
|
@<%= @singular %>.eliminar!
|
30
|
-
|
33
|
+
notice = mensaje
|
31
34
|
respond_to do |format|
|
32
35
|
format.html { redirect_to <%= @plural_path %>, notice: mensaje }
|
33
36
|
format.js
|
@@ -40,7 +43,7 @@ class Admin::<%= @classes %>Controller < Admin::AdminController
|
|
40
43
|
flash.now.notice = t("notice.#{action_name}")
|
41
44
|
end
|
42
45
|
|
43
|
-
<%- if @con_orden
|
46
|
+
<%- if @con_orden -%>
|
44
47
|
def sort_coleccion
|
45
48
|
<%= @class %>.all
|
46
49
|
end
|
@@ -2,12 +2,15 @@ class Create<%= @classes %> < ActiveRecord::Migration
|
|
2
2
|
def change
|
3
3
|
create_table :<%= @plural %> do |t|
|
4
4
|
<%- @atributos.each do |a| -%>
|
5
|
-
t.<%= a.clase %> :<%= a.nombre %> <%= ", :default => #{a.default}" if a.default %>
|
5
|
+
t.<%= a.clase %> :<%= a.nombre %> <%= ", :default => #{a.default}" if (a.default && a.ejemplo) %>
|
6
6
|
<%- end -%>
|
7
7
|
|
8
8
|
<%- if @con_slug -%>
|
9
9
|
t.string :slug
|
10
10
|
<%- end -%>
|
11
|
+
<%- if @con_orden -%>
|
12
|
+
t.integer :orden
|
13
|
+
<%- end -%>
|
11
14
|
t.boolean :es_activo, :default => true
|
12
15
|
|
13
16
|
t.timestamps
|
@@ -1,14 +1,26 @@
|
|
1
1
|
class <%= @class %> < ActiveRecord::Base
|
2
|
-
|
3
|
-
<%- if @con_slug
|
2
|
+
<%= 'before_create :set_orden' if @con_orden %>
|
3
|
+
<%- if @con_slug -%>
|
4
4
|
extend FriendlyId
|
5
|
-
friendly_id
|
5
|
+
friendly_id :<%= @identificador %>, use: :slugged
|
6
|
+
<%- end -%>
|
7
|
+
|
8
|
+
<%- atributos_con_referencia.each do |a| -%>
|
9
|
+
belongs_to :<%= a.nombre %>
|
6
10
|
<%- end -%>
|
7
11
|
|
8
|
-
default_scope where(:es_activo => true)<%=
|
12
|
+
default_scope where(:es_activo => true)<%= ".order('#{@plural}.orden')" if @con_orden %>
|
9
13
|
|
10
14
|
def eliminar!
|
11
15
|
update_attributes :es_activo => false
|
12
16
|
end
|
17
|
+
|
18
|
+
alias_attribute :to_s, :<%= @identificador %>
|
13
19
|
|
20
|
+
private
|
21
|
+
<%- if @con_orden -%>
|
22
|
+
def set_orden
|
23
|
+
self.orden = self.id
|
24
|
+
end
|
25
|
+
<%- end -%>
|
14
26
|
end
|
@@ -10,7 +10,7 @@
|
|
10
10
|
<%%= render "mini_form", :<%= @singular %> => @<%= @singular %>, :url => <%= @plural_path %> %>
|
11
11
|
|
12
12
|
<table id="ordenable" class="table table-striped ordenable">
|
13
|
-
<%%= thead(:<%= @
|
13
|
+
<%%= thead(:<%= @identificador %>) %>
|
14
14
|
<tbody>
|
15
15
|
<%%= render @<%= @plural %> %>
|
16
16
|
</tbody>
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<%%- clase ||= 'elemento' -%>
|
2
2
|
<%%= content_tag :tr, :class => clase, :id => "elementos_#{<%= @singular %>.id}" do %>
|
3
|
-
<td><%%= <%= @singular %>.<%= @
|
3
|
+
<td><%%= <%= @singular %>.<%= @identificador %> %></td>
|
4
4
|
<td><%%= content_tag :i, '',:class => "handle icon-move", :title => "Mantenga click y arrastre para reordenar" %></td>
|
5
5
|
<td><%%= link_to 'Editar' , <%= @edit_path %>(<%= @singular %>), :class => 'btn btn-mini' if can? :editar, <%= @singular %> %></td>
|
6
6
|
<td><%%= link_to "Eliminar", <%= @singular_path %>(<%= @singular %>), :method => :delete, :confirm => t("confirmacion"), :remote => true, :class => 'btn btn-mini btn-danger' %></td>
|
data/lib/version.rb
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: scaf-generator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -22,6 +22,9 @@ files:
|
|
22
22
|
- Gemfile
|
23
23
|
- README.md
|
24
24
|
- Rakefile
|
25
|
+
- lib/generators/mini_form/USAGE
|
26
|
+
- lib/generators/mini_form/mini_form_generator.rb
|
27
|
+
- lib/generators/mini_form/templates/mini_form.rb
|
25
28
|
- lib/generators/prueba/USAGE
|
26
29
|
- lib/generators/prueba/atributo.rb
|
27
30
|
- lib/generators/prueba/prueba_generator.rb
|
@@ -57,6 +60,7 @@ files:
|
|
57
60
|
- pkg/scaf-generator-0.1.7.gem
|
58
61
|
- pkg/scaf-generator-0.2.1.gem
|
59
62
|
- pkg/scaf-generator-0.2.2.gem
|
63
|
+
- pkg/scaf-generator-0.2.4.gem
|
60
64
|
- scaf-generator.gemspec
|
61
65
|
homepage: http://github.com/nicanorperera/scaf-generator
|
62
66
|
licenses: []
|