Class: Migrate::Lang::Python

Inherits:
Lang
  • Object
show all
Defined in:
lib/migrate/lang/python.rb

Instance Attribute Summary

Attributes inherited from Lang

#ext

Instance Method Summary collapse

Constructor Details

#initializePython

Returns a new instance of Python.



4
5
6
# File 'lib/migrate/lang/python.rb', line 4

def initialize
  @ext = "py"
end

Instance Method Details

#create_migration(dir) ⇒ Object



8
9
10
11
12
13
14
15
16
# File 'lib/migrate/lang/python.rb', line 8

def create_migration(dir)
  File.open("#{dir}/up.#{@ext}", "w") do |f|
    f.puts "# Here goes Python code for migration forward\n"
  end

  File.open("#{dir}/down.#{@ext}", "w") do |f|
    f.puts "# Here goes Python code for migration backward\n"
  end
end

#exec_migration(dir, is_up) ⇒ Object



18
19
20
21
22
# File 'lib/migrate/lang/python.rb', line 18

def exec_migration(dir, is_up)
  script = "#{dir}/#{is_up ? "up" : "down"}.#{@ext}"
  Log.info("Executing #{script}...")
  `python #{script}`
end