class KonoUtilsBootstrapView4::ConceptGenerator

Public Instance Methods

copy_templates() click to toggle source
# File lib/generators/kono_utils_bootstrap_view4/concept/concept_generator.rb, line 61
def copy_templates
  if options.field_selector
    template 'forms/field_selector.template', File.join(path, "cell", "forms", "field_selector.rb")
  end
  if options.form
    template 'form.template', File.join(path, "cell", "form.rb")
  end
end
field_selector() click to toggle source

Automatismo non completo, TO_COMPLETE class_option :generate_view, type: :boolean, default: false, desc: “Per la cella passata viene copiato la view” class_option :generate_class, type: :boolean, default: false, desc: “Per la cella passata viene copiata la classe”

def copy_cell

unless cell.blank?
  dirs = []

  dirs << ['cell', 'view', 'erb'] if options.generate_view
  dirs << ['cell', 'cell', 'rb'] if options.generate_class

  puts "Devi selezionare almeno uno dei generatori: --generate-view  o --generate-class" if dirs.empty?

  dirs.each do |c|

    component_to_override = "#{cell.gsub(/#{c[0]}/, c[1])}.#{c[2]}"
    path_src = File.join('app', 'concepts', 'kono_utils', component_to_override)

    path_dest = File.join('app', 'concepts', tableize(safe_constantize(model_name).name), component_to_override)

    puts path_src
    puts path_dest

    #copio i files
    copy_file(path_src, path_dest)

  end
end

end

# File lib/generators/kono_utils_bootstrap_view4/concept/concept_generator.rb, line 58
class_option :field_selector, type: :boolean, default: false, desc: "Copia il template per il selettore dei campi"
generate_folders() click to toggle source
# File lib/generators/kono_utils_bootstrap_view4/concept/concept_generator.rb, line 14
def generate_folders

  if safe_constantize(model_name)
    FileUtils.mkdir_p(File.join(path, 'cell'))
    FileUtils.mkdir_p(File.join(path, 'view'))
  else
    puts "Modello inesistente"
  end

end

Private Instance Methods

path() click to toggle source
# File lib/generators/kono_utils_bootstrap_view4/concept/concept_generator.rb, line 73
def path
  Rails.application.root.join('app', 'concepts', tableize(safe_constantize(model_name).name))
end