class Survey::SurveyGenerator
Constants
- TEMPLATES
Public Instance Methods
create_resolution()
click to toggle source
# File lib/generators/survey/survey_generator.rb, line 13 def create_resolution strategy = arguments.first if TEMPLATES.include? strategy send("generate_#{strategy}_resolution") success_message(strategy) else error_message(strategy) end end
Private Instance Methods
error_message(argument)
click to toggle source
Error Handlers
# File lib/generators/survey/survey_generator.rb, line 48 def error_message(argument) error_message = <<-CONTENT This Resolution: '#{argument}' is not supported by Survey: We only support Active Admin, Refinery and Active Scaffold CONTENT say error_message, :red end
generate_active_admin_resolution()
click to toggle source
# File lib/generators/survey/survey_generator.rb, line 25 def generate_active_admin_resolution copy_file "active_admin.rb", "app/admin/survey.rb" end
generate_plain_resolution()
click to toggle source
# File lib/generators/survey/survey_generator.rb, line 33 def generate_plain_resolution scope = get_scope template "survey_plain.rb", "app/controllers/#{scope}/surveys_controller.rb" template "attempts_plain.rb", "app/controllers/#{scope}/attempts_controller.rb" template "helper.rb", "app/helpers/#{scope}/surveys_helper.rb" directory "survey_views", "app/views/#{scope}/surveys", :recursive => true directory "attempts_views", "app/views/#{scope}/attempts", :recursive => true generate_routes_for(scope) end
generate_rails_admin_resolution()
click to toggle source
# File lib/generators/survey/survey_generator.rb, line 29 def generate_rails_admin_resolution copy_file "rails_admin.rb", "config/initializers/survey_rails_admin.rb" end
generate_routes_for(namespace, conditional=nil)
click to toggle source
# File lib/generators/survey/survey_generator.rb, line 60 def generate_routes_for(namespace, conditional=nil) content = <<-CONTENT namespace :#{namespace} do resources :surveys resources :attempts, :only => [:new, :create] end CONTENT inject_into_file "config/routes.rb", "\n#{content}", :after => "#{Rails.application.class.to_s}.routes.draw do" end
generate_routes_resolution()
click to toggle source
# File lib/generators/survey/survey_generator.rb, line 43 def generate_routes_resolution generate_routes_for(get_scope) end
get_scope()
click to toggle source
# File lib/generators/survey/survey_generator.rb, line 72 def get_scope arguments.size == 1 ? "admin" : arguments[1].split(":").last end
success_message(argument)
click to toggle source
# File lib/generators/survey/survey_generator.rb, line 56 def success_message(argument) say "Generation of #{argument.capitalize} Template Complete :) enjoy Survey", :green end