class Shoestrap::CmsGenerator
Public Instance Methods
add_controller()
click to toggle source
# File lib/generators/shoestrap/cms_generator.rb, line 54 def add_controller generate 'controller', controller_name, " --controller-specs=no --view-specs=no" gsub_file "app/controllers/#{controller_name}_controller.rb", 'ApplicationController', 'Shoestrap::BaseController' end
add_model_and_migration()
click to toggle source
# File lib/generators/shoestrap/cms_generator.rb, line 30 def add_model_and_migration generate 'model', model_name, ARGV[1..-1].join(' ') inject_into_file "app/models/#{model_name}.rb", before: 'class' do "require 'shoestrap/cms_model'\n\n" end inject_into_file "app/models/#{model_name}.rb", before: 'end' do <<-eos.gsub(/^ {8}/, '').chomp include Shoestrap::CMSModel # TODO: Define what attributes are shown in the form and permitted by strong parameters editable_attributes #{attribute_keys_as_string} # TODO: Define what attributes are shown in the index view index_attributes #{attribute_keys_as_string} eos end end
add_resource_translations()
click to toggle source
# File lib/generators/shoestrap/cms_generator.rb, line 50 def add_resource_translations template 'translations/resource.yml.erb', "config/locales/de/#{model_name}.yml" end
add_route()
click to toggle source
# File lib/generators/shoestrap/cms_generator.rb, line 18 def add_route generate 'resource_route', resource_route_name end
set_up_shoestrap_cms()
click to toggle source
# File lib/generators/shoestrap/cms_generator.rb, line 9 def set_up_shoestrap_cms unless shoestrap_cms_already_installed? setup_base_controller setup_base_views setup_navigation setup_translation_file end end
Private Instance Methods
attribute_keys_as_string()
click to toggle source
# File lib/generators/shoestrap/cms_generator.rb, line 116 def attribute_keys_as_string ARGV[1..-1].map {|x| ":#{x.split(':').first}" }.join(', ') end
attributes()
click to toggle source
# File lib/generators/shoestrap/cms_generator.rb, line 112 def attributes ARGV[1..-1].map {|x| x.split(':').first } end
controller_name()
click to toggle source
# File lib/generators/shoestrap/cms_generator.rb, line 104 def controller_name "cms/#{plural_name}" end
model_name()
click to toggle source
# File lib/generators/shoestrap/cms_generator.rb, line 96 def model_name ARGV.first.downcase end
plural_name()
click to toggle source
# File lib/generators/shoestrap/cms_generator.rb, line 100 def plural_name model_name.pluralize end
resource_route_name()
click to toggle source
# File lib/generators/shoestrap/cms_generator.rb, line 92 def resource_route_name "cms/#{model_name}" end
route_name()
click to toggle source
# File lib/generators/shoestrap/cms_generator.rb, line 108 def route_name controller_name.gsub('/', '_') end
setup_base_controller()
click to toggle source
# File lib/generators/shoestrap/cms_generator.rb, line 65 def setup_base_controller empty_directory 'app/controllers/shoestrap' if kuhsaft_is_installed? template 'base_controller_with_kuhsaft.rb', 'app/controllers/shoestrap/base_controller.rb' else template 'base_controller_without_kuhsaft.rb', 'app/controllers/shoestrap/base_controller.rb' end end
setup_base_views()
click to toggle source
# File lib/generators/shoestrap/cms_generator.rb, line 74 def setup_base_views directory 'inherited_views', 'app/views/shoestrap' end
setup_translation_file()
click to toggle source
# File lib/generators/shoestrap/cms_generator.rb, line 87 def setup_translation_file empty_directory 'config/locales/de' copy_file 'translations/shoestrap_base.yml', 'config/locales/de/shoestrap_base.yml' end
shoestrap_cms_already_installed?()
click to toggle source
# File lib/generators/shoestrap/cms_generator.rb, line 61 def shoestrap_cms_already_installed? File.exists?('app/controllers/shoestrap/base_controller.rb') && File.exists?('config/cms_navigation.rb') end