Class: KonoUtils::InstallGenerator

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

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.source_rootObject



13
14
15
# File 'lib/generators/kono_utils/install/install_generator.rb', line 13

def self.source_root
  @source_root ||= File.expand_path('../../../templates', __FILE__)
end

Instance Method Details

#append_gem_dependencyObject



40
41
42
43
44
# File 'lib/generators/kono_utils/install/install_generator.rb', line 40

def append_gem_dependency
  append_to_file 'Gemfile', "# gem 'codice_fiscale'"
rescue Exception => e
  puts e.message
end

#base_editing_installObject



54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/generators/kono_utils/install/install_generator.rb', line 54

def base_editing_install
  resp = ask "Vuoi che installi la struttura base del controller e base editing? y/n"
  if resp=='y'
    @controller_da_cui_derivare = ask("Controller da cui derivare il BaseEditingController?[RestrictedAreaController]")
    @controller_da_cui_derivare = "RestrictedAreaController" if @controller_da_cui_derivare.blank?
    template('base_editing_controller.template','app/controllers/base_editing_controller.rb')
    template('base_editing_helper.template','app/helpers/base_editing_helper.rb')
    template('base_editing_policy.template','app/policies/base_editing_policy.rb')
    say "Tutti i Controller che dovranno lavorare con il base editing dovranno derivare da BaseEditingController"
    say "Tutte le policy che dovranno lavorare con il base editing dovranno derivare da BaseEditingPolicy"
  end
end

#copy_filesObject

Generator Code. Remember this is just suped-up Thor so methods are executed in order



18
19
20
# File 'lib/generators/kono_utils/install/install_generator.rb', line 18

def copy_files
  copy_file 'initializer.rb', 'config/initializers/kono_utils.rb'
end

#install_active_record_traslation_on_application_recordObject



30
31
32
33
34
35
36
37
38
# File 'lib/generators/kono_utils/install/install_generator.rb', line 30

def install_active_record_traslation_on_application_record
  inject_into_file 'app/models/application_record.rb', "\n  include KonoUtils::Concerns::ActiveRecordTranslation\n", after: "ActiveRecord::Base"
  inject_into_file 'app/models/application_record.rb', "\n  include KonoUtils::Concerns::ActiveStorageRemoverHelper\n", after: "ActiveRecord::Base"
rescue Exception => e
  puts "Attenzione, includere a mano:
           - KonoUtils::Concerns::ActiveRecordTranslation
           - KonoUtils::Concerns::ActiveStorageRemoverHelper
        nel modello da cui darivano i modelli del base editing - #{e.message}"
end

#install_helper_on_application_helperObject



26
27
28
# File 'lib/generators/kono_utils/install/install_generator.rb', line 26

def install_helper_on_application_helper
  inject_into_file 'app/helpers/application_helper.rb', "\n  include KonoUtils::ApplicationHelper", after: "module ApplicationHelper"
end

#install_node_dependencyObject



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

def install_node_dependency
  pacchetti_yarn = ["underscore"]#"wolfy87-eventemitter",

  run "yarn add #{pacchetti_yarn.join(" ")}"
end

#install_punditObject



22
23
24
# File 'lib/generators/kono_utils/install/install_generator.rb', line 22

def install_pundit
  run "rails g pundit:install"
end