class SharpAdminGenerator
Public Instance Methods
add_resource_route()
click to toggle source
# File lib/sharp_admin/sharp_admin_generator.rb, line 47 def add_resource_route return if not File.exists?("config/routes.rb") route_config = "namespace :#{options[:ns]} do " route_config << "resources :#{file_name.pluralize}" route_config << " end" route route_config end
create_base_controller()
click to toggle source
# File lib/sharp_admin/sharp_admin_generator.rb, line 17 def create_base_controller empty_directory "app/controllers/#{options[:ns]}" path = File.join("app/controllers/#{options[:ns]}", "base_controller.rb") template("base_controller.rb", path) unless File.exists?(path) end
create_base_controller_spec()
click to toggle source
# File lib/sharp_admin/sharp_admin_generator.rb, line 23 def create_base_controller_spec empty_directory "spec/controllers/#{options[:ns]}" path = File.join("spec/controllers/#{options[:ns]}", "base_controller_spec.rb") template("base_controller_spec.rb", path) unless File.exists?(path) end
create_controller()
click to toggle source
# File lib/sharp_admin/sharp_admin_generator.rb, line 29 def create_controller @attributes_symbols = get_model_columns.dup.delete_if {|attribute| ['id', 'created_at', 'updated_at'].include? attribute.name }.collect {|attribute| ":#{attribute.name}" } template "controller.rb", File.join("app/controllers/#{options[:ns]}", "#{controller_file_name}_controller.rb") end
create_helper()
click to toggle source
# File lib/sharp_admin/sharp_admin_generator.rb, line 34 def create_helper empty_directory "app/helpers/#{options[:ns]}" template "base_helper.rb", File.join("app/helpers/#{options[:ns]}", "base_helper.rb") end
create_views()
click to toggle source
# File lib/sharp_admin/sharp_admin_generator.rb, line 39 def create_views empty_directory "app/views/#{options[:ns]}/#{controller_file_name}" @attributes = get_model_columns available_views.each do |view| template "views/#{view}.html.erb", File.join("app/views/#{options[:ns]}", controller_file_name, "#{view}.html.haml") end end
Protected Instance Methods
available_views()
click to toggle source
# File lib/sharp_admin/sharp_admin_generator.rb, line 57 def available_views views = ["index", "new", "show", "edit", "_form"] views.delete("new") if options[:no_create] ["new", "edit", "_form"].each { |v| views.delete(v) } if options[:read_only] views end
get_model_columns()
click to toggle source
# File lib/sharp_admin/sharp_admin_generator.rb, line 76 def get_model_columns if model_exists?(class_name) class_name.constantize.send(:columns) else [] # allow user (and test) to generate the view files end end
model_exists?(klass_name)
click to toggle source
# File lib/sharp_admin/sharp_admin_generator.rb, line 67 def model_exists?(klass_name) begin klass = Module.const_get(klass_name) return klass.superclass == ActiveRecord::Base rescue NameError return false end end