Class: Reins::Generators::ModelGenerator

Inherits:
Object
  • Object
show all
Defined in:
lib/reins/generators/model_generator.rb

Instance Method Summary collapse

Constructor Details

#initialize(name, fields = []) ⇒ ModelGenerator

Returns a new instance of ModelGenerator.



6
7
8
9
# File 'lib/reins/generators/model_generator.rb', line 6

def initialize(name, fields = [])
  @name = name
  @fields = fields.map { |f| f.split(":", 2) }
end

Instance Method Details

#model_class_nameObject



17
18
19
# File 'lib/reins/generators/model_generator.rb', line 17

def model_class_name
  @name.split("_").map(&:capitalize).join
end

#model_file_basenameObject



21
22
23
# File 'lib/reins/generators/model_generator.rb', line 21

def model_file_basename
  Reins.to_underscore(model_class_name)
end

#runObject



11
12
13
14
15
# File 'lib/reins/generators/model_generator.rb', line 11

def run
  write_model
  write_migration
  write_spec
end

#table_nameObject



25
26
27
# File 'lib/reins/generators/model_generator.rb', line 25

def table_name
  pluralize(model_file_basename)
end