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