scaf-generator 0.2.4 → 0.2.5
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/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: []
|