Class: Generators::Avo::ResourceGenerator

Inherits:
NamedBaseGenerator
  • Object
show all
Defined in:
lib/generators/avo/resource_generator.rb

Instance Method Summary collapse

Methods inherited from NamedBaseGenerator

#initialize

Constructor Details

This class inherits a constructor from Generators::Avo::NamedBaseGenerator

Instance Method Details

#class_from_argsObject



42
43
44
# File 'lib/generators/avo/resource_generator.rb', line 42

def class_from_args
  @class_from_args ||= options["model-class"]&.camelize || (class_name if class_name.include?("::"))
end

#controller_classObject



24
25
26
# File 'lib/generators/avo/resource_generator.rb', line 24

def controller_class
  "Avo::#{class_name.remove(":").pluralize}Controller"
end

#controller_nameObject



32
33
34
# File 'lib/generators/avo/resource_generator.rb', line 32

def controller_name
  "#{model_resource_name.pluralize}_controller"
end

#createObject



15
16
17
18
# File 'lib/generators/avo/resource_generator.rb', line 15

def create
  template "resource/resource.tt", "app/avo/resources/#{resource_name}.rb"
  template "resource/controller.tt", "app/controllers/avo/#{controller_name}.rb"
end

#current_modelsObject



36
37
38
39
40
# File 'lib/generators/avo/resource_generator.rb', line 36

def current_models
  ActiveRecord::Base.connection.tables.map do |model|
    model.capitalize.singularize.camelize
  end
end

#model_class_from_argsObject



46
47
48
49
50
# File 'lib/generators/avo/resource_generator.rb', line 46

def model_class_from_args
  if class_from_args.present? || class_name.include?("::")
    "\n  self.model_class = ::#{class_from_args || class_name}"
  end
end

#resource_classObject



20
21
22
# File 'lib/generators/avo/resource_generator.rb', line 20

def resource_class
  "#{class_name.remove(":")}Resource"
end

#resource_nameObject



28
29
30
# File 'lib/generators/avo/resource_generator.rb', line 28

def resource_name
  "#{model_resource_name}_resource"
end