Class: Corzinus::CorzinusGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/corzinus/corzinus_generator.rb

Instance Method Summary collapse

Instance Method Details

#add_corzinus_routesObject



16
17
18
19
20
21
# File 'lib/generators/corzinus/corzinus_generator.rb', line 16

def add_corzinus_routes
  corzinus_route = 'mount Corzinus::Engine'
  return if File.readlines('config/routes.rb').grep(/#{corzinus_route}/).any?
  corzinus_route << " => '/cart'"
  route corzinus_route
end

#generate_migrationsObject



23
24
25
# File 'lib/generators/corzinus/corzinus_generator.rb', line 23

def generate_migrations
  rake 'corzinus:install:migrations'
end

#include_controller_methodsObject



56
57
58
59
60
61
62
63
64
# File 'lib/generators/corzinus/corzinus_generator.rb', line 56

def include_controller_methods
  path = 'app/controllers/application_controller.rb'
  return if File.readlines(path).grep(/include Corzinus::Controllable/).any?
  inject_into_file path, after: 'class ApplicationController < ActionController::Base' do
    insert = "\n"
    insert << "  include Corzinus::Controllable\n"
    insert << "  helper Corzinus::Engine.helpers\n"
  end
end

#include_model_relationshipObject



45
46
47
48
49
50
51
52
53
54
# File 'lib/generators/corzinus/corzinus_generator.rb', line 45

def include_model_relationship
  model_class = model_name.underscore.camelize
  path = "app/models/#{model_name.underscore}.rb"
  return if File.readlines(path).grep(/include Corzinus::Relatable::Order/).any?
  inject_into_file path, after: "class #{model_class} < ApplicationRecord" do
    insert = "\n"
    insert << "  include Corzinus::Relatable::Order\n"
    insert << "  has_orders\n"
  end
end

#require_javascriptsObject



27
28
29
30
31
32
33
34
# File 'lib/generators/corzinus/corzinus_generator.rb', line 27

def require_javascripts
  path = 'app/assets/javascripts/application.js'
  insert = '//= require corzinus'
  return if File.readlines(path).grep(insert).any?
  inject_into_file path, before: '//= require_tree .' do
    "#{insert}\n"
  end
end

#require_stylesheetsObject



36
37
38
39
40
41
42
43
# File 'lib/generators/corzinus/corzinus_generator.rb', line 36

def require_stylesheets
  path = 'app/assets/stylesheets/application.css'
  insert = '*= require corzinus'
  return if File.readlines(path).grep(insert).any?
  inject_into_file path, after: ' *= require_self' do
    "\n #{insert}"
  end
end

#run_migrationsObject



66
67
68
69
# File 'lib/generators/corzinus/corzinus_generator.rb', line 66

def run_migrations
  return if no? 'Do you want to run Corzinus migrations now?'
  rake 'db:migrate SCOPE=corzinus'
end