rieles 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Rieles
2
2
 
3
- 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 para que el scaffold genere las vistas en Español.
3
+ TODO: Write a gem description
4
4
 
5
5
  ## Installation
6
6
 
@@ -18,7 +18,7 @@ Or install it yourself as:
18
18
 
19
19
  ## Usage
20
20
 
21
- $ gem generate rieles
21
+ TODO: Write usage instructions here
22
22
 
23
23
  ## Contributing
24
24
 
@@ -1,21 +1,21 @@
1
1
  # Be sure to restart your server when you modify this file.
2
2
 
3
3
  ActiveSupport::Inflector.inflections do |inflect|
4
- inflect.plural(/([rndl])([A-Z]|_|$)/, '\1es\2')
4
+ inflect.plural(/([rndlj])([A-Z]|_|$)/, '\1es\2')
5
5
  inflect.plural(/([aeiou])([A-Z]|_|$)/, '\1s\2')
6
- inflect.plural(/([aeiou])([A-Z]|_)([a-z]+)([rndl])([A-Z]|_|$)/,
6
+ inflect.plural(/([aeiou])([A-Z]|_)([a-z]+)([rndlj])([A-Z]|_|$)/,
7
7
  '\1s\2\3\4es\5')
8
- inflect.plural(/([rndl])([A-Z]|_)([a-z]+)([aeiou])([A-Z]|_|$)/,
8
+ inflect.plural(/([rndlj])([A-Z]|_)([a-z]+)([aeiou])([A-Z]|_|$)/,
9
9
  '\1es\2\3\4s\5')
10
10
  inflect.plural(/(z)$/i, 'ces')
11
11
 
12
- final_plural_rndl = /([aeiou][rndl])es([A-Z]|_|$)/
13
- final_plural_vocal = /((?<![aeiou][nrdl])[aeiou])s([A-Z]|_|$)/
14
- palabra_compuesta_1 = /#{final_plural_rndl}([a-z]+)#{final_plural_vocal}/
15
- palabra_compuesta_2 = /#{final_plural_vocal}([a-z]+)#{final_plural_rndl}/
12
+ final_plural_rndlj = /([aeiou][rndlj])es([A-Z]|_|$)/
13
+ final_plural_vocal = /((?<![aeiou][rndlj])[aeiou])s([A-Z]|_|$)/
14
+ palabra_compuesta_1 = /#{final_plural_rndlj}([a-z]+)#{final_plural_vocal}/
15
+ palabra_compuesta_2 = /#{final_plural_vocal}([a-z]+)#{final_plural_rndlj}/
16
16
 
17
17
  inflect.singular(/(ia)$/i, '\1')
18
- inflect.singular(final_plural_rndl, '\1\2')
18
+ inflect.singular(final_plural_rndlj, '\1\2')
19
19
  inflect.singular(final_plural_vocal, '\1\2')
20
20
  inflect.singular(palabra_compuesta_1, '\1\2\3\4\5')
21
21
  inflect.singular(palabra_compuesta_2, '\1\2\3\4\5')
@@ -1,5 +1,5 @@
1
1
  Description:
2
- Genera un archivo de inflections para obtener el plural y singular de las palabras, según las reglas en Español, incluye la traducción por omisión de rails para el locale es.yml y los templates para que al utilizar el sacffold, las vistas sean generadas también en Español
2
+ Genera un archivo de inflections para obtener el plural y singular de las palabras según las reglas en Español, incluye la traducción por omisión de rails para el locale es.yml y los templates para que al utilizar el scaffold las vistas sean generadas también en Español
3
3
 
4
4
  Example:
5
5
  rails generate rieles
@@ -0,0 +1,36 @@
1
+ # encoding: UTF-8
2
+ require 'rails/generators'
3
+
4
+ module Rieles
5
+ class InstallGenerator < Rails::Generators::Base
6
+ source_root File.expand_path('../../../templates/erb/scaffold', __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 'index.html.erb', 'lib/templates/erb/scaffold/index.html.erb'
22
+ copy_file 'edit.html.erb', 'lib/templates/erb/scaffold/edit.html.erb'
23
+ copy_file 'new.html.erb', 'lib/templates/erb/scaffold/new.html.erb'
24
+ copy_file 'show.html.erb', 'lib/templates/erb/scaffold/show.html.erb'
25
+ copy_file '_form.html.erb', 'lib/templates/erb/scaffold/_form.html.erb'
26
+ copy_file '../../../../app/views/application/_error_messages.html.erb', 'app/views/application/_error_messages.html.erb'
27
+ end
28
+ end
29
+
30
+ private
31
+
32
+ def file_name
33
+ file_name = options.keep_current? ? 'inflections_es' : 'inflections'
34
+ end
35
+ end
36
+ end
@@ -1,5 +1,16 @@
1
- require "rieles/version"
1
+ require 'rieles/version'
2
+ require 'config/initializer/inflections.rb'
2
3
 
3
4
  module Rieles
4
- # Your code goes here...
5
+ I18n.load_path += Dir.glob( File.dirname(__FILE__) + "/config/locales/*.{rb,yml}" )
6
+
7
+ class Railtie < Rails::Railtie
8
+ config.app_generators do |g|
9
+ g.templates.unshift File::expand_path('../templates', __FILE__)
10
+ end
11
+ end
12
+
13
+ class Engine < Rails::Engine
14
+ end
5
15
  end
16
+
@@ -1,3 +1,3 @@
1
1
  module Rieles
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -28,4 +28,4 @@
28
28
 
29
29
  <br />
30
30
  <% nuevo = singular_table_name.split('_')[0].ends_with?("a") ? 'Nueva' : 'Nuevo' -%>
31
- <%%= link_to '<%= nuevo %> <%= human_name %>', new_<%= singular_table_name %>_path if can? :create, <%= singular_table_name.camelize %> %>
31
+ <%%= link_to '<%= nuevo %> <%= human_name %>', new_<%= singular_table_name %>_path %>
@@ -15,4 +15,6 @@ Gem::Specification.new do |gem|
15
15
  gem.name = "rieles"
16
16
  gem.require_paths = ["lib"]
17
17
  gem.version = Rieles::VERSION
18
+
19
+ gem.add_development_dependency 'rspec'
18
20
  end
@@ -0,0 +1,75 @@
1
+ # encoding: UTF-8
2
+ require 'rails'
3
+ require 'rieles'
4
+
5
+ describe 'Inflections' do
6
+ def singulares
7
+ %w(riel camion hospital universidad reloj semestre mesa calle)
8
+ end
9
+
10
+ def plurales
11
+ %w(rieles camiones hospitales universidades relojes semestres mesas calles)
12
+ end
13
+
14
+ describe 'Pluralizaciones' do
15
+ it 'debe pluralizar palabras sencillas' do
16
+ singulares.each_with_index do |s, i|
17
+ s.pluralize.should == plurales[i]
18
+ end
19
+ end
20
+
21
+ it 'debe pluralizar palabras compuestas' do
22
+ singulares_compuestas = singulares.permutation(2).to_a.collect{ |e| e.join('_') }
23
+ plurales_compuestas = plurales.permutation(2).to_a.collect{ |e| e.join('_') }
24
+ singulares_compuestas.each_with_index do |s, i|
25
+ s.pluralize.should == plurales_compuestas[i]
26
+ end
27
+ end
28
+
29
+ it 'debe pluralizar casos especiales' do
30
+ 'pais'.pluralize.should == 'paises'
31
+ 'maiz'.pluralize.should == 'maices'
32
+ end
33
+
34
+ it 'no debe pluralizar palabras que ya estén en plural' do
35
+ 'camiones'.pluralize.should == 'camiones'
36
+ 'camiones_grandes'.pluralize.should == 'camiones_grandes'
37
+ 'universidades_hospitales_doctores'.pluralize.should == 'universidades_hospitales_doctores'
38
+ 'paises'.pluralize.should == 'paises'
39
+ 'lunes'.singularize.should == 'lunes'
40
+ end
41
+ end
42
+
43
+ #########################################################
44
+ # Sección que prueba las conversiones al singular
45
+ #########################################################
46
+
47
+ describe 'Singularizaciones' do
48
+ it 'debe singularizar palabras sencillas' do
49
+ plurales.each_with_index do |p, i|
50
+ p.singularize.should == singulares[i]
51
+ end
52
+ end
53
+
54
+ it 'debe pluralizar palabras compuestas' do
55
+ singulares_compuestas = singulares.permutation(2).to_a.collect{ |e| e.join('_') }
56
+ plurales_compuestas = plurales.permutation(2).to_a.collect{ |e| e.join('_') }
57
+ plurales_compuestas.each_with_index do |p, i|
58
+ p.singularize.should == singulares_compuestas[i]
59
+ end
60
+ end
61
+
62
+ it 'debe singularize casos especiales' do
63
+ 'paises'.singularize.should == 'pais'
64
+ 'maices'.singularize.should == 'maiz'
65
+ end
66
+
67
+ it 'no debe singularizar palabras que ya estén en singular' do
68
+ 'camion'.singularize.should == 'camion'
69
+ 'camion_grande'.singularize.should == 'camion_grande'
70
+ 'universidad_hospital_doctor'.singularize.should == 'universidad_hospital_doctor'
71
+ 'pais'.singularize.should == 'pais'
72
+ 'lunes'.singularize.should == 'lunes'
73
+ end
74
+ end
75
+ 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.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,8 +9,24 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-20 00:00:00.000000000 Z
13
- dependencies: []
12
+ date: 2012-04-29 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rspec
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
14
30
  description: Instala el archivo de inflections para pluralizar y singularizar según
15
31
  las reglas en Español, incluye el locale en Español y agrega templates erb para
16
32
  que el scaffold genere las vistas en Español.
@@ -25,19 +41,19 @@ files:
25
41
  - LICENSE
26
42
  - README.md
27
43
  - Rakefile
44
+ - lib/config/initializer/inflections.rb
45
+ - lib/config/locales/es.yml
28
46
  - lib/generators/rieles/USAGE
29
- - lib/generators/rieles/rieles_generator.rb
30
- - lib/generators/rieles/templates/_error_messages.html.erb
31
- - lib/generators/rieles/templates/_form.html.erb
32
- - lib/generators/rieles/templates/edit.html.erb
33
- - lib/generators/rieles/templates/es.yml
34
- - lib/generators/rieles/templates/index.html.erb
35
- - lib/generators/rieles/templates/inflections.rb
36
- - lib/generators/rieles/templates/new.html.erb
37
- - lib/generators/rieles/templates/show.html.erb
47
+ - lib/generators/rieles/install_generator.rb
38
48
  - lib/rieles.rb
39
49
  - lib/rieles/version.rb
50
+ - lib/templates/erb/scaffold/_form.html.erb
51
+ - lib/templates/erb/scaffold/edit.html.erb
52
+ - lib/templates/erb/scaffold/index.html.erb
53
+ - lib/templates/erb/scaffold/new.html.erb
54
+ - lib/templates/erb/scaffold/show.html.erb
40
55
  - rieles.gemspec
56
+ - spec/inflections_spec.rb
41
57
  homepage: ''
42
58
  licenses: []
43
59
  post_install_message:
@@ -58,8 +74,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
58
74
  version: '0'
59
75
  requirements: []
60
76
  rubyforge_project:
61
- rubygems_version: 1.8.23
77
+ rubygems_version: 1.8.24
62
78
  signing_key:
63
79
  specification_version: 3
64
80
  summary: Instala inflections, locales y templates de scaffold para trabajar en Español.
65
- test_files: []
81
+ test_files:
82
+ - spec/inflections_spec.rb
@@ -1,22 +0,0 @@
1
- # encoding: UTF-8
2
- class RielesGenerator < Rails::Generators::Base
3
- source_root File.expand_path('../templates', __FILE__)
4
- class_option :keep_current_inflections, :type => :boolean, :default => false, :desc => 'Indica si en lugar de tratar de sobreescribir el archivo de inflections, se debe crear un archivo adicional (inflections_es)'
5
-
6
- def copy_files
7
- copy_file 'inflections.rb', "config/initializers/#{file_name}.rb"
8
- copy_file 'es.yml', 'config/locales/es.yml'
9
- copy_file 'index.html.erb', 'lib/templates/erb/scaffold/index.html.erb'
10
- copy_file 'edit.html.erb', 'lib/templates/erb/scaffold/edit.html.erb'
11
- copy_file 'new.html.erb', 'lib/templates/erb/scaffold/new.html.erb'
12
- copy_file 'show.html.erb', 'lib/templates/erb/scaffold/show.html.erb'
13
- copy_file '_form.html.erb', 'lib/templates/erb/scaffold/_form.html.erb'
14
- copy_file '_error_messages.html.erb', 'app/views/application/_error_messages.html.erb'
15
- end
16
-
17
- private
18
-
19
- def file_name
20
- file_name = options.keep_current? ? 'inflections_es' : 'inflections'
21
- end
22
- end
@@ -1,17 +0,0 @@
1
- <% if target.errors.any? %>
2
- <% gender ||= target.class.name.ends_with?("a") ? "female" : "male" %>
3
- <% model_name ||= target.class.name.underscore.humanize.downcase %>
4
- <div id="error_explanation">
5
- <h2>
6
- <%= t('activerecord.errors.template.header', :count => target.errors.count, :model => model_name, :article => (gender == "male" ? "El" : "La")) %>
7
- </h2>
8
- <%= t('activerecord.errors.template.body') %>
9
- <ul>
10
- <% target.errors.full_messages.each do |msg| %>
11
- <li>
12
- <%= msg %>
13
- </li>
14
- <% end %>
15
- </ul>
16
- </div>
17
- <% end %>