Class: Datagrid::Scaffold
- Inherits:
-
Rails::Generators::NamedBase
- Object
- Rails::Generators::NamedBase
- Datagrid::Scaffold
- Defined in:
- lib/datagrid/scaffold.rb
Instance Method Summary collapse
- #create_scaffold ⇒ Object
- #grid_class_name ⇒ Object
- #grid_controller_name ⇒ Object
- #grid_controller_short_name ⇒ Object
- #grid_ivar_name ⇒ Object
- #grid_model_name ⇒ Object
- #grid_route_name ⇒ Object
- #paginate_code ⇒ Object
- #pagination_helper_code ⇒ Object
Instance Method Details
#create_scaffold ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/datagrid/scaffold.rb', line 6 def create_scaffold template "grid.rb.erb", "app/grids/#{grid_class_name.underscore}.rb" template "controller.rb.erb", "app/controllers/#{grid_controller_name.underscore}.rb" template "index.html.erb", "app/views/#{grid_controller_short_name}/index.html.erb" route("resources :#{grid_controller_short_name}") in_root do { "css" => " *= require datagrid", "css.sass" => " *= require datagrid", "css.scss" => " *= require datagrid", }.each do |extension, string| file = "app/assets/stylesheets/application.#{extension}" if File.exists?(Rails.root.join(file)) inject_into_file file, string + "\n", {:before => %r{.*require_self}} # before all end end end end |
#grid_class_name ⇒ Object
25 26 27 |
# File 'lib/datagrid/scaffold.rb', line 25 def grid_class_name file_name.camelize.pluralize + "Grid" end |
#grid_controller_name ⇒ Object
29 30 31 |
# File 'lib/datagrid/scaffold.rb', line 29 def grid_controller_name grid_controller_short_name.camelize + "Controller" end |
#grid_controller_short_name ⇒ Object
33 34 35 |
# File 'lib/datagrid/scaffold.rb', line 33 def grid_controller_short_name file_name.underscore.pluralize end |
#grid_ivar_name ⇒ Object
41 42 43 |
# File 'lib/datagrid/scaffold.rb', line 41 def grid_ivar_name grid_class_name.underscore end |
#grid_model_name ⇒ Object
37 38 39 |
# File 'lib/datagrid/scaffold.rb', line 37 def grid_model_name file_name.camelize.singularize end |
#grid_route_name ⇒ Object
66 67 68 |
# File 'lib/datagrid/scaffold.rb', line 66 def grid_route_name grid_controller_short_name + "_path" end |
#paginate_code ⇒ Object
45 46 47 48 49 50 51 52 53 |
# File 'lib/datagrid/scaffold.rb', line 45 def paginate_code if defined?(Kaminari) "page(params[:page])" elsif defined?(WillPaginate) "paginate(:page => params[:page])" else "paginate_somehow" end end |
#pagination_helper_code ⇒ Object
55 56 57 58 59 60 61 62 63 64 |
# File 'lib/datagrid/scaffold.rb', line 55 def pagination_helper_code if defined?(Kaminari) "paginate(@assets)" elsif defined?(WillPaginate) "will_paginate(@assets)" else "some_pagination_helper(@assets)" end end |