class Granule::Feature::DeviseSemantic
Constants
- APPLICATION_HTML_ERB_PATH
- APPLICATION_PATH
- DEVELOPMENT_PATH
- ROUTES_PATH
Public Class Methods
source_root()
click to toggle source
# File lib/granule/feature/devise_semantic.rb, line 45 def self.source_root "#{File.dirname(__FILE__)}/devise_semantic" end
Public Instance Methods
call()
click to toggle source
# File lib/granule/feature/devise_semantic.rb, line 14 def call check_files copy_file 'devise.rb', './config/initializers/devise.rb' copy_file 'user.rb', './app/models/user.rb' copy_file 'devise.en.yml', './config/locales/devise.en.yml' copy_file 'devise_create_users.rb', "./db/migrate/#{Time.now.strftime('%Y%m%d%H%m%S')}_devise_create_users.rb" uncomment_lines APPLICATION_PATH, %r{sprockets/railtie} directory 'views', './app/views' insert_into_file ROUTES_PATH, "\tdevise_for :users\n", after: "Rails.application.routes.draw do\n" insert_into_file APPLICATION_HTML_ERB_PATH, "\t\t<% if current_user %>\n"\ "\t\t\t<div class=\"ui pointing secondary menu\">\n"\ "\t\t\t\t<a class=\"active item\" href=\"/\">Home</a>\n"\ "\t\t\t\t<div class=\"right menu\">\n"\ "\t\t\t\t\t<%= link_to 'Logout', destroy_user_session_url, "\ "method: :delete, class: 'item' %>\n"\ "\t\t\t\t</div>\n"\ "\t\t\t</div>\n"\ "\t\t<% end %>\n", after: "<body>\n" insert_into_file DEVELOPMENT_PATH, "\tconfig.action_mailer.default_url_options = { host: 'localhost', port: 3000 }\n"\ "\tconfig.action_mailer.delivery_method = :letter_opener_web\n", after: "Rails.application.configure do\n" end
Private Instance Methods
check_files()
click to toggle source
# File lib/granule/feature/devise_semantic.rb, line 51 def check_files [APPLICATION_HTML_ERB_PATH, APPLICATION_PATH, DEVELOPMENT_PATH, ROUTES_PATH].each do |file_path| raise Granule::Error, "#{file_path} doesn't exist" unless File.file?(file_path) end end