Sha256: 60b989abc81b51f3f758952e9b546992e68cdf4829b4fb153d3820ada35e7587
Contents?: true
Size: 1.69 KB
Versions: 3
Compression:
Stored size: 1.69 KB
Contents
require "rails/generators" class Datagrid::Scaffold < Rails::Generators::NamedBase source_root File.expand_path(__FILE__ + "/../../../templates") 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 def grid_class_name file_name.camelize.pluralize + "Grid" end def grid_controller_name grid_controller_short_name.camelize + "Controller" end def grid_controller_short_name file_name.underscore.pluralize end def grid_model_name file_name.camelize.singularize end def grid_ivar_name grid_class_name.underscore end def paginate_code if defined?(::Kaminari) || defined?(::WillPaginate) "page(params[:page])" else "paginate_somehow" end end def pagination_helper_code if defined?(::Kaminari) "paginate(@grid.assets)" elsif defined?(::WillPaginate) "will_paginate(@grid.assets)" else "some_pagination_helper(@grid.assets)" end end def grid_route_name grid_controller_short_name + "_path" end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
datagrid-1.3.1 | lib/datagrid/scaffold.rb |
datagrid-1.3.0 | lib/datagrid/scaffold.rb |
datagrid-1.2.3 | lib/datagrid/scaffold.rb |