nickel-will_static_generator 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1,33 @@
1
- Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
1
+ # Will Static Generator
2
+
3
+ ## Descripción
4
+
5
+ Con este generador podremos obtener nuestra la lógica necesaria para mostrar página estáticas en nuestra aplicación Rails. La descripción/implementación a este problema ya la intenté describir hace ya más de una año:
6
+
7
+ [http://juan.gg/blog/2008/04/rails-paginas-estaticas/](http://juan.gg/blog/2008/04/rails-paginas-estaticas/)
8
+
9
+ Y a este generador se han sumados otras opciones como la de generar subniveles (de momento solo uno), la elección del lenguaje de marcado entre ERB o HAML o disponer de i18n básico.
10
+
11
+ ## Getting it
12
+
13
+ will\_static\_generator está disponible como gema via [GitHub](http://github.com). Si aún no lo tienes configurado, deberás establecer Github como otra fuente de gemas:
14
+
15
+ $ gem sources -a http://gems.github.com
16
+
17
+ Y ahora podrás instalarla:
18
+
19
+ $ sudo gem install nickel-will_static_generator
20
+
21
+ ## Uso
22
+
23
+ El uso es similar a los generadores que trae Rails.
24
+
25
+ $ script/generate will_static empresa/quienes-somos contacto mas-informacion
26
+
27
+ ## Opciones
28
+
29
+ --haml # los ficheros que generará serán haml
30
+ --locale # añadirá la lógica para disponer el idioma en un lenguaje concreto
31
+ --subpage # añadirá la lógica para disponer de un subnivel (ej. example.com/empresa/quienes-somos)
32
+
33
+ $ script/generate will_static empresa/quienes-somos --haml --locale --subpage
@@ -1 +1 @@
1
- I'm <strong><%= params[:subpage] || params[:page] %></strong>. Change me.
1
+ I'm <strong><%= controller.action_name %></strong>. Change me.
@@ -1,3 +1,3 @@
1
1
  I'm
2
- %strong= params[:subpage] || params[:page]
2
+ %strong= controller.action_name
3
3
  \. Change me.
@@ -22,7 +22,8 @@ class PagesController < ApplicationController
22
22
  end
23
23
  <%- end -%>
24
24
  <%- if options[:locale] -%>
25
-
25
+
26
+ # Put me in ApplicationController, please
26
27
  def set_locale
27
28
  I18n.locale = params[:locale]
28
29
  end
@@ -9,18 +9,17 @@ class WillStaticGenerator < Rails::Generator::Base
9
9
  end
10
10
 
11
11
  def manifest
12
- record do |m|
13
- m.template "pages_controller.rb", "app/controllers/pages_controller.rb"
14
-
12
+ record do |m|
13
+ options[:subpage] = @files.any?{|x| x.include?("/")} # Exists content in subpage form?
14
+
15
+ m.template "pages_controller.rb", "app/controllers/pages_controller.rb"
15
16
  m.directory('app/views/pages')
16
17
 
17
- @files.each do |file|
18
- generate_file(file, m)
19
- end
18
+ @files.each{|file| generate_file(file, m) }
20
19
 
21
20
  if options[:locale]
22
- m.route_name('page', '/:locale/page/:page', ":controller => 'pages', :action => 'show', :page => nil,
23
- :requirements => { :locale => /es|en/ }")
21
+ m.route_name('page', '/:locale/page/:page', ":controller => 'pages',
22
+ :action => 'show', :page => nil, :requirements => { :locale => /es|en/ }")
24
23
  else
25
24
  m.route_name('page', '/page/:page', ":controller => 'pages', :action => 'show', :page => nil")
26
25
  end
@@ -36,10 +35,12 @@ class WillStaticGenerator < Rails::Generator::Base
36
35
  end
37
36
 
38
37
  protected
38
+
39
39
  def generate_file(file, record)
40
40
  format = options[:haml] ? "haml" : "erb"
41
41
  pages_path = lambda {|f| File.join("app/views/pages", f)}
42
42
 
43
+ # Logic for content in subpage
43
44
  if file.include?("/") && !File.exists?(pages_path.call(file))
44
45
  record.directory(pages_path.call(file.split("/").first))
45
46
  end
@@ -52,6 +53,5 @@ class WillStaticGenerator < Rails::Generator::Base
52
53
  opt.separator 'Options:'
53
54
  opt.on("--haml", "Generate views with haml format") { |v| options[:haml] = true }
54
55
  opt.on("--locale", "Generate logic for i18n") { |v| options[:locale] = true }
55
- opt.on("--subpage", "Generate logic for subpage's style") { |v| options[:subpage] = true }
56
56
  end
57
57
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nickel-will_static_generator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juan Gallego