Class: SharpAdminGenerator

Inherits:
Rails::Generators::NamedBase
  • Object
show all
Includes:
Rails::Generators::ResourceHelpers
Defined in:
lib/sharp_admin/sharp_admin_generator.rb

Instance Method Summary collapse

Instance Method Details

#add_resource_routeObject



51
52
53
54
55
56
57
# File 'lib/sharp_admin/sharp_admin_generator.rb', line 51

def add_resource_route
  return if not File.exists?("config/routes.rb")
  route_config =  "namespace #{options[:ns]}.to_sym do "
  route_config << "resources :#{file_name.pluralize}"
  route_config << " end"
  route route_config
end

#create_base_controllerObject



17
18
19
20
21
# 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_specObject



23
24
25
26
27
# 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_controllerObject



29
30
31
32
# 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_controller_rspecObject



34
35
36
# File 'lib/sharp_admin/sharp_admin_generator.rb', line 34

def create_controller_rspec
  template "controller_spec.rb", File.join("spec/controllers/#{options[:ns]}", "#{controller_file_name}_controller_spec.rb")
end

#create_helperObject



38
39
40
41
# File 'lib/sharp_admin/sharp_admin_generator.rb', line 38

def create_helper
  empty_directory "app/helpers/#{options[:ns]}"
  template "base_helper.rb", File.join("app/helpers/#{options[:ns]}", "base_helper.rb")
end

#create_viewsObject



43
44
45
46
47
48
49
# File 'lib/sharp_admin/sharp_admin_generator.rb', line 43

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