class ArgonAdminGenerator

Constants

ASSETS_TEXT
HELPER_TEXT
ROUTES_TEXT

Public Instance Methods

generate_admin_data() click to toggle source
# File lib/generators/argon_admin_generator.rb, line 46
def generate_admin_data
  insert_into_file "config/routes.rb", after: "Rails.application.routes.draw do\n" do
    ROUTES_TEXT
  end
  insert_into_file "app/helpers/application_helper.rb", after: "module ApplicationHelper\n" do
    HELPER_TEXT
  end
  directory "controllers", "app/controllers/admin/"
end
generate_assets() click to toggle source
# File lib/generators/argon_admin_generator.rb, line 28
def generate_assets
  copy_file "assets/stylesheets/admin.scss", "app/assets/stylesheets/admin.scss"
  copy_file "assets/javascripts/admin.js", "app/assets/javascripts/admin.js"
  directory "assets/images/admin", "app/assets/images/admin"
  append_to_file 'config/initializers/assets.rb' do
    ASSETS_TEXT
  end
end
generate_devise_data() click to toggle source
# File lib/generators/argon_admin_generator.rb, line 56
def generate_devise_data
  add_secret_key
  update_development_mailer_config
  update_seeds_file
end
generate_views() click to toggle source
# File lib/generators/argon_admin_generator.rb, line 37
def generate_views
  directory "layouts", "app/views/layouts"
  directory "views/pages", "app/views/admin/pages"
  directory "views/users", "app/views/admin/users"
  directory "views/shared", "app/views/admin/shared"
  directory "views/sessions", "app/views/devise/sessions"
  directory "views/kaminari", "app/views/kaminari"
end

Private Instance Methods

add_secret_key() click to toggle source
# File lib/generators/argon_admin_generator.rb, line 64
def add_secret_key
  secret = SecureRandom.hex(64)
  insert_into_file "config/initializers/devise.rb", after: "Devise.setup do |config|\n" do
    "config.secret_key = '#{secret}'"
  end
  gsub_file('config/initializers/devise.rb', "config.sign_out_via = :delete", "config.sign_out_via = :get")
end
update_development_mailer_config() click to toggle source
# File lib/generators/argon_admin_generator.rb, line 72
def update_development_mailer_config
  insert_into_file "config/environments/development.rb", after: "Rails.application.configure do\n" do
    "config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }\n"
  end
end
update_seeds_file() click to toggle source
# File lib/generators/argon_admin_generator.rb, line 78
def update_seeds_file
  append_to_file 'db/seeds.rb' do
    "User.create!(email: 'admin@example.com', password: '123456789', password_confirmation: '123456789')"
  end
end