Class: Cms::Generators::LoadGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/cms/load/load_generator.rb

Instance Method Summary collapse

Instance Method Details

#copy_application_layoutObject



18
19
20
# File 'lib/generators/cms/load/load_generator.rb', line 18

def copy_application_layout
  copy_file 'layouts/application.html.haml'
end

#copy_initializers_filesObject



8
9
10
11
12
# File 'lib/generators/cms/load/load_generator.rb', line 8

def copy_initializers_files
  initial_route = 'config/initializers/'
  copy_file "#{initial_route}mail.rb", "#{initial_route}mail.rb"
  copy_file "#{initial_route}omniauth.rb", "#{initial_route}omniauth.rb"
end

#copy_mailers_fileObject



14
15
16
# File 'lib/generators/cms/load/load_generator.rb', line 14

def copy_mailers_file
  copy_file 'mailers/notifier.rb', 'app/mailers/notifier.rb'
end

#create_helper_methodsObject



53
54
55
56
57
58
59
# File 'lib/generators/cms/load/load_generator.rb', line 53

def create_helper_methods
  inject_into_file 'app/helpers/application_helper.rb', after: 'ApplicationHelper' do
    "\n  def render_page
cms_render_page
  end"
  end
end

#create_notifier_folderObject



30
31
32
# File 'lib/generators/cms/load/load_generator.rb', line 30

def create_notifier_folder
  create_file 'app/notifier/mail_method.html.rb'
end

#load_config_to_send_mailObject



22
23
24
25
26
27
28
# File 'lib/generators/cms/load/load_generator.rb', line 22

def load_config_to_send_mail
  inject_into_file 'config/environments/development.rb', after: 'config.action_mailer.raise_delivery_errors = false' do
    "\n #change raise_delivery_errors false with true
  config.action_mailer.delivery_method = :smtp
  config.action_mailer.perform_deliveries = true"
  end
end

#load_initialObject



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/generators/cms/load/load_generator.rb', line 34

def load_initial
  inject_into_file 'app/controllers/application_controller.rb', after: 'protect_from_forgery with: :exception' do
    "\n  before_filter :load_initial\n
  def load_initial
    @init_twitter  = nil
    @init_github   = nil
    @init_facebook = nil
    @init_linkedin = nil
  end\n
  def is_login!
    if session[:user_id].nil?
redirect_to '/login', notice: 'You need login to load this section'
    elsif $current_user.nil?
  $current_user = User.find_by_id(session[:user_id])
    end
  end"
  end
end

#load_routesObject



61
62
63
64
65
66
67
68
69
70
# File 'lib/generators/cms/load/load_generator.rb', line 61

def load_routes
  inject_into_file 'config/routes.rb', after: 'Application.routes.draw do' do
    "
  post 'sessions/new', to: 'sessions#create'
  get 'sessions/destroy', to: 'sessions#logout'
  resources :users, only: [:create]
  get '/auth/:provider/callback', to: 'sessions#create'
  get '/auth/failure', to: 'sessions#failure'"
  end
end

#load_user_validatesObject



72
73
74
75
76
77
78
79
# File 'lib/generators/cms/load/load_generator.rb', line 72

def load_user_validates
  inject_into_file 'app/models/user.rb', after: 'Base' do
    "\n  has_secure_password
  validates :name, presence: true, uniqueness: true, length: { minimum: 5, maximum: 18}, format: {with: /[a-zA-Z\\s]/}
  validates :password, presence: true, length: { minimum: 8, maximum: 24}
  validates :email, presence: true, uniqueness: true, format: {with: /\\A([^@\\s]+)@((?:[-a-z0-9]+\\.)+[a-z]{2,})\\Z/i}"
  end
end