Class: RailsZen::WriteToMigration
Instance Attribute Summary
Attributes inherited from WriteToModel
#attr_type, #model_name, #name, #scope_attr, #type_based_validators, #validator
Instance Method Summary
collapse
#adding_to_file!
#validate_belongs_to, #validate_integer, #validate_numericality
Instance Method Details
#append_to_line(line) ⇒ Object
15
16
17
18
19
|
# File 'lib/rails_zen/write_to_files/write_to_migration.rb', line 15
def append_to_line(line)
gsub_file file_name, /t.#{attr_type}.+#{name}.*$/ do |match|
match = line
end
end
|
#file_name ⇒ Object
21
22
23
24
|
# File 'lib/rails_zen/write_to_files/write_to_migration.rb', line 21
def file_name
Dir.glob("db/migrate/*create_#{@model_name.pluralize}.rb")[0]
end
|
#write! ⇒ Object
6
7
8
9
10
11
12
13
14
|
# File 'lib/rails_zen/write_to_files/write_to_migration.rb', line 6
def write!
if @validator
line = send(@validator)
append_to_line(line)
end
if scope_attr.any?
inject_into_file file_name, "t.index #{scope_attr.to_s}\n", before: "t.timestamps"
end
end
|