Class: Mynatra::Generators::Resource

Inherits:
Thor::Group
  • Object
show all
Includes:
Thor::Actions
Defined in:
lib/generators/resource.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.source_rootObject

Sets source root directory



45
46
47
# File 'lib/generators/resource.rb', line 45

def self.source_root
  File.dirname(__FILE__)
end

Instance Method Details

#create_controllerObject

Generate contoller.rb file



26
27
28
29
30
31
# File 'lib/generators/resource.rb', line 26

def create_controller
  @name_singular = name.singularize
  @name_plural = name.pluralize
  @attributes = attributes
  template("controllers/resource_controller.erb", "controllers/#{name}_controller.rb")
end

#create_modelObject

Generates model.rb file



15
16
17
18
19
20
21
22
23
# File 'lib/generators/resource.rb', line 15

def create_model
  @name_singular = name.singularize
  @name_plural = name.pluralize
  @attributes = attributes
  puts "This is what @name_singular looks like: #{@name_singular}"
  puts "This is what @name_plural looks like: #{@name_plural}"
  puts "This is what @attributes looks like: #{@attributes}"
  template("models/model.erb", "models/#{name}.rb")
end

#create_viewsObject

Generate views erb files (index, edit, new)



34
35
36
37
38
39
40
41
42
# File 'lib/generators/resource.rb', line 34

def create_views
  @name_singular = name.singularize
  @name_plural = name.pluralize
  @attributes = attributes
  template("views/header.erb", "views/header.erb")
  template("views/resource/edit.erb", "views/#{@name_plural}/edit.erb")
  template("views/resource/index.erb", "views/#{@name_plural}/index.erb")
  template("views/resource/new.erb", "views/#{@name_plural}/new.erb")
end