14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
# File 'lib/generators/rseed/converter.rb', line 14
def create_files
converter_dir = File.join("app", "rseed")
seed_dir = File.join("db", "rseed")
Dir.mkdir(converter_dir) unless File.directory?(converter_dir)
@model_name = file_name
@class_name = class_name
@model = eval(@class_name)
@columns = @model.columns_hash.except "id", "created_at", "updated_at"
@relationships = {}
@model.reflect_on_all_associations.each do |relationship|
if relationship.macro == :belongs_to
@relationships[relationship.name] = relationship
@columns.delete(relationship.foreign_key)
end
end
@converter_name = options.converter_name || @class_name
@match_attribute = options.attribute
@minimal = options.minimal
template 'converter.rb.erb', File.join(converter_dir, "#{@converter_name.underscore}_converter.rb")
Dir.mkdir(seed_dir) unless File.directory?(seed_dir)
template 'data.csv.erb', File.join(seed_dir, "#{@converter_name.underscore.pluralize}.csv")
end
|