Sha256: d9a85fb2702197057f9b97e618ecf785e55ef3629aec52f4e38f819f7dc5735b

Contents?: true

Size: 707 Bytes

Versions: 1

Compression:

Stored size: 707 Bytes

Contents

module GoodMigrations
  class MigrationDetails
    attr_reader :path
    def initialize(path)
      @path = path
    end

    def self.currently_executing
      migrate_dir_path = Rails.root.join("db/migrate/").to_s

      loc = caller.detect { |loc| loc.start_with?(migrate_dir_path) }
      return if loc.nil?
      new(loc.partition(":").first)
    end

    def associated_time
      timestamp_string = File.basename(@path).partition("_").first
      return if timestamp_string.size != 14
      Time.parse(timestamp_string)
    end

    def considered_before?(time)
      return false if time.nil?
      my_time = associated_time
      return false if my_time.nil?
      my_time < time
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
good_migrations-0.2.0 lib/good_migrations/migration_details.rb