scaffold_pico 0.3.1 → 1.0.0

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.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +23 -47
  3. data/lib/scaffold/cli.rb +16 -4
  4. data/lib/scaffold/erb_context.rb +11 -0
  5. data/lib/scaffold/generators/base_generator.rb +74 -0
  6. data/lib/scaffold/generators/controller_generator.rb +27 -0
  7. data/lib/scaffold/generators/fabricator_generator.rb +26 -0
  8. data/lib/scaffold/generators/locales_generator.rb +42 -0
  9. data/lib/scaffold/generators/models_generator.rb +53 -0
  10. data/lib/scaffold/generators/routes_generator.rb +48 -0
  11. data/lib/scaffold/generators/views_generator.rb +57 -0
  12. data/lib/scaffold/main.rb +15 -6
  13. data/lib/scaffold/models/resource.rb +66 -0
  14. data/lib/scaffold/rails.rb +54 -0
  15. data/lib/scaffold/services/controller.rb +112 -0
  16. data/lib/scaffold/services/nested_in_resources.rb +42 -0
  17. data/lib/scaffold/services/path.rb +72 -0
  18. data/lib/scaffold/services/resource.rb +73 -0
  19. data/lib/scaffold/services/route.rb +20 -0
  20. data/lib/scaffold/services/view.rb +14 -0
  21. data/lib/scaffold_pico.rb +6 -7
  22. data/lib/templates/pico/controller.rb.erb +34 -26
  23. data/lib/templates/pico/fabricators/fabrication.rb.erb +4 -4
  24. data/lib/templates/pico/locales/bg.scaffold_pico.yml.erb +35 -0
  25. data/lib/templates/pico/locales/en.scaffold_pico.yml.erb +35 -0
  26. data/lib/templates/pico/model.rb.erb +2 -2
  27. data/lib/templates/pico/search.rb.erb +12 -12
  28. data/lib/templates/pico/views/materialize/slim/_form.html.slim.erb +1 -4
  29. data/lib/templates/pico/views/materialize/slim/edit.html.slim.erb +9 -7
  30. data/lib/templates/pico/views/materialize/slim/index.html.slim.erb +15 -15
  31. data/lib/templates/pico/views/materialize/slim/new.html.slim.erb +7 -5
  32. data/lib/templates/pico/views/materialize/slim/show.html.slim.erb +10 -10
  33. data/lib/templates/pico/views/zurb/slim/_form.html.slim.erb +2 -5
  34. data/lib/templates/pico/views/zurb/slim/edit.html.slim.erb +8 -6
  35. data/lib/templates/pico/views/zurb/slim/index.html.slim.erb +14 -14
  36. data/lib/templates/pico/views/zurb/slim/new.html.slim.erb +6 -4
  37. data/lib/templates/pico/views/zurb/slim/show.html.slim.erb +7 -7
  38. metadata +22 -10
  39. data/lib/scaffold/base_generator.rb +0 -60
  40. data/lib/scaffold/controller_generator.rb +0 -24
  41. data/lib/scaffold/fabricator_generator.rb +0 -25
  42. data/lib/scaffold/models_generator.rb +0 -51
  43. data/lib/scaffold/params.rb +0 -174
  44. data/lib/scaffold/routes_generator.rb +0 -29
  45. data/lib/scaffold/views_generator.rb +0 -52
@@ -1,29 +0,0 @@
1
- module Scaffold
2
- class RoutesGenerator < Scaffold::BaseGenerator
3
-
4
- def generate
5
- puts "Insert something like this in routes.rb"
6
- namespaces_count = @params.namespaces_array.count
7
- route_string = "#{spaces(namespaces_count+2)}resources :#{@params.route_resource_name}"
8
-
9
- @params.namespaces_array.reverse.each_with_index do |namespace, index|
10
- route_string = namespace_block(namespace, namespaces_count - index, route_string)
11
- end
12
- puts route_string
13
- end
14
-
15
- def spaces(count)
16
- " "*2*(count)
17
- end
18
-
19
- def namespace_block namespace, index, route_string
20
- ident = spaces(index+1)
21
-
22
- begin_namespace_line = "#{ident}namespace :#{namespace} do"
23
- namespace = "#{ident*2}#{namespace}"
24
- end_namespace_line = "#{ident}end"
25
- "#{begin_namespace_line}\n#{route_string}\n#{end_namespace_line}"
26
- end
27
-
28
- end
29
- end
@@ -1,52 +0,0 @@
1
- module Scaffold
2
- class ViewsGenerator < Scaffold::BaseGenerator
3
- def generate
4
- views_path = create_views_path
5
- templating_engine = choose_templating_engine
6
-
7
- # print "Creating view:"
8
- %w(index new edit show _form).each do |view_name|
9
- # print view_name, ' '
10
- create views_path, view_name, templating_engine, css_framework
11
- end
12
- # print "\n"
13
- end
14
-
15
- def create views_path, view_name, templating_engine, css_framework
16
- source_file_name = "#{view_name}.html.#{templating_engine.extension}.erb"
17
- target_file_name = "#{view_name}.html.#{templating_engine.extension}"
18
- source_file_path = find_root(templates, 'views',
19
- css_framework,
20
- templating_engine.source_folder_name,
21
- source_file_name)
22
- content = File.read(source_file_path)
23
-
24
- # http://www.stuartellis.eu/articles/erb/
25
- content = ::ERB.new(content, nil, '-').result(@params.instance_eval{ binding })#.gsub(/\s+\n$/, "")
26
-
27
- target_file_path = File.join(create_views_path, target_file_name)
28
- write_with_confirmation(target_file_path, content)
29
- end
30
-
31
- def create_views_path
32
- views_path = File.join(Dir.pwd, 'app', 'views', @params.namespaces_array, @params.views_folder_name)
33
- FileUtils.mkpath(views_path)
34
- views_path
35
- end
36
-
37
-
38
- def choose_templating_engine
39
- case @params.template
40
- when 'slim'
41
- ::Scaffold::TemplateEngines::Slim.new
42
- else
43
- raise "I don't have defined templates for #{@params.template}. However you can use [slim,]"
44
- end
45
- end
46
-
47
- def css_framework
48
- @params.css_framework
49
- end
50
-
51
- end
52
- end