Class: Guard::Migrate::Migration

Inherits:
Object
  • Object
show all
Defined in:
lib/guard/migrate/migration.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(_path) ⇒ Migration

Returns a new instance of Migration.



6
7
8
# File 'lib/guard/migrate/migration.rb', line 6

def initialize(_path)
  @path = _path
end

Instance Attribute Details

#pathObject

Returns the value of attribute path.



4
5
6
# File 'lib/guard/migrate/migration.rb', line 4

def path
  @path
end

Instance Method Details

#valid?Boolean

Returns:

  • (Boolean)


14
15
16
17
18
19
20
21
22
# File 'lib/guard/migrate/migration.rb', line 14

def valid?
  file = File.open(path, 'r')
  content = file.read.gsub(/\s+/, '')
  !content.empty? && content.match(/def(up|down|change)end/).nil?
rescue Errno::ENOENT
  false
ensure
  begin; file.close; rescue; end
end

#versionObject



10
11
12
# File 'lib/guard/migrate/migration.rb', line 10

def version
  path.scan(%r{^db/migrate/(\d+).+\.rb}).flatten.first
end