Class: DynamicActiveModel::TemplateClassFile
- Inherits:
-
Object
- Object
- DynamicActiveModel::TemplateClassFile
- Defined in:
- lib/dynamic-active-model/template_class_file.rb
Overview
DynamicActiveModel::TemplateClassFile creates ActiveRecord file for model
Instance Method Summary collapse
- #create_template!(dir) ⇒ Object
-
#initialize(model) ⇒ TemplateClassFile
constructor
A new instance of TemplateClassFile.
- #to_s ⇒ Object
Constructor Details
#initialize(model) ⇒ TemplateClassFile
Returns a new instance of TemplateClassFile.
6 7 8 |
# File 'lib/dynamic-active-model/template_class_file.rb', line 6 def initialize(model) @model = model end |
Instance Method Details
#create_template!(dir) ⇒ Object
10 11 12 13 |
# File 'lib/dynamic-active-model/template_class_file.rb', line 10 def create_template!(dir) file = dir + '/' + @model.name.underscore + '.rb' File.open(file, 'wb') { |f| f.write(to_s) } end |
#to_s ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/dynamic-active-model/template_class_file.rb', line 15 def to_s str = "class #{@model.name} < ActiveRecord::Base\n".dup str << " self.table_name = #{@model.table_name.to_sym.inspect}\n" unless @model.name.underscore.pluralize == @model.table_name all_has_many_relationships.each do |assoc| append_association!(str, assoc) end all_belongs_to_relationships.each do |assoc| append_association!(str, assoc) end str << "end\n" str end |