Class: Ditty::Generators::CrudGenerator
- Inherits:
-
Thor::Group
- Object
- Thor::Group
- Ditty::Generators::CrudGenerator
- Includes:
- Thor::Actions
- Defined in:
- lib/ditty/generators/crud_generator.rb
Instance Attribute Summary collapse
-
#controller_name ⇒ Object
readonly
, :file_name.
-
#folder ⇒ Object
readonly
, :file_name.
-
#model_name ⇒ Object
readonly
, :file_name.
-
#namespace ⇒ Object
readonly
, :file_name.
-
#policy_name ⇒ Object
readonly
, :file_name.
-
#views_folder ⇒ Object
readonly
, :file_name.
Class Method Summary collapse
Instance Method Summary collapse
- #create_controller ⇒ Object
- #create_model ⇒ Object
- #create_policy ⇒ Object
- #create_type ⇒ Object
- #create_views ⇒ Object
- #setup ⇒ Object
Instance Attribute Details
#controller_name ⇒ Object (readonly)
, :file_name
10 11 12 |
# File 'lib/ditty/generators/crud_generator.rb', line 10 def controller_name @controller_name end |
#folder ⇒ Object (readonly)
, :file_name
10 11 12 |
# File 'lib/ditty/generators/crud_generator.rb', line 10 def folder @folder end |
#model_name ⇒ Object (readonly)
, :file_name
10 11 12 |
# File 'lib/ditty/generators/crud_generator.rb', line 10 def model_name @model_name end |
#namespace ⇒ Object (readonly)
, :file_name
10 11 12 |
# File 'lib/ditty/generators/crud_generator.rb', line 10 def namespace @namespace end |
#policy_name ⇒ Object (readonly)
, :file_name
10 11 12 |
# File 'lib/ditty/generators/crud_generator.rb', line 10 def policy_name @policy_name end |
#views_folder ⇒ Object (readonly)
, :file_name
10 11 12 |
# File 'lib/ditty/generators/crud_generator.rb', line 10 def views_folder @views_folder end |
Class Method Details
.source_root ⇒ Object
18 19 20 |
# File 'lib/ditty/generators/crud_generator.rb', line 18 def self.source_root File.dirname(__FILE__) end |
Instance Method Details
#create_controller ⇒ Object
36 37 38 39 40 41 |
# File 'lib/ditty/generators/crud_generator.rb', line 36 def create_controller filename = File.join("lib/#{folder}/controllers", "#{controller_name.underscore}.rb") template '../templates/controller.rb.erb', filename # TODO: Insert the route into the component file # insert_into_file 'config.ru', "use #{class_name}\n", after: 'run ApplicationController\n' end |
#create_model ⇒ Object
31 32 33 34 |
# File 'lib/ditty/generators/crud_generator.rb', line 31 def create_model filename = File.join("lib/#{folder}/models", "#{model_name.underscore}.rb") template '../templates/model.rb.erb', filename end |
#create_policy ⇒ Object
43 44 45 46 |
# File 'lib/ditty/generators/crud_generator.rb', line 43 def create_policy filename = File.join("lib/#{folder}/policies", "#{policy_name.underscore}.rb") template '../templates/policy.rb.erb', filename end |
#create_type ⇒ Object
48 49 50 51 |
# File 'lib/ditty/generators/crud_generator.rb', line 48 def create_type filename = File.join("lib/#{folder}/types", "#{model_name.underscore}_type.rb") template '../templates/type.rb.erb', filename end |
#create_views ⇒ Object
53 54 55 56 57 |
# File 'lib/ditty/generators/crud_generator.rb', line 53 def create_views return unless [:views] directory '../templates/views', views_folder end |
#setup ⇒ Object
22 23 24 25 26 27 28 29 |
# File 'lib/ditty/generators/crud_generator.rb', line 22 def setup @namespace = name.deconstantize @folder = namespace.underscore @model_name = name.demodulize @views_folder = File.join('views', model_name.pluralize.underscore) @controller_name = "#{model_name.pluralize}Controller" @policy_name = "#{model_name}Policy" end |