class Mi::Generators::MiGenerator
Public Instance Methods
doing()
click to toggle source
# File lib/generators/mi/mi_generator.rb, line 9 def doing migration_template('migration.rb.erb', "db/migrate/#{destination}.rb") end
Private Instance Methods
destination()
click to toggle source
# File lib/generators/mi/mi_generator.rb, line 47 def destination table, columns = *arg_groups.first c = { '+' => 'to', '-' => 'from', '%' => 'of', }[parse_column(columns.last)[:method]] [ columns.map{|c| to_dest(c)}.inject{|sum, x| sum.concat(['and', x].flatten)}, c, table.tableize, ].flatten.join('_') end
to_dest(col)
click to toggle source
# File lib/generators/mi/mi_generator.rb, line 33 def to_dest(col) parsed = parse_column(col) verb = case parsed[:method] when '+' 'add' when '-' 'remove' when '%' 'change' end [verb, parsed[:name]] end
to_method(table, col)
click to toggle source
@param [String] col +COL_NAME:TYPE:{OPTIONS}
# File lib/generators/mi/mi_generator.rb, line 20 def to_method(table, col) info = parse_column(col) res = "#{Methods[info[:method]]} :#{table}, :#{info[:name]}" return res unless info[:type] res << ", :#{info[:type]}" return res unless info[:options] res << ", #{info[:options][1..-2].gsub(':', ': ').gsub(',', ', ')}" res end