rieles 0.0.4 → 0.0.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/README.rdoc +8 -4
- data/app/views/application/_error_messages.html.erb +1 -1
- data/app/views/application/_error_messages.html.haml +11 -0
- data/lib/config/initializer/inflections.rb +17 -13
- data/lib/config/locales/es.yml +36 -27
- data/lib/generators/rieles/install_generator.rb +59 -26
- data/lib/rieles/version.rb +1 -1
- data/lib/templates/erb/scaffold/index.html.erb +13 -3
- data/lib/templates/erb/scaffold/new.html.erb +1 -1
- data/lib/templates/erb/scaffold/show.html.erb +4 -0
- data/lib/templates/haml/scaffold/_form.html.haml +12 -0
- data/lib/templates/haml/scaffold/edit.html.haml +7 -0
- data/lib/templates/haml/scaffold/index.html.haml +33 -0
- data/lib/templates/haml/scaffold/new.html.haml +6 -0
- data/lib/templates/haml/scaffold/show.html.haml +15 -0
- data/rieles.gemspec +2 -2
- data/spec/inflections_spec.rb +4 -0
- data/spec/lib/generators/rieles/install_generator_spec.rb +34 -12
- metadata +16 -4
data/README.rdoc
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
= Rieles
|
|
2
2
|
|
|
3
|
-
Incluye diversos archivos para trabajar en Español.
|
|
3
|
+
Incluye diversos archivos para trabajar en Español. Dentro de los recursos que se agregan está el archivo de inflections para pluralizar y singularizar en Español, el archivo de locale para traducir los mensajes, y los templates erb y haml para que el scaffold genere las vistas completamente en Español.
|
|
4
4
|
|
|
5
5
|
== Instalación
|
|
6
6
|
|
|
@@ -18,6 +18,10 @@ O instálala de la siguiente manera:
|
|
|
18
18
|
|
|
19
19
|
== Uso
|
|
20
20
|
|
|
21
|
+
Modifica el archivo config/application.rb para indicar que se trabajará en Español.
|
|
22
|
+
|
|
23
|
+
config.i18n.default_locale = :es
|
|
24
|
+
|
|
21
25
|
¡Listo! Con esto ya tienes los inflections y locales en Español. Puedes probar entrando a una consola:
|
|
22
26
|
|
|
23
27
|
$ rails console
|
|
@@ -27,14 +31,14 @@ y obteniendo el plural o singular de alguna palabra en Español, por ejemplo:
|
|
|
27
31
|
'riel'.pluralize
|
|
28
32
|
'rieles'.singularize
|
|
29
33
|
|
|
30
|
-
Igualmente, los mensajes de error de active record y las vistas generadas por el scaffold se mostrarán
|
|
34
|
+
Igualmente, los mensajes de error de active record y las vistas generadas por el scaffold se mostrarán ya traducidas.
|
|
31
35
|
|
|
32
36
|
== Personalización (recomendada)
|
|
33
37
|
|
|
34
38
|
Se recomienda instalar los archivos de inflections, locales y la estructura de las vistas para adaptarlos a tus necesidades
|
|
35
39
|
|
|
36
|
-
$
|
|
40
|
+
$ rails generate rieles:install
|
|
37
41
|
|
|
38
|
-
Si haces esto, la gema puede quedar en el grupo 'development', lo que significa que no será necesaria en producción. En el Gemfile debe aparecer como:
|
|
42
|
+
Si haces esto, la gema puede quedar en el grupo 'development', lo que significa que no será necesaria en el entorno de producción. En el Gemfile debe aparecer como:
|
|
39
43
|
|
|
40
44
|
gem 'rieles', :group => :development
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<% if target.errors.any? %>
|
|
2
|
-
<% gender ||= target.class.name
|
|
2
|
+
<% gender ||= (target.class.name =~ /[ad]$/ ) ? "female" : "male" %>
|
|
3
3
|
<% model_name ||= target.class.name.underscore.humanize.downcase %>
|
|
4
4
|
<div id="error_explanation">
|
|
5
5
|
<h2>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
- if target.errors.any?
|
|
2
|
+
- gender ||= (target.class.name =~ /[ad]$/ ) ? "female" : "male"
|
|
3
|
+
- model_name ||= target.class.name.underscore.humanize.downcase
|
|
4
|
+
#error_explanation
|
|
5
|
+
%h2
|
|
6
|
+
= t('activerecord.errors.template.header', :count => target.errors.count, :model => model_name, :article => (gender == "male" ? "El" : "La"))
|
|
7
|
+
= t('activerecord.errors.template.body')
|
|
8
|
+
%ul
|
|
9
|
+
- target.errors.full_messages.each do |msg|
|
|
10
|
+
%li
|
|
11
|
+
= msg
|
|
@@ -24,8 +24,15 @@ ActiveSupport::Inflector.inflections do |inflect|
|
|
|
24
24
|
# terminen con r, n, d, l se convierten a plural agregando la sílaba "es",
|
|
25
25
|
# de otra forma, el plural se obtendrían como doctors, camions, universidads
|
|
26
26
|
# y pastels.
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
# Para que la expresión no quede tan extensa, vamos a utilizar unas variables
|
|
28
|
+
# para almacenar parte de la misma. También nos servirá para no tener que
|
|
29
|
+
# repetir la mistra estructura.
|
|
30
|
+
|
|
31
|
+
final_singular_rndlj = /([rndlj])([A-Z]|_|$)/
|
|
32
|
+
final_singular_vocal = /([aeiou])([A-Z]|_|$)/
|
|
33
|
+
|
|
34
|
+
inflect.plural(/#{final_singular_rndlj}/, '\1es\2')
|
|
35
|
+
inflect.plural(/#{final_singular_vocal}/, '\1s\2')
|
|
29
36
|
|
|
30
37
|
# Las reglas anteriores funcionan incluso cuando son palabras compuestas por
|
|
31
38
|
# dos o más palabras, siempre y cuando, todas sean del mismo tipo, es decir,
|
|
@@ -38,10 +45,10 @@ ActiveSupport::Inflector.inflections do |inflect|
|
|
|
38
45
|
# "paciente_doctores". Esto sucede porque al pluralizar, rails aplica sólo
|
|
39
46
|
# la última regla que coincida y omite las demás.
|
|
40
47
|
# Para soportar palabras compuestas, es necesario agregar otras reglas.
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
inflect.plural(
|
|
44
|
-
|
|
48
|
+
compuesta_singular_1 = /#{final_singular_vocal}([a-z]+)#{final_singular_rndlj}/
|
|
49
|
+
compuesta_singular_2 = /#{final_singular_rndlj}([a-z]+)#{final_singular_vocal}/
|
|
50
|
+
inflect.plural(compuesta_singular_1, '\1s\2\3\4es\5')
|
|
51
|
+
inflect.plural(compuesta_singular_2, '\1es\2\3\4s\5')
|
|
45
52
|
# Con estas reglas, ya se pueden traducir correctamente las palabras compuestas
|
|
46
53
|
# de dos palabras aunque no sean del mismo tipo.
|
|
47
54
|
# Se pueden agregar, de la misma manera, reglas para cuando se trate de tres
|
|
@@ -66,9 +73,6 @@ ActiveSupport::Inflector.inflections do |inflect|
|
|
|
66
73
|
# sílaba "es" del final, se singularizaría como 'semestr'. Para evitar eso, se
|
|
67
74
|
# obliga que la palabra que termina en "es" y venga precedida de r, n, d o l,
|
|
68
75
|
# deba también ser precedida por una vocal.
|
|
69
|
-
# Para que la epresión no quede tan extensa, vamos a utilizar unas variables
|
|
70
|
-
# para almacenar parte de la misma. También nos servirá para no tener que
|
|
71
|
-
# repetir la mistra estructura.
|
|
72
76
|
|
|
73
77
|
# Primero, definimos las palabras que terminen en 'es', precedido de r, n, d,
|
|
74
78
|
# l o j, precedido de una vocal.
|
|
@@ -80,8 +84,8 @@ ActiveSupport::Inflector.inflections do |inflect|
|
|
|
80
84
|
# Lsas palabras compuestas serán las siguientes: la primera palabra es con r,
|
|
81
85
|
# n, d, l o j, seguida de una palabra terminada en vocal. La segunda palabra
|
|
82
86
|
# compuesta, será al revés.
|
|
83
|
-
|
|
84
|
-
|
|
87
|
+
compuesta_plural_1 = /#{final_plural_rndlj}([a-z]+)#{final_plural_vocal}/
|
|
88
|
+
compuesta_plural_2 = /#{final_plural_vocal}([a-z]+)#{final_plural_rndlj}/
|
|
85
89
|
|
|
86
90
|
# las palabras terminadas en ia ya están en singular
|
|
87
91
|
inflect.singular(/(ia)([A-Z]|_|$)$/i, '\1')
|
|
@@ -91,8 +95,8 @@ ActiveSupport::Inflector.inflections do |inflect|
|
|
|
91
95
|
# tanto en vocal, como en r, n, d, l, o j.
|
|
92
96
|
inflect.singular(final_plural_rndlj, '\1\2')
|
|
93
97
|
inflect.singular(final_plural_vocal, '\1\2')
|
|
94
|
-
inflect.singular(
|
|
95
|
-
inflect.singular(
|
|
98
|
+
inflect.singular(compuesta_plural_1, '\1\2\3\4\5')
|
|
99
|
+
inflect.singular(compuesta_plural_2, '\1\2\3\4\5')
|
|
96
100
|
|
|
97
101
|
# Para singularizar palabras con 'ces', como 'maices'
|
|
98
102
|
inflect.singular(/ces$/, 'z')
|
data/lib/config/locales/es.yml
CHANGED
|
@@ -172,35 +172,44 @@ es:
|
|
|
172
172
|
update: 'Actualizar %{model}'
|
|
173
173
|
submit: 'Guardar %{model}'
|
|
174
174
|
|
|
175
|
+
links:
|
|
176
|
+
back: 'Listado'
|
|
177
|
+
show: 'Mostrar'
|
|
178
|
+
edit: 'Editar'
|
|
179
|
+
destroy: 'Eliminar'
|
|
180
|
+
new: 'Nuevo %{model}'
|
|
181
|
+
f_new: 'Nueva %{model}'
|
|
182
|
+
confirm: '¿Está usted seguro?'
|
|
183
|
+
|
|
175
184
|
errors:
|
|
176
|
-
|
|
185
|
+
format: "%{attribute} %{message}"
|
|
177
186
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
187
|
+
messages: &errors_messages
|
|
188
|
+
inclusion: "no está incluído en la lista"
|
|
189
|
+
exclusion: "está reservado"
|
|
190
|
+
invalid: "es inválido"
|
|
191
|
+
confirmation: "no coincide con la confirmación"
|
|
192
|
+
blank: "no puede estar en blanco"
|
|
193
|
+
empty: "no puede estar vacío"
|
|
194
|
+
not_a_number: "no es un número"
|
|
195
|
+
not_an_integer: "debe ser un entero"
|
|
196
|
+
less_than: "debe ser menor que %{count}"
|
|
197
|
+
less_than_or_equal_to: "debe ser menor o igual que %{count}"
|
|
198
|
+
greater_than: "debe ser mayor que %{count}"
|
|
199
|
+
greater_than_or_equal_to: "debe ser mayor o igual que %{count}"
|
|
200
|
+
too_short:
|
|
201
|
+
one: "es demasiado corto (mínimo 1 caracter)"
|
|
202
|
+
other: "es demasiado corto (mínimo %{count} caracteres)"
|
|
203
|
+
too_long:
|
|
204
|
+
one: "es demasiado largo (máximo 1 caracter)"
|
|
205
|
+
other: "es demasiado largo (máximo %{count} caracteres)"
|
|
206
|
+
equal_to: "debe ser igual a %{count}"
|
|
207
|
+
wrong_length:
|
|
208
|
+
one: "longitud errónea (debe ser de 1 caracter)"
|
|
209
|
+
other: "longitud errónea (debe ser de %{count} carácteres)"
|
|
210
|
+
accepted: "debe ser aceptado"
|
|
211
|
+
even: "debe ser un número par"
|
|
212
|
+
odd: "debe ser un número non"
|
|
204
213
|
|
|
205
214
|
activerecord:
|
|
206
215
|
errors:
|
|
@@ -2,35 +2,68 @@
|
|
|
2
2
|
require 'rails/generators'
|
|
3
3
|
|
|
4
4
|
module Rieles
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
5
|
+
class InstallGenerator < Rails::Generators::Base
|
|
6
|
+
source_root File.expand_path("../../../templates", __FILE__)
|
|
7
|
+
class_option :keep_current_inflections,
|
|
8
|
+
:type => :boolean,
|
|
9
|
+
:default => false,
|
|
10
|
+
:desc => 'Indica si en lugar de tratar de sobreescribir el archivo de inflections, se debe crear un archivo adicional (inflections_es)'
|
|
11
|
+
class_option :skip_templates,
|
|
12
|
+
:type => :boolean,
|
|
13
|
+
:default => false,
|
|
14
|
+
:desc => 'Indica si debe omitir los templates de las vistas para el scaffold'
|
|
15
|
+
|
|
16
|
+
def copy_files
|
|
17
|
+
copy_file '../config/initializer/inflections.rb', "config/initializers/#{file_name}.rb"
|
|
18
|
+
copy_file '../config/locales/es.yml', 'config/locales/es.yml'
|
|
19
|
+
|
|
20
|
+
unless options.skip_templates?
|
|
21
|
+
copy_file(
|
|
22
|
+
"#{engine}/scaffold/index.html.#{engine}",
|
|
23
|
+
"lib/templates/#{engine}/scaffold/index.html.#{engine}"
|
|
24
|
+
)
|
|
25
|
+
copy_file(
|
|
26
|
+
"#{engine}/scaffold/edit.html.#{engine}",
|
|
27
|
+
"lib/templates/#{engine}/scaffold/edit.html.#{engine}"
|
|
28
|
+
)
|
|
29
|
+
copy_file(
|
|
30
|
+
"#{engine}/scaffold/new.html.#{engine}",
|
|
31
|
+
"lib/templates/#{engine}/scaffold/new.html.#{engine}"
|
|
32
|
+
)
|
|
33
|
+
copy_file(
|
|
34
|
+
"#{engine}/scaffold/show.html.#{engine}",
|
|
35
|
+
"lib/templates/#{engine}/scaffold/show.html.#{engine}"
|
|
36
|
+
)
|
|
37
|
+
copy_file(
|
|
38
|
+
"#{engine}/scaffold/_form.html.#{engine}",
|
|
39
|
+
"lib/templates/#{engine}/scaffold/_form.html.#{engine}"
|
|
40
|
+
)
|
|
41
|
+
copy_file(
|
|
42
|
+
"../../app/views/application/_error_messages.html.#{engine}",
|
|
43
|
+
"app/views/application/_error_messages.html.#{engine}"
|
|
44
|
+
)
|
|
28
45
|
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
####################
|
|
49
|
+
private
|
|
50
|
+
####################
|
|
29
51
|
|
|
30
|
-
|
|
52
|
+
def file_name
|
|
53
|
+
options.keep_current? ? 'inflections_es' : 'inflections'
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def engine
|
|
57
|
+
@engine_extension ||= view_engine
|
|
58
|
+
end
|
|
31
59
|
|
|
32
|
-
|
|
33
|
-
|
|
60
|
+
def view_engine
|
|
61
|
+
if ::Rails.application
|
|
62
|
+
::Rails.application.config.generators.options[:rails][:template_engine]
|
|
63
|
+
else
|
|
64
|
+
'erb'
|
|
34
65
|
end
|
|
35
66
|
end
|
|
67
|
+
|
|
68
|
+
end
|
|
36
69
|
end
|
data/lib/rieles/version.rb
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<h1>Listado de <%= plural_table_name.humanize %></h1>
|
|
2
2
|
|
|
3
|
+
<%% if @<%= plural_table_name %>.any? %>
|
|
3
4
|
<table>
|
|
4
5
|
<thead>
|
|
5
6
|
<tr>
|
|
@@ -16,16 +17,25 @@
|
|
|
16
17
|
<%% @<%= plural_table_name %>.each do |<%= singular_table_name %>| %>
|
|
17
18
|
<tr>
|
|
18
19
|
<%- attributes.each do |attribute| -%>
|
|
20
|
+
<%- if attribute.type == :integer or attribute.type == :decimal -%>
|
|
21
|
+
<td><%%= number_with_delimiter <%= singular_table_name %>.<%= attribute.name %> %></td>
|
|
22
|
+
<%- else -%>
|
|
19
23
|
<td><%%= <%= singular_table_name %>.<%= attribute.name %> %></td>
|
|
24
|
+
<%- end -%>
|
|
20
25
|
<%- end -%>
|
|
21
26
|
<td><%%= link_to 'Mostrar', <%= singular_table_name %> %></td>
|
|
22
27
|
<td><%%= link_to 'Editar', edit_<%= singular_table_name %>_path(<%= singular_table_name %>) %></td>
|
|
23
|
-
<td><%%= link_to 'Eliminar', <%= singular_table_name %>, <%= key_value :
|
|
28
|
+
<td><%%= link_to 'Eliminar', <%= singular_table_name %>, <%= key_value :method, ":delete" %>, <%= key_value :data, "{ #{key_value :confirm, "'¿Estás seguro?'"} }" %> %></td>
|
|
24
29
|
</tr>
|
|
25
30
|
<%% end %>
|
|
26
31
|
</tbody>
|
|
27
32
|
</table>
|
|
33
|
+
<%% else %>
|
|
34
|
+
<div>
|
|
35
|
+
<h3>No se encontraron <%= plural_table_name.humanize %></h3>
|
|
36
|
+
</div>
|
|
37
|
+
<%% end %>
|
|
28
38
|
|
|
29
39
|
<br />
|
|
30
|
-
|
|
31
|
-
<%%= link_to
|
|
40
|
+
<%- nuevo_str = (singular_table_name.split('_').first =~ /[ad]$/) ? 'Nueva' : 'Nuevo' -%>
|
|
41
|
+
<%%= link_to "<%= nuevo_str %> <%= human_name %>", new_<%= singular_table_name %>_path %>
|
|
@@ -3,7 +3,11 @@
|
|
|
3
3
|
<%- attributes.each do |attribute| -%>
|
|
4
4
|
<p>
|
|
5
5
|
<b><%= attribute.human_name %>:</b>
|
|
6
|
+
<%- if attribute.type == :integer or attribute.type == :decimal -%>
|
|
7
|
+
<%%= number_with_delimiter @<%= singular_table_name %>.<%= attribute.name %> %>
|
|
8
|
+
<%- else -%>
|
|
6
9
|
<%%= @<%= singular_table_name %>.<%= attribute.name %> %>
|
|
10
|
+
<%- end -%>
|
|
7
11
|
</p>
|
|
8
12
|
|
|
9
13
|
<%- end -%>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
= form_for(@<%= singular_table_name %>) do |f|
|
|
2
|
+
<%- object = "@#{singular_table_name}" -%>
|
|
3
|
+
= render 'error_messages', <%= key_value :target, object %>
|
|
4
|
+
|
|
5
|
+
<%- attributes.each do |attribute| -%>
|
|
6
|
+
.field
|
|
7
|
+
= f.label :<%= attribute.name %>
|
|
8
|
+
%br
|
|
9
|
+
= f.<%= attribute.field_type %> :<%= attribute.name %>
|
|
10
|
+
<%- end -%>
|
|
11
|
+
.actions
|
|
12
|
+
= f.submit
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
%h1 Listado de <%= plural_table_name.humanize %>
|
|
2
|
+
|
|
3
|
+
- if @<%= plural_table_name %>.any?
|
|
4
|
+
%table
|
|
5
|
+
%thead
|
|
6
|
+
%tr
|
|
7
|
+
<%- attributes.each do |attribute| -%>
|
|
8
|
+
%th <%= attribute.human_name %>
|
|
9
|
+
<%- end -%>
|
|
10
|
+
%th
|
|
11
|
+
%th
|
|
12
|
+
%th
|
|
13
|
+
|
|
14
|
+
%tbody
|
|
15
|
+
- @<%= plural_table_name %>.each do |<%= singular_table_name %>|
|
|
16
|
+
%tr
|
|
17
|
+
<%- attributes.each do |attribute| -%>
|
|
18
|
+
<%- if attribute.type == :integer or attribute.type == :decimal -%>
|
|
19
|
+
%td= number_with_delimiter <%= singular_table_name %>.<%= attribute.name %>
|
|
20
|
+
<%- else -%>
|
|
21
|
+
%td= <%= singular_table_name %>.<%= attribute.name %>
|
|
22
|
+
<%- end -%>
|
|
23
|
+
<%- end -%>
|
|
24
|
+
%td= link_to 'Mostrar', <%= singular_table_name %>
|
|
25
|
+
%td= link_to 'Editar', edit_<%= singular_table_name %>_path(<%= singular_table_name %>)
|
|
26
|
+
%td= link_to 'Eliminar', <%= singular_table_name %>, <%= key_value :method, ":delete" %>, <%= key_value :data, "{ #{key_value :confirm, "'¿Estás seguro?'"} }" %>
|
|
27
|
+
- else
|
|
28
|
+
%div
|
|
29
|
+
%h3 No se encontraron <%= plural_table_name.humanize %>
|
|
30
|
+
|
|
31
|
+
%br
|
|
32
|
+
<%- nuevo_str = (singular_table_name.split('_').first =~ /[ad]$/) ? 'Nueva' : 'Nuevo' %>
|
|
33
|
+
= link_to "<%= nuevo_str %> <%= human_name %>", new_<%= singular_table_name %>_path
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
%p#notice= notice
|
|
2
|
+
|
|
3
|
+
<%- attributes.each do |attribute| -%>
|
|
4
|
+
%p
|
|
5
|
+
%b <%= attribute.human_name %>:
|
|
6
|
+
<%- if attribute.type == :integer or attribute.type == :decimal -%>
|
|
7
|
+
= number_with_delimiter @<%= singular_table_name %>.<%= attribute.name %>
|
|
8
|
+
<%- else -%>
|
|
9
|
+
= @<%= singular_table_name %>.<%= attribute.name %>
|
|
10
|
+
<%- end -%>
|
|
11
|
+
|
|
12
|
+
<%- end -%>
|
|
13
|
+
= link_to 'Editar', edit_<%= singular_table_name %>_path(@<%= singular_table_name %>)
|
|
14
|
+
\|
|
|
15
|
+
= link_to 'Listado', <%= index_helper %>_path
|
data/rieles.gemspec
CHANGED
|
@@ -4,8 +4,8 @@ require File.expand_path('../lib/rieles/version', __FILE__)
|
|
|
4
4
|
Gem::Specification.new do |gem|
|
|
5
5
|
gem.authors = ["Azarel Doroteo Pacheco"]
|
|
6
6
|
gem.email = ["azarel.doroteo@logicalbricks.com"]
|
|
7
|
-
gem.description
|
|
8
|
-
gem.summary
|
|
7
|
+
gem.description = %q{Instala el archivo de inflections para pluralizar y singularizar según las reglas en Español, incluye el locale en Español y agrega templates erb/haml para que el scaffold genere las vistas en Español.}
|
|
8
|
+
gem.summary = %q{Instala inflections, locales y templates de scaffold para trabajar en Español.}
|
|
9
9
|
gem.homepage = ""
|
|
10
10
|
|
|
11
11
|
|
data/spec/inflections_spec.rb
CHANGED
|
@@ -11,6 +11,10 @@ describe 'Inflections' do
|
|
|
11
11
|
%w(rieles camiones hospitales universidades relojes semestres mesas aves bolas materias)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
+
#########################################################
|
|
15
|
+
# Sección que prueba las conversiones al plural
|
|
16
|
+
#########################################################
|
|
17
|
+
|
|
14
18
|
describe 'Pluralizaciones' do
|
|
15
19
|
it 'debe pluralizar palabras sencillas' do
|
|
16
20
|
singulares.each_with_index do |s, i|
|
|
@@ -7,19 +7,41 @@ describe Rieles::InstallGenerator do
|
|
|
7
7
|
include GeneratorSpec::TestCase
|
|
8
8
|
destination File.expand_path("../../tmp", __FILE__)
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
context 'when creating erb views' do
|
|
11
|
+
before(:all) do
|
|
12
|
+
prepare_destination
|
|
13
|
+
::Rieles::InstallGenerator.any_instance.stub(:engine).and_return('erb')
|
|
14
|
+
run_generator
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
it "crea los archivos de inflections, el locale en español, y los templates del scaffold" do
|
|
18
|
+
assert_file "config/initializers/inflections.rb", File.read('lib/config/initializer/inflections.rb')
|
|
19
|
+
assert_file "config/locales/es.yml", File.read('lib/config/locales/es.yml')
|
|
20
|
+
assert_file "lib/templates/erb/scaffold/new.html.erb", File.read('lib/templates/erb/scaffold/new.html.erb')
|
|
21
|
+
assert_file "lib/templates/erb/scaffold/show.html.erb", File.read('lib/templates/erb/scaffold/show.html.erb')
|
|
22
|
+
assert_file "lib/templates/erb/scaffold/edit.html.erb", File.read('lib/templates/erb/scaffold/edit.html.erb')
|
|
23
|
+
assert_file "lib/templates/erb/scaffold/index.html.erb", File.read('lib/templates/erb/scaffold/index.html.erb')
|
|
24
|
+
assert_file "lib/templates/erb/scaffold/_form.html.erb", File.read('lib/templates/erb/scaffold/_form.html.erb')
|
|
25
|
+
assert_file "app/views/application/_error_messages.html.erb", File.read('app/views/application/_error_messages.html.erb')
|
|
26
|
+
end
|
|
13
27
|
end
|
|
14
28
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
29
|
+
context 'when creating haml views' do
|
|
30
|
+
before(:all) do
|
|
31
|
+
prepare_destination
|
|
32
|
+
::Rieles::InstallGenerator.any_instance.stub(:engine).and_return('haml')
|
|
33
|
+
run_generator
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
it "crea los archivos de inflections, el locale en español, y los templates del scaffold" do
|
|
37
|
+
assert_file "config/initializers/inflections.rb", File.read('lib/config/initializer/inflections.rb')
|
|
38
|
+
assert_file "config/locales/es.yml", File.read('lib/config/locales/es.yml')
|
|
39
|
+
assert_file "lib/templates/haml/scaffold/new.html.haml", File.read('lib/templates/haml/scaffold/new.html.haml')
|
|
40
|
+
assert_file "lib/templates/haml/scaffold/show.html.haml", File.read('lib/templates/haml/scaffold/show.html.haml')
|
|
41
|
+
assert_file "lib/templates/haml/scaffold/edit.html.haml", File.read('lib/templates/haml/scaffold/edit.html.haml')
|
|
42
|
+
assert_file "lib/templates/haml/scaffold/index.html.haml", File.read('lib/templates/haml/scaffold/index.html.haml')
|
|
43
|
+
assert_file "lib/templates/haml/scaffold/_form.html.haml", File.read('lib/templates/haml/scaffold/_form.html.haml')
|
|
44
|
+
assert_file "app/views/application/_error_messages.html.haml", File.read('app/views/application/_error_messages.html.haml')
|
|
45
|
+
end
|
|
24
46
|
end
|
|
25
47
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rieles
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.5
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2012-
|
|
12
|
+
date: 2012-09-09 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: generator_spec
|
|
@@ -28,8 +28,8 @@ dependencies:
|
|
|
28
28
|
- !ruby/object:Gem::Version
|
|
29
29
|
version: '0'
|
|
30
30
|
description: Instala el archivo de inflections para pluralizar y singularizar según
|
|
31
|
-
las reglas en Español, incluye el locale en Español y agrega templates erb
|
|
32
|
-
que el scaffold genere las vistas en Español.
|
|
31
|
+
las reglas en Español, incluye el locale en Español y agrega templates erb/haml
|
|
32
|
+
para que el scaffold genere las vistas en Español.
|
|
33
33
|
email:
|
|
34
34
|
- azarel.doroteo@logicalbricks.com
|
|
35
35
|
executables: []
|
|
@@ -41,6 +41,7 @@ files:
|
|
|
41
41
|
- README.rdoc
|
|
42
42
|
- Rakefile
|
|
43
43
|
- app/views/application/_error_messages.html.erb
|
|
44
|
+
- app/views/application/_error_messages.html.haml
|
|
44
45
|
- lib/config/initializer/inflections.rb
|
|
45
46
|
- lib/config/locales/es.yml
|
|
46
47
|
- lib/generators/rieles/USAGE
|
|
@@ -52,6 +53,11 @@ files:
|
|
|
52
53
|
- lib/templates/erb/scaffold/index.html.erb
|
|
53
54
|
- lib/templates/erb/scaffold/new.html.erb
|
|
54
55
|
- lib/templates/erb/scaffold/show.html.erb
|
|
56
|
+
- lib/templates/haml/scaffold/_form.html.haml
|
|
57
|
+
- lib/templates/haml/scaffold/edit.html.haml
|
|
58
|
+
- lib/templates/haml/scaffold/index.html.haml
|
|
59
|
+
- lib/templates/haml/scaffold/new.html.haml
|
|
60
|
+
- lib/templates/haml/scaffold/show.html.haml
|
|
55
61
|
- rieles.gemspec
|
|
56
62
|
- spec/inflections_spec.rb
|
|
57
63
|
- spec/lib/generators/rieles/install_generator_spec.rb
|
|
@@ -67,12 +73,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
67
73
|
- - ! '>='
|
|
68
74
|
- !ruby/object:Gem::Version
|
|
69
75
|
version: '0'
|
|
76
|
+
segments:
|
|
77
|
+
- 0
|
|
78
|
+
hash: 4198026442525368537
|
|
70
79
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
71
80
|
none: false
|
|
72
81
|
requirements:
|
|
73
82
|
- - ! '>='
|
|
74
83
|
- !ruby/object:Gem::Version
|
|
75
84
|
version: '0'
|
|
85
|
+
segments:
|
|
86
|
+
- 0
|
|
87
|
+
hash: 4198026442525368537
|
|
76
88
|
requirements: []
|
|
77
89
|
rubyforge_project:
|
|
78
90
|
rubygems_version: 1.8.24
|