Class: SpreeCmCommissioner::Generators::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/spree_cm_commissioner/install/install_generator.rb

Instance Method Summary collapse

Instance Method Details

#add_migrationsObject



13
14
15
16
17
18
19
20
21
22
# File 'lib/generators/spree_cm_commissioner/install/install_generator.rb', line 13

def add_migrations
  gems = i[
    spree_multi_vendor
    spree_cm_commissioner
  ]

  gems.each do |gem|
    run "bundle exec rake railties:install:migrations FROM=#{gem}"
  end
end

#copy_nationalities_dataObject

it copy nationalities.yml to config/data before running the migration



9
10
11
# File 'lib/generators/spree_cm_commissioner/install/install_generator.rb', line 9

def copy_nationalities_data
  template 'config/data/nationalities.yml'
end

#install_adminObject



33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/generators/spree_cm_commissioner/install/install_generator.rb', line 33

def install_admin
  return unless Spree::Core::Engine.backend_available?

  inject_into_file 'vendor/assets/stylesheets/spree/backend/all.css', "\n *= require spree_cm_commissioner/backend",
                   after: %r{ *= require spree/backend}, verbose: true

  inject_into_file 'vendor/assets/javascripts/spree/backend/all.js', "\n//= require spree_cm_commissioner/backend",
                   after: %r{//= require spree/backend}, verbose: true

  # For NPM support
  template 'app/javascript/spree_cm_commissioner/utilities.js'
  inject_into_file 'app/javascript/spree-dashboard.js', "\nimport \"./spree_cm_commissioner/utilities.js\"",
                   after: %r{import "@spree/dashboard"}, verbose: true
end

#install_telegram_web_botObject



48
49
50
51
# File 'lib/generators/spree_cm_commissioner/install/install_generator.rb', line 48

def install_telegram_web_bot
  template 'vendor/assets/javascript/spree_cm_commissioner/telegram/all.js'
  template 'vendor/assets/stylesheets/spree_cm_commissioner/telegram/all.css'
end

#run_migrationsObject



24
25
26
27
28
29
30
31
# File 'lib/generators/spree_cm_commissioner/install/install_generator.rb', line 24

def run_migrations
  run_migrations = options[:migrate] || ['', 'y', 'Y'].include?(ask('Would you like to run the migrations now? [Y/n]'))
  if run_migrations
    run 'bundle exec rails db:migrate'
  else
    Rails.logger.debug 'Skipping rails db:migrate, don\'t forget to run it!'
  end
end