class Mindapp::Generators::InstallGenerator
Public Class Methods
source_root()
click to toggle source
# File lib/generators/mindapp/install_generator.rb, line 5 def self.source_root File.dirname(__FILE__) + "/templates" end
Public Instance Methods
finish()
click to toggle source
# File lib/generators/mindapp/install_generator.rb, line 142 def finish puts "Mindapp installation finish, please run bundle install again to install additional gems. Then run rails generate mindapp:mongoid" end
gen_image_store()
click to toggle source
# File lib/generators/mindapp/install_generator.rb, line 110 def gen_image_store copy_file "cloudinary.yml","config/cloudinary.yml" empty_directory "upload" # create upload directory just in case end
gen_user()
click to toggle source
# File lib/generators/mindapp/install_generator.rb, line 106 def gen_user # copy_file "seeds.rb","db/seeds.rb" end
setup_app()
click to toggle source
# File lib/generators/mindapp/install_generator.rb, line 98 def setup_app inside("public") { run "mv index.html index.html.bak" } inside("app/views/layouts") { run "mv application.html.erb application.html.erb.bak" } inside("app/assets/javascripts") { run "mv application.js application.js.bak" } inside("app/assets/stylesheets") { run "mv application.css application.css.bak" } directory "app" end
setup_env()
click to toggle source
# File lib/generators/mindapp/install_generator.rb, line 22 def setup_env create_file 'README.md', '' # bug in mongo ruby driver 1.6.1, wait for mongoid 2.4.7 # gem "mongo", "1.5.1" # gem "bson_ext", "1.5.1" # gem "mongoid" # run "bundle install" # generate "rspec:install" inject_into_file 'config/application.rb', :after => 'require "active_resource/railtie"' do "\nrequire 'mongoid/railtie'\n" "\nrequire 'rexml/document'\n" end application do %q{ # Mindapp default config.generators do |g| g.orm :mongoid g.template_engine :haml g.test_framework :rspec g.integration_tool :rspec end # gmail config config.action_mailer.delivery_method = :smtp config.action_mailer.smtp_settings = { :address => "smtp.gmail.com", :port => 587, :user_name => 'user@gmail.com', :password => 'secret', :authentication => 'plain', :enable_starttls_auto => true } config.action_mailer.raise_delivery_errors = true config.action_mailer.perform_deliveries = true } end initializer "mindapp.rb" do %q{# encoding: utf-8 MM = "#{Rails.root}/app/mindapp/index.mm" DEFAULT_TITLE = 'Mindapp' DEFAULT_HEADER = 'Mindapp' GMAP = true NEXT = "Next >" # comment IMAGE_LOCATION to use cloudinary (specify params in config/cloudinary.yml) IMAGE_LOCATION = "upload" # for debugging # DONT_SEND_MAIL = true } end inject_into_file 'config/environment.rb', :after => "initialize!" do "\n\n# hack to fix cloudinary error https://github.com/archiloque/rest-client/issues/141" + "\nclass Hash\n remove_method :read\nrescue\nend" end inject_into_file 'config/environments/development.rb', :after => 'config.action_mailer.raise_delivery_errors = false' do "\n config.action_mailer.default_url_options = { :host => 'localhost:3000' }" end inject_into_file 'config/environments/production.rb', :after => 'config.assets.compile = false' do "\n config.assets.compile = true" end end
setup_gems()
click to toggle source
# File lib/generators/mindapp/install_generator.rb, line 115 def setup_gems gem "mongo" gem "bson_ext" # gem "mongo", '1.5.1' # gem "bson_ext", '1.5.1' # for Rails 4 gem 'mongoid', '~> 4.0.0' # gem "mongoid" gem "nokogiri" # use for mindapp/doc # gem "rmagick", :require => "RMagick", :platform => "ruby" gem 'haml-rails' gem "mail" gem "prawn" gem "redcarpet" gem 'bcrypt-ruby', '~> 3.0.0' gem 'omniauth-identity' gem 'cloudinary' gem 'kaminari' gem_group :development, :test do gem "debugger" gem "rspec" gem "rspec-rails" gem "better_errors" gem "binding_of_caller" end end
setup_omniauth()
click to toggle source
# File lib/generators/mindapp/install_generator.rb, line 82 def setup_omniauth # gem 'bcrypt-ruby', '~> 3.0.0' # gem 'omniauth-identity' initializer "omniauth.rb" do %q{ Rails.application.config.middleware.use OmniAuth::Builder do provider :identity, :fields => [:code, :email], :on_failed_registration=> lambda { |env| IdentitiesController.action(:new).call(env) } end } end end
setup_routes()
click to toggle source
# File lib/generators/mindapp/install_generator.rb, line 9 def setup_routes route "root :to => 'mindapp#index'" # route "match '/mindapp/init/:module/:service(/:id)' => 'Mindapp#init'" route "resources :identities" route "resources :sessions" route "post '/auth/:provider/callback' => 'sessions#create'" route "get '/auth/failure' => 'sessions#failure'" route "get '/logout' => 'sessions#destroy', :as => 'logout'" route "get ':controller(/:action(/:id))(.:format)'" route "post ':controller(/:action(/:id))(.:format)'" end